/* Mein Profil – Login / Registrieren (page-anmelden.php) */

/* Volle Viewport-Höhe: bei wenig Inhalt bleibt der Footer unten (main ist kein direktes Kind von .ff-content-wrap) */
body.page-template-page-anmelden-php .ff-content-wrap,
body.ff-profil-account-shell .ff-content-wrap {
    background: #fff !important;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-height: 0;
}

body.page-template-page-anmelden-php,
body.ff-profil-account-shell {
    background: #fff;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

body.admin-bar.page-template-page-anmelden-php,
body.admin-bar.ff-profil-account-shell {
    min-height: calc(100vh - 32px);
    min-height: calc(100dvh - 32px);
}

@media screen and (max-width: 782px) {
    body.admin-bar.page-template-page-anmelden-php,
    body.admin-bar.ff-profil-account-shell {
        min-height: calc(100vh - 46px);
        min-height: calc(100dvh - 46px);
    }
}

body.page-template-page-anmelden-php #ff-footer,
body.ff-profil-account-shell #ff-footer {
    flex-shrink: 0;
}

/* Keine Hub-Zeile (Übersicht/DE/INT) unter der Hauptnav — Layout wie Mockup: direkt Inhalt */
body.page-template-page-anmelden-php .ff-subnav-wrap,
body.ff-profil-account-shell .ff-subnav-wrap {
    display: none !important;
}

/*
 * style.css: .ff-main hat padding 32px 40px — würde „Mein Profil“ nach innen schieben.
 * Ohne dieses Padding: gleiche linke Kante wie ul.ff-menu / ff-subnav-inner (mit „News“ auf einer Linie).
 */
body.page-template-page-anmelden-php main.ff-main.ff-mein-profil-page,
body.ff-profil-account-shell main.ff-main.ff-mein-profil-page {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    /* Wie .ff-main-nav: gleiche horizontale Einrückung wie „News“ / ul.ff-menu */
    padding-left: clamp(16px, 3vw, 40px);
    padding-right: clamp(16px, 3vw, 40px);
    padding-top: clamp(12px, 2vw, 26px);
    padding-bottom: 0;
    box-sizing: border-box;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
}

/* Gleiche Content-Spalte wie ul.ff-menu / .ff-subnav-inner */
body.page-template-page-anmelden-php .ff-mein-profil-page .ff-mp-wrap,
body.ff-profil-account-shell .ff-mein-profil-page .ff-mp-wrap {
    width: 100%;
    max-width: min(var(--ff-layout-max, 1000px), calc(100% - 2 * var(--ff-layout-gutter, 48px)));
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 768px) {
    body.page-template-page-anmelden-php main.ff-main.ff-mein-profil-page,
    body.ff-profil-account-shell main.ff-main.ff-mein-profil-page {
        padding-top: 14px;
    }
}

.ff-mein-profil-page {
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #222;
    background: #fff;
}

.ff-mein-profil-page .ff-mp-wrap {
    max-width: min(var(--ff-layout-max, 1000px), calc(100% - 2 * var(--ff-layout-gutter, 48px)));
    margin: 0 auto;
    padding: 8px var(--ff-layout-gutter, clamp(16px, 4vw, 48px)) 48px;
    box-sizing: border-box;
    flex: 1 1 auto;
}

.ff-mp-page-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-bottom: clamp(44px, 6.5vw, 64px);
    text-align: left;
}

.ff-mp-subnav {
    width: 100%;
    align-self: stretch;
    padding: 0;
    box-sizing: border-box;
}

/* Figma „Beiträge/Titel Desk“: Barlow Semi Condensed 25px / 600 / Zeilenhöhe 100 % */
.ff-mp-title {
    margin: 0 0 20px;
    width: 100%;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
    color: #222;
    box-sizing: border-box;
}

/* Nur bei Gast: Subnav startet mit Icon → Titel bündig zum Subnav-Text */
body:not(.logged-in) .ff-mein-profil-page .ff-mp-title {
    padding-left: 19px;
}

body.logged-in .ff-mein-profil-page .ff-mp-title {
    padding-left: 0;
}

/* Figma Frame 1220: display flex row, align-items center, padding 0, gap 18px */
.ff-mp-subnav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    box-sizing: border-box;
}

.ff-mp-subnav-list > li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

/* Figma „Kategorien Desk“: Barlow Semi Condensed 15px / 400 / Zeilenhöhe 100 % */
.ff-mp-subnav-link {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding: 0;
    margin: 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #313131;
    text-decoration: none;
    border: none;
    box-sizing: border-box;
    /* Wie .ff-menu a: nur Farbe, kein font-weight-Transition (Umschlag 500/700 bzw. 400/700 sofort) */
    transition: color 0.2s;
}

/* Text + Unterstrich; bei allen Einträgen gleiche Struktur → eine Text-Baseline */
.ff-mp-subnav-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    row-gap: 3px;
    line-height: 1;
    min-width: 0;
}

.ff-mp-subnav-label-text {
    display: block;
    line-height: 1;
    font-weight: 400;
    transition: color 0.2s;
}

/* Breitenreserve für 700 wie Hauptnav (siehe .ff-menu a::after) */
.ff-mp-subnav-label-text[data-ff-ghost]::after {
    content: attr(data-ff-ghost);
    display: block;
    font-weight: 700;
    font-size: inherit;
    line-height: 1;
    letter-spacing: inherit;
    font-family: inherit;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    white-space: nowrap;
}

/* Kein scaleX-„Aufladen“ – wie Hauptnav: Strich erscheint sofort (Hintergrund umschalten) */
.ff-mp-subnav-rule {
    flex-shrink: 0;
    height: 2px;
    width: 100%;
    background: transparent;
    border-radius: 0;
}

.ff-mp-subnav-link--active .ff-mp-subnav-rule {
    background: #b43526;
}

.ff-mp-subnav-link--active .ff-mp-subnav-label-text {
    color: #000;
    font-weight: 700;
}

/*
 * Icon-Slot: gleiche Mindesthöhe wie FF+-Badge → eine Zeile mit reiner Text-Leiste.
 */
.ff-mp-subnav-icon-slot {
    flex-shrink: 0;
    width: 1.2em;
    min-height: 22px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 0;
    margin: 0;
    padding-bottom: 0;
}

.ff-mp-subnav-icon-slot .ff-mp-subnav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.ff-mp-subnav-icon-slot svg {
    display: block;
    width: 15px;
    height: 15px;
}

.ff-mp-subnav-icon-slot--plus {
    width: auto;
    min-width: 0;
    min-height: 22px;
    align-items: center;
    padding-bottom: 0;
}

.ff-mp-subnav-icon-slot--plus .ff-plus-mark {
    display: block;
    height: 22px;
    width: auto;
    max-height: none;
    transform: translateY(-3px);
}

.ff-mp-subnav-link--active {
    color: #000;
}

/* Wie Hauptnav: Hover → rot + 700, aktiver Reiter unverändert sichtbar */
@media (hover: hover) {
    .ff-mp-subnav-link:not(.ff-mp-subnav-link--active):hover,
    .ff-mp-subnav-link:not(.ff-mp-subnav-link--active):hover .ff-mp-subnav-label-text {
        color: #000;
    }

    .ff-mp-subnav-link:not(.ff-mp-subnav-link--active):hover .ff-mp-subnav-label-text {
        font-weight: 700;
    }

    .ff-mp-subnav-link:not(.ff-mp-subnav-link--active):hover .ff-mp-subnav-rule {
        background: #b43526;
    }

    .ff-mp-subnav-link--active:hover,
    .ff-mp-subnav-link--active:hover .ff-mp-subnav-label-text {
        color: #000;
    }

    .ff-mp-subnav-link--active:hover .ff-mp-subnav-label-text {
        font-weight: 700;
    }

    .ff-mp-subnav-link--active:hover .ff-mp-subnav-rule {
        background: #b43526;
    }
}

.ff-mp-subnav-link:focus-visible {
    color: #000;
    outline: 2px solid #b43526;
    outline-offset: 2px;
    border-radius: 2px;
}

.ff-mp-subnav-link:focus-visible .ff-mp-subnav-label-text {
    color: #000;
    font-weight: 700;
}

.ff-mp-subnav-link:not(.ff-mp-subnav-link--active):focus-visible .ff-mp-subnav-rule,
.ff-mp-subnav-link--active:focus-visible .ff-mp-subnav-rule {
    background: #b43526;
}

@media (prefers-reduced-motion: reduce) {
    .ff-mp-subnav-link,
    .ff-mp-subnav-label-text {
        transition: none;
    }
}

/* Login-Pfeil: bündig zur ersten Textzeile (nicht zur ganzen Spalte inkl. Unterstrich) */
.ff-mp-subnav-link:has(.ff-mp-subnav-icon-slot:not(.ff-mp-subnav-icon-slot--plus)) {
    gap: 3px;
    align-items: flex-start;
}

.ff-mp-subnav-icon-slot:not(.ff-mp-subnav-icon-slot--plus) {
    min-height: 1em;
    align-self: flex-start;
    align-items: center;
}

.ff-mp-subnav-icon-slot:not(.ff-mp-subnav-icon-slot--plus) svg {
    transform: translateY(-0.5px);
}

.ff-mp-subnav-link--ffplus {
    gap: 3px;
}

.ff-mp-subnav-icon--plus {
    line-height: 0;
}

/* Reiter nur Text (z. B. Mein FF): gleiche Spaltenbreite wie Icon-Slot */
.ff-mp-subnav-icon-slot--text {
    display: inline-flex;
    width: 16px;
    min-width: 16px;
    min-height: 1em;
    flex-shrink: 0;
    align-self: flex-start;
}

.ff-mp-subnav-link--meinff,
.ff-mp-subnav-link--einst {
    align-items: flex-start;
}

.ff-mp-notice {
    max-width: 520px;
    margin: 0 0 20px;
    padding: 12px 14px;
    font-size: 0.9375rem;
    background: #f6f6f8;
    border: 1px solid #e0e0e3;
    border-radius: 8px;
    text-align: left;
}

.ff-mp-card {
    max-width: 400px;
    margin: 0 auto;
    padding: 0 8px 32px;
}

/* Mein FF / Einstellungen: Abstand Subnav → erste Zeile */
.ff-mein-profil-page .ff-mp-wrap:has(> .ff-mp-card--meinff) .ff-mp-page-head,
.ff-mein-profil-page .ff-mp-wrap:has(> .ff-mp-card--einst) .ff-mp-page-head,
.ff-mein-profil-page .ff-mp-wrap:has(> .ff-mp-card--benutzer) .ff-mp-page-head {
    margin-bottom: clamp(28px, 4.2vw, 48px);
}

.ff-mein-profil-page .ff-mp-card--meinff,
.ff-mein-profil-page .ff-mp-card--einst {
    /* volle Inhaltsbreite; Schalter-Fluch nur in .ff-mp-meinff-inhalt-list (Mein FF) */
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0 0 40px;
    box-sizing: border-box;
    background: #fff;
    color: #1d1b20;
}

/* ——— Einstellungen: Schrift / Dunkel / Benachrichtigungen ——— */
#ff-einst-panel-schrift:not([hidden]),
#ff-einst-panel-dunkel:not([hidden]),
#ff-einst-panel-push:not([hidden]) {
    padding-top: 4px;
    padding-bottom: 8px;
}

.ff-einst-schrift {
    /* Vorschau-Skalierung: --einst-raw nur auf #ff-einst-schrift-previews (siehe unten), nicht Accordion/Reiter */
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Kleine AA | Bahn | großes AA: 15px = wie Trigger-Label, ch misst h-Position; geringer Abstand SVG↔Balken; Zeile startet links */
.ff-einst-schrift-slider-row {
    display: grid;
    grid-template-columns: auto minmax(100px, 168px) auto;
    align-items: center;
    justify-content: start;
    column-gap: 2px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 0 6px;
    padding: 0 0 0 1.25ch;
    font-size: 15px;
    box-sizing: border-box;
}

.ff-einst-aa {
    line-height: 0;
    color: #000;
    display: flex;
    align-items: center;
    align-self: center;
    justify-content: center;
}

.ff-einst-aa--sm .ff-einst-aa-svg {
    display: block;
    width: 19px;
    height: auto;
}

.ff-einst-aa--lg {
    transform: none;
    transform-origin: center center;
}

.ff-einst-aa--lg .ff-einst-aa-svg {
    display: block;
    width: 27px;
    height: auto;
}

.ff-einst-range-outer {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 168px;
    padding: 0;
    box-sizing: border-box;
    z-index: 0;
    align-self: center;
}

.ff-einst-range {
    display: block;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 28px;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    cursor: pointer;
    box-sizing: border-box;
}

.ff-einst-range:focus {
    outline: none;
}

.ff-einst-range:focus-visible {
    outline: 2px solid #b43526;
    outline-offset: 4px;
    border-radius: 4px;
}

/* Track: links bis Stufe rot #B43526, Rest hellgrau; --einst-range-fill per JS: 0/50/100% */
.ff-einst-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(
        to right,
        #b43526 0%,
        #b43526 var(--einst-range-fill, 0%),
        #d4d0cc var(--einst-range-fill, 0%),
        #d4d0cc 100%
    );
}

.ff-einst-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin-top: -7.5px;
    border: none;
    border-radius: 50%;
    background: #b43526;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.ff-einst-range::-moz-range-track {
    width: 100%;
    height: 3px;
    background: #d4d0cc;
    border-radius: 2px;
    border: 0;
}

.ff-einst-range::-moz-range-progress {
    height: 3px;
    background: #b43526;
    border-radius: 2px 0 0 2px;
}

.ff-einst-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: #b43526;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.ff-einst-schrift-cols {
    --einst-raw: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 24px;
    row-gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 36px 0 0;
    padding: 0;
    box-sizing: border-box;
}

.ff-einst-schrift-col {
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}

.ff-einst-schrift-col-head {
    /* Fest: nur der Text unter der Linie skaliert mit --einst-raw (.ff-einst-schrift-preview) */
    max-width: 340px;
    width: 100%;
    min-height: 0;
    margin: 0 0 0 0;
    padding: 4px 0 16px 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #7a6f6b;
    border: none;
    border-bottom: 1px solid #1a1a1a;
    box-sizing: border-box;
}

.ff-einst-schrift-cat,
.ff-einst-schrift-title,
.ff-einst-schrift-teaser,
.ff-einst-schrift-body {
    margin: 0 0 0.4em;
    letter-spacing: 0;
    text-align: left;
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
    transition: font-size 0.08s ease;
}

.ff-einst-schrift-preview {
    margin-top: 28px;
    box-sizing: border-box;
}

.ff-einst-schrift-cat {
    color: #b43526;
    font-family: 'Barlow Condensed', 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: calc(14px + (var(--einst-raw) - 1) * 0.5px);
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: none;
    margin-top: 0;
    margin-bottom: 0.9em;
}

.ff-einst-schrift-title {
    color: #1d1b20;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: calc(17px + (var(--einst-raw) - 1) * 0.5px);
    font-style: normal;
    font-weight: 600;
    line-height: 1.08;
    margin-top: 0;
    margin-bottom: 0.85em;
    max-width: 100%;
    overflow-wrap: normal;
    word-wrap: normal;
}

.ff-einst-schrift-title br {
    line-height: inherit;
}

.ff-einst-schrift-teaser {
    color: #1d1b20;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: calc(15px + (var(--einst-raw) - 1) * 0.5px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.08;
    margin-top: 0;
    margin-bottom: 0.35em;
    overflow-wrap: normal;
    word-wrap: normal;
}

.ff-einst-schrift-preview--artikel .ff-einst-schrift-body {
    color: #1d1b20;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: calc(16px + (var(--einst-raw) - 1) * 0.5px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.1;
    text-align: left;
    white-space: normal;
    hyphens: none;
    -webkit-hyphens: none;
    margin: 0;
    overflow-wrap: normal;
    word-wrap: normal;
    word-break: normal;
}

@media (max-width: 560px) {
    .ff-einst-schrift-cols {
        grid-template-columns: 1fr;
        row-gap: 8px;
    }

    .ff-einst-schrift-col + .ff-einst-schrift-col {
        padding-top: 20px;
        margin-top: 12px;
    }

    .ff-einst-schrift-slider-row {
        grid-template-columns: auto 1fr auto;
    }

    .ff-einst-range-outer {
        max-width: 100%;
    }
}

/* ——— Einstellungen: Dunkelmodus (An / Aus / System, Standard System) ——— */
.ff-einst-dunkel {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 0 1.25ch;
    box-sizing: border-box;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
}

.ff-einst-dunkel-option {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    color: #000;
}

.ff-einst-dunkel-option + .ff-einst-dunkel-option {
    margin-top: 10px;
}

.ff-einst-dunkel-input {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0.01;
}

.ff-einst-dunkel-row {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    min-height: 20px;
    box-sizing: border-box;
    border-radius: 4px;
    max-width: 100%;
}

.ff-einst-dunkel-text {
    flex: 0 1 auto;
    min-width: 0;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
}

.ff-einst-dunkel-input:checked + .ff-einst-dunkel-row .ff-einst-dunkel-text {
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
}

.ff-einst-dunkel-check {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0;
    min-width: 0;
    height: 10px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    color: #000;
}

.ff-einst-dunkel-input:checked + .ff-einst-dunkel-row .ff-einst-dunkel-check {
    margin-left: 4px;
    width: 14px;
    min-width: 14px;
    overflow: visible;
    opacity: 1;
}

.ff-einst-dunkel-check-svg {
    display: block;
}

.ff-einst-dunkel-input:focus-visible + .ff-einst-dunkel-row {
    outline: 2px solid #b43526;
    outline-offset: 2px;
}

/* ——— Einstellungen: Benachrichtigungen (2 Spalten, Toggle wie Mein FF 28×14) ——— */
.ff-einst-bn {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 0 1.25ch;
    box-sizing: border-box;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
}

.ff-einst-bn-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(10px, 2.5vw, 20px);
    row-gap: 12px;
    width: 100%;
    min-width: 0;
    align-items: start;
    box-sizing: border-box;
}

/* Figma „Frame 1301“: Spalte = column, gap 14px, max. 308px */
.ff-einst-bn-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: flex-start;
    padding: 0;
    gap: 14px;
    width: 100%;
    max-width: 308px;
    min-width: 0;
    box-sizing: border-box;
    flex: none;
}

.ff-einst-bn-title {
    margin: 0;
    padding: 0;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
}

.ff-einst-bn-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    flex: none;
}

/* Figma „Frame 1299“: space-between, gap 20px, Toggles rechts bündig pro Spalte */
.ff-einst-bn-row {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    min-height: 20px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    color: #1d1b20;
}

.ff-einst-bn-item-label {
    flex: 1 1 auto;
    align-self: stretch;
    min-width: 0;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
    padding: 0;
    box-sizing: border-box;
    text-align: left;
}

.ff-einst-bn-toggle-wrap {
    position: relative;
    display: inline-flex;
    flex: 0 0 28px;
    flex-grow: 0;
    flex-shrink: 0;
    align-items: center;
    align-self: flex-start;
    justify-content: flex-end;
    width: 28px;
    height: 14px;
    margin: 2px 0 0;
    cursor: pointer;
    box-sizing: border-box;
}

.ff-einst-bn-toggle {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
    opacity: 0.01;
}

.ff-einst-bn-toggle-slider {
    display: block;
    position: relative;
    width: 28px;
    height: 14px;
    background: #e0e0e3;
    border-radius: 7px;
    flex-shrink: 0;
    transition: background 0.2s ease;
    pointer-events: none;
}

.ff-einst-bn-toggle-slider::after {
    content: '';
    position: absolute;
    top: 1px;
    right: 0;
    width: 12px;
    height: 12px;
    background: #2b2b2b;
    border-radius: 50%;
    transition: transform 0.2s ease, background 0.2s ease;
}

.ff-einst-bn-toggle:focus-visible + .ff-einst-bn-toggle-slider {
    outline: 2px solid #b43526;
    outline-offset: 2px;
}

.ff-einst-bn-toggle:checked + .ff-einst-bn-toggle-slider {
    background: #ebd4d4;
}

.ff-einst-bn-toggle:checked + .ff-einst-bn-toggle-slider::after {
    background: #b43526;
    transform: translateX(-15px);
}

@media (max-width: 560px) {
    .ff-einst-bn-cols {
        grid-template-columns: 1fr;
    }
}

/* Rechte Flucht der Toggles mit „E“ von Einstellungen (Breite per ff-mein-profil.js) */
.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-list {
    max-width: min(100%, var(--ff-meinff-bis-einst, 100%));
    width: 100%;
    box-sizing: border-box;
}

body:not(.logged-in) .ff-mein-profil-page .ff-mp-meinff-list {
    padding-left: 19px;
}

.ff-mp-meinff-list {
    list-style: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

/* Accordion-Zeile: Label + Chevron dicht beieinander (kein Subgrid bis zum Rand) */
@supports (grid-template-columns: subgrid) {
    .ff-mp-meinff-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 20px;
        align-items: start;
    }

    .ff-mp-meinff-section {
        display: contents;
    }

    .ff-mp-meinff-trigger {
        grid-column: 1;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        cursor: pointer;
        text-align: left;
        font: inherit;
        color: #1d1b20;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
    }

    .ff-mp-meinff-item-label {
        flex: 0 1 auto;
        min-width: 0;
    }

    .ff-mp-meinff-chevron {
        flex: 0 0 auto;
        flex-shrink: 0;
    }

    .ff-mp-meinff-panel {
        grid-column: 1;
    }
}

@supports not (grid-template-columns: subgrid) {
    .ff-mp-meinff-list {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }

    .ff-mp-meinff-section {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .ff-mp-meinff-trigger {
        display: inline-flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 6px;
        width: max-content;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        cursor: pointer;
        text-align: left;
        font: inherit;
        color: #1d1b20;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
        white-space: nowrap;
    }
}

/*
 * Einstellungen: kein display:contents-Subgrid — sonst rücken die Reiterzeilen mit der Schrift-Vorschau mit.
 * Trigger wie Mein FF: Label + Chevron dicht beieinander (flex-start, gap 6px), nicht space-between.
 */
.ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-list {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
}

.ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-section {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    /* wie Subgrid-Listen-Zeile: Abstand Trigger → Panel (war row-gap: 20px der Liste) */
    gap: 20px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-trigger {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-item-label {
    flex: 0 1 auto;
    min-width: 0;
    text-align: left;
}

.ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-chevron {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-panel {
    width: 100%;
    min-width: 0;
    align-self: stretch;
}

/* Theme-Reset: Subgrid-Trigger nicht überschreiben (display bleibt grid im Subgrid-Fall) */
html body .ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-trigger,
html body .ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-trigger:hover,
html body .ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-trigger:focus,
html body .ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-trigger:active,
html body .ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-trigger,
html body .ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-trigger:hover,
html body .ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-trigger:focus,
html body .ff-mein-profil-page .ff-mp-card--einst .ff-mp-meinff-trigger:active {
    -webkit-appearance: none;
    appearance: none;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #1d1b20;
}

.ff-mp-meinff-trigger:hover .ff-mp-meinff-item-label,
.ff-mp-meinff-trigger:focus-visible .ff-mp-meinff-item-label {
    color: #b43526;
}

.ff-mp-meinff-trigger:focus-visible {
    outline: 2px solid #b43526;
    outline-offset: 2px;
    border-radius: 2px;
}

.ff-mp-meinff-item-label {
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-weight: 500;
    font-style: normal;
    line-height: 17px;
    min-height: 17px;
    letter-spacing: 0;
    color: #1d1b20;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
    max-width: none;
    width: auto;
    white-space: nowrap;
}

.ff-mp-meinff-chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    width: 12px;
    height: 17px;
    box-sizing: border-box;
}

.ff-mp-meinff-chevron svg {
    display: block;
    overflow: visible;
    pointer-events: none;
    transform-origin: 50% 55%;
    transition: transform 0.2s ease;
    backface-visibility: hidden;
    will-change: transform;
}

.ff-mp-meinff-section.is-open .ff-mp-meinff-chevron svg {
    transform: rotate(180deg);
}

.ff-mp-meinff-panel {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ff-mp-meinff-panel[hidden] {
    display: none !important;
}

.ff-mp-meinff-panel:not([hidden]) {
    display: block;
    padding: 0 0 4px;
    background: #fff;
    color: #1d1b20;
    /* kein clip: sonst wird die Lead-Zeile (nowrap) am Rand abgeschnitten */
    overflow-x: visible;
    overflow-y: visible;
    min-width: 0;
}

/* Text 1 + Text 2: kleine Lücke dazwischen (Figma: Zeilenhöhe 100 %, Zeichen 0 %) */
.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 20px;
    box-sizing: border-box;
    overflow: visible;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-line {
    margin: 0;
    max-width: 100%;
    width: 100%;
    min-width: 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-style: normal;
    letter-spacing: 0;
    color: #1d1b20;
    text-align: left;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-line--lead {
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: visible;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-line--body {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: break-word;
    word-break: normal;
    overflow: visible;
}

/* Merkliste: nur Text, kein Listen-Block — unteren Abstand der Copy reduzieren */
.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-merkliste-copy {
    margin-bottom: 0;
}

.ff-mp-meinff-inhalt-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Toggle rechts fix (bündig zur Kartenkante per --ff-meinff-bis-einst), 28px + 2px Puffer */
.ff-mp-meinff-inhalt-row {
    position: relative;
    display: block;
    align-items: center;
    min-height: 28px;
    padding: 2px 30px 2px 0;
    box-sizing: border-box;
    border: 0;
    width: 100%;
    min-width: 0;
    margin: 0;
    cursor: pointer;
}

.ff-mp-meinff-inhalt-row--sub {
    padding-left: 24px;
}

/* Sportart: Fußball / Eishockey — fetter als DE/International (gleiche Toggle-Zeilen wie Inhalte) */
.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-row--sport .ff-mp-meinff-inhalt-label {
    font-weight: 600;
}

/* Mehr Abstand nur zwischen Oberpunkten; Deutschland/International bleiben dicht untereinander */
.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-inhalt-list > .ff-mp-meinff-inhalt-row:not(.ff-mp-meinff-inhalt-row--sub):not(:first-child) {
    margin-top: 16px;
}

.ff-mp-meinff-inhalt-label {
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: 0;
    color: #1d1b20;
    min-width: 0;
    display: block;
    padding-right: 4px;
}

/* Mein-FF-Subnav: schmalerer Switch wie Hub, aber enger (28×14) */
.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle-wrap {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-end;
    width: 28px;
    height: 14px;
    cursor: pointer;
    margin: 0;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle-slider {
    display: block;
    position: relative;
    width: 28px;
    height: 14px;
    background: #e0e0e3;
    border-radius: 7px;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle-slider::after {
    content: '';
    position: absolute;
    top: 1px;
    right: 0;
    width: 12px;
    height: 12px;
    background: #2b2b2b;
    border-radius: 50%;
    transition: transform 0.2s ease, background 0.2s ease;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle:focus-visible + .ff-mp-meinff-toggle-slider {
    outline: 2px solid #b43526;
    outline-offset: 2px;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle:checked + .ff-mp-meinff-toggle-slider {
    background: #ebd4d4;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-meinff-toggle:checked + .ff-mp-meinff-toggle-slider::after {
    background: #b43526;
    transform: translateX(-15px);
}

/* Mein FF → Vereine: gleiche A–Z-Struktur wie Seite „Vereine“; Zeile kein Link; Uhr + Favorit-Stern */
.ff-mein-profil-page .ff-mp-verein-wrap {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-top: 4px;
}

.ff-mein-profil-page .ff-mp-card--meinff .ff-mp-verein-wrap .ff-vereine-search {
    margin-bottom: 20px;
}

/*
 * Mein Profil → Vereine: ein Button wechselt mehr/weniger — feste Zeilenhöhe, kein Layout-Sprung.
 * Farbe: schwarz im Ruhezustand / nach Klick (kein „klebender“ :focus-Rot aus ff-vereine.css); nur Hover rot.
 */
.ff-mein-profil-page #ff-mp-verein-grid button.ff-mp-verein-more-toggle {
    min-height: 19px;
    line-height: 19px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
    transition: color 0.15s ease;
    color: #000;
}

.ff-mein-profil-page #ff-mp-verein-grid button.ff-mp-verein-more-toggle:focus {
    color: #000;
    outline: none;
}

.ff-mein-profil-page #ff-mp-verein-grid button.ff-mp-verein-more-toggle:hover {
    color: #b43526;
}

.ff-mein-profil-page #ff-mp-verein-grid button.ff-mp-verein-more-toggle:focus-visible {
    outline: 2px solid #b43526;
    outline-offset: 2px;
}

/* Nach „mehr“: Listen-Höhe = wie bei 5 Zeilen (JS); Scrollbalken innen in der Spalte, ohne Breite zu strecken */
.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] {
    align-items: stretch;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-group-inner {
    min-height: 0;
    width: 100%;
    align-self: stretch;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list {
    height: var(--ff-mp-verein-scroll-h, 240px);
    max-height: var(--ff-mp-verein-scroll-h, 240px);
    min-height: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-self: stretch;
    padding-inline-end: 2px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    /* Thumb Markenrot (#b43526); Schiene weiß (Firefox + WebKit-Track) */
    scrollbar-color: #b43526 #ffffff;
    scrollbar-gutter: stable;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar {
    width: 8px;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 4px;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-thumb {
    background: #b43526;
    border-radius: 4px;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-thumb:hover {
    background: #8b231a;
}

/* Pfeil-Flächen oben/unten (WebKit/Blink — nur wo der Browser echte Buttons rendert) */
.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-button:single-button {
    display: block;
    height: 12px;
    width: 8px;
    background-color: #b43526;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 7px 7px;
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-button:single-button:vertical:decrement {
    border-radius: 4px 4px 0 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 8l-8 8h16z'/%3E%3C/svg%3E");
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-button:single-button:vertical:increment {
    border-radius: 0 0 4px 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 16l8-8H4z'/%3E%3C/svg%3E");
}

.ff-mein-profil-page #ff-mp-verein-grid .ff-vereine-group[data-ff-meinff-expanded="1"] .ff-vereine-list::-webkit-scrollbar-button:single-button:hover {
    background-color: #8b231a;
}

.ff-mein-profil-page .ff-mp-verein-item.ff-vereine-item {
    cursor: default;
    flex-wrap: wrap;
    row-gap: 8px;
    align-items: center;
    -webkit-tap-highlight-color: transparent;
}

.ff-mein-profil-page .ff-mp-verein-item.ff-vereine-item:hover,
.ff-mein-profil-page .ff-mp-verein-item.ff-vereine-item:focus {
    background: transparent;
}

.ff-mein-profil-page .ff-mp-verein-item.ff-vereine-item:hover .ff-vereine-name,
.ff-mein-profil-page .ff-mp-verein-item.ff-vereine-item:focus-visible .ff-vereine-name {
    color: #000;
}

.ff-mein-profil-page .ff-mp-verein-item .ff-vereine-name {
    flex: 1 1 0;
    min-width: 0;
}

.ff-mein-profil-page .ff-mp-verein-trail {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 4px 8px;
    flex: 0 0 auto;
    margin-left: auto;
    min-width: 0;
}

.ff-mein-profil-page .ff-mp-verein-item .ff-vereine-fav {
    margin-left: 0;
}

.ff-mein-profil-page .ff-mp-verein-mitteilungen {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    box-shadow: none;
    cursor: pointer;
    line-height: 0;
    color: #000;
    -webkit-tap-highlight-color: transparent;
    flex: none;
}

.ff-mein-profil-page .ff-mp-verein-mitteilungen:focus-visible {
    outline: 2px solid #b43526;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Tabs + Formulare: eine Grid-Zeile für Panels → Höhe = max(Register, Login), kein Sprung */
#ff-mein-profil-forms {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-content: start;
}

#ff-mein-profil-forms > .ff-mp-tabs {
    grid-column: 1;
    grid-row: 1;
}

#ff-mein-profil-forms > .ff-mp-panel {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
}

/* hidden darf nicht display:none — sonst kollabiert die Zeilenhöhe */
#ff-mein-profil-forms > .ff-mp-panel[hidden] {
    display: block !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 0;
}

#ff-mein-profil-forms > .ff-mp-panel:not([hidden]) {
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
}

/* Benutzerdaten-Seite: Wrap füllt die Höhe, Karte 356px zentriert, Abmelden unten */
body.page-template-page-anmelden-php .ff-mein-profil-page .ff-mp-wrap:has(> .ff-mp-card--benutzer),
body.ff-profil-account-shell .ff-mein-profil-page .ff-mp-wrap:has(> .ff-mp-card--benutzer) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    align-items: stretch;
}

/* Figma „Frame 1285“: Benutzerdaten (Spalte, Abstand, Typo) */
.ff-mein-profil-page .ff-mp-card--benutzer {
    max-width: min(100%, 356px);
    width: 100%;
    margin: 0 auto;
    padding: 0 0 clamp(16px, 3vw, 32px);
    text-align: left;
    box-sizing: border-box;
    background: #fff;
    color: #1d1b20;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 auto;
    min-height: 0;
}

.ff-mp-daten {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: 356px;
    gap: 20px;
    box-sizing: border-box;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    flex: 0 0 auto;
}

.ff-mp-daten-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ff-mp-daten-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}

.ff-mp-daten-k {
    display: block;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
}

.ff-mp-daten-v {
    display: block;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ff-mein-profil-page .ff-mp-daten-action {
    flex: 0 0 auto;
    align-self: flex-end;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-underline-position: from-font;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ff-mein-profil-page .ff-mp-daten-action:hover,
.ff-mein-profil-page .ff-mp-daten-action:focus-visible {
    color: #b43526;
    text-decoration-color: #b43526;
    outline: none;
    text-decoration: underline;
}

.ff-mein-profil-page .ff-mp-daten-action:focus-visible {
    border-radius: 2px;
    box-shadow: 0 0 0 2px #b43526;
}

.ff-mp-daten-logout {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(20px, 4vw, 40px) 0 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0;
    leading-trim: none;
    color: #313131;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    flex: 0 0 auto;
    align-self: center;
}

.ff-mp-daten-logout:hover {
    color: #000;
}

.ff-mp-daten-logout:focus-visible {
    color: #000;
    outline: 2px solid #b43526;
    outline-offset: 2px;
    border-radius: 2px;
}

.ff-mp-daten-logout-svg {
    display: block;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    color: #313131;
}

.ff-mp-daten-logout:hover .ff-mp-daten-logout-svg,
.ff-mp-daten-logout:focus-visible .ff-mp-daten-logout-svg {
    color: currentColor;
}

.ff-mp-tabs {
    display: flex;
    width: 100%;
    margin-bottom: 28px;
    border-bottom: 1px solid #e8e8eb;
    -webkit-tap-highlight-color: transparent;
}

.ff-mein-profil-page .ff-mp-tabs:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

/* Figma: 16px; aktiv nur Stärke 500 — gleiche Schriftgröße verhindert Tab-Sprung */
.ff-mp-tab {
    flex: 1;
    margin: 0;
    padding: 14px 8px 12px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #313131;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
    transition: color 0.15s ease, border-color 0.15s ease, font-weight 0.15s ease;
}

.ff-mp-tab:hover,
.ff-mp-tab:active {
    color: #000;
    background: transparent !important;
}

html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-tab,
html body .ff-mein-profil-page button.ff-mp-tab {
    outline: none !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
}

html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-tab:focus,
html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-tab:focus-visible,
html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-tab:focus-within,
html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-tab:active,
html body .ff-mein-profil-page button.ff-mp-tab:focus,
html body .ff-mein-profil-page button.ff-mp-tab:focus-visible,
html body .ff-mein-profil-page button.ff-mp-tab:focus-within,
html body .ff-mein-profil-page button.ff-mp-tab:active {
    outline: none !important;
    outline-width: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
}

.ff-mein-profil-page .ff-mp-tab::-moz-focus-inner {
    border: 0 !important;
    padding: 0;
}

.ff-mein-profil-page .ff-mp-tab--active {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    border-bottom-color: #1a1a1a;
}

.ff-mein-profil-page .ff-mp-tab:not(.ff-mp-tab--active) {
    border-bottom-color: transparent;
    font-size: 16px;
    font-weight: 400;
    color: #313131;
}

.ff-mp-form {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Honeypot (ff_mp_company): nur für Bots im DOM, für normale Nutzer unsichtbar und nicht fokussierbar */
.ff-mein-profil-page .ff-mp-hp-wrap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    pointer-events: none !important;
}

.ff-mein-profil-page .ff-mp-hp-wrap .ff-mp-hp-input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

/* AGB-Checkbox: Fließtext Desk — Barlow 16 / 400 / Regular, Zeilenhöhe 100 %, Label vertikal mittig */
.ff-mp-legal-check {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin: 4px 0 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    color: #313131;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ff-mp-legal-check:focus-within {
    outline: none;
}

.ff-mp-legal-input {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #b43526;
    cursor: pointer;
}

.ff-mein-profil-page .ff-mp-legal-input:focus,
.ff-mein-profil-page .ff-mp-legal-input:focus-visible {
    outline: none;
}

.ff-mp-legal-text {
    display: block;
    flex: 1;
    min-width: 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
}

.ff-mp-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #313131;
    margin-bottom: -6px;
}

.ff-mp-input {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
    color: #222;
    background: #fff;
    border: 1px solid #d4d4d8;
    border-radius: 8px;
    box-sizing: border-box;
    transition: border-color 0.15s ease;
    /* Vertikal mittig bei fester Höhe (Inhaltshöhe 48 − 2px Rahmen) */
    line-height: 46px;
}

.ff-mp-input::placeholder {
    color: #8e8e93;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
}

.ff-mp-input:hover {
    border-color: #b8b8bf;
}

.ff-mp-input:focus {
    outline: none;
    border-color: #313131;
}

.ff-mp-pass-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.ff-mp-pass-wrap .ff-mp-input--pass {
    padding-right: 48px;
}

.ff-mp-pass-toggle {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    border-radius: 0;
    color: #313131;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
}

.ff-mp-pass-toggle:hover,
.ff-mp-pass-toggle:active {
    background: transparent !important;
    background-color: transparent !important;
}

/* Icon nutzt currentColor — Parent-Themes setzen teils button:hover { color: #fff } */
html body .ff-mein-profil-page .ff-mp-pass-toggle:hover,
html body .ff-mein-profil-page .ff-mp-pass-toggle:active,
html body .ff-mein-profil-page .ff-mp-pass-toggle:focus,
html body .ff-mein-profil-page .ff-mp-pass-toggle:focus-visible {
    color: #313131 !important;
}

/* Reine Füll-Icons: kein erzwungener Strich (sonst doppelt dick + Abschnitt am Rand) */
.ff-mein-profil-page .ff-mp-pass-toggle svg path[fill='currentColor'] {
    fill: #313131 !important;
    stroke: none !important;
}

html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-pass-toggle,
html body .ff-mein-profil-page button.ff-mp-pass-toggle {
    outline: none !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
}

html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-pass-toggle:focus,
html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-pass-toggle:focus-visible,
html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-pass-toggle:focus-within,
html body.page-template-page-anmelden-php .ff-mein-profil-page button.ff-mp-pass-toggle:active,
html body .ff-mein-profil-page button.ff-mp-pass-toggle:focus,
html body .ff-mein-profil-page button.ff-mp-pass-toggle:focus-visible,
html body .ff-mein-profil-page button.ff-mp-pass-toggle:focus-within,
html body .ff-mein-profil-page button.ff-mp-pass-toggle:active {
    outline: none !important;
    outline-width: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
}

.ff-mein-profil-page .ff-mp-pass-toggle::-moz-focus-inner {
    border: 0 !important;
    padding: 0;
}

.ff-mein-profil-page .ff-mp-pass-toggle svg {
    pointer-events: none;
    outline: none !important;
    overflow: visible;
}

.ff-mp-pass-toggle .ff-mp-eye svg {
    display: block;
}

.ff-mp-pass-toggle .ff-mp-eye--hide svg {
    width: 20px;
    height: 18px;
}

.ff-mp-pass-toggle .ff-mp-eye--show svg {
    width: 20px;
    height: 14px;
}

/* Figma Button: Barlow Semi Condensed 16 / 400, Zeile 100 %, eng, radius 2px */
.ff-mp-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 30px;
    padding: 5px 23px 6px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-sizing: border-box;
    transition: background 0.15s ease, color 0.15s ease;
}

.ff-mp-btn--primary {
    margin-top: 6px;
    width: auto;
    align-self: center;
    background: #b43526;
    color: #fff;
}

.ff-mp-btn--primary:hover:not(:disabled) {
    background: #942c20;
}

.ff-mp-btn--primary:disabled {
    background: #c4c4c8;
    color: #f5f5f6;
    cursor: not-allowed;
    opacity: 1;
}

.ff-mp-btn--secondary {
    background: #f2f2f4;
    color: #222;
    border: 1px solid #e0e0e3;
}

.ff-mp-btn--secondary:hover {
    background: #e8e8eb;
}

.ff-mp-btn--ghost {
    background: transparent;
    color: #313131;
    border: 1px solid #d4d4d8;
}

.ff-mp-btn--ghost:hover {
    background: #fafafa;
}

.ff-mp-forgot {
    margin: 8px 0 0;
    text-align: center;
    font-size: 0.9375rem;
}

.ff-mp-forgot a {
    color: #313131;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ff-mp-forgot a:hover {
    color: #000;
}

.ff-mp-muted {
    margin: 0;
    font-size: 0.9375rem;
    color: #6b6b70;
    text-align: center;
}

/* FF+ / Abonnieren-Reiter (?tab=ffplus) */
.ff-mp-card--ffplus {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ff-mp-ffplus-title {
    margin: 0 0 28px;
    padding: 0;
    width: 100%;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #000;
}

.ff-mp-ffplus-title-line {
    display: block;
}

.ff-mp-ffplus-title-line + .ff-mp-ffplus-title-line {
    margin-top: 4px;
}

.ff-mp-ffplus-list {
    list-style: none;
    margin: 0 auto 28px;
    padding: 0;
    width: fit-content;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    align-self: center;
    text-align: left;
}

.ff-mp-ffplus-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.ff-mp-ffplus-check {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    line-height: 0;
}

.ff-mp-ffplus-check svg {
    display: block;
}

/* „H2“-Stil laut Vorgabe */
.ff-mp-ffplus-item-text {
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #000;
    flex: 0 1 auto;
}

.ff-mp-btn--kaufen.ff-mp-btn--primary {
    font-size: 17px;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 28px;
}

.ff-mp-ffplus-legal {
    width: 100%;
    align-self: stretch;
    margin: 0;
    padding: 0;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
    color: #222;
}

.ff-mp-ffplus-legal p {
    margin: 0 0 12px;
}

.ff-mp-ffplus-legal p:last-child {
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .ff-mp-title {
        font-size: 22px;
        font-weight: 600;
        line-height: 1;
    }

    .ff-mp-subnav-list {
        gap: 18px;
    }

    .ff-mp-subnav-link {
        font-size: 0.875rem;
    }
}

/* Registrierungs-Flow: Stammdaten + E-Mail-Hinweis */
.ff-reg-flow {
    margin: 0 auto;
    width: 100%;
}

/* Stammdaten: zwei Spalten à236px + horizontaler Spalten-Gap (Nachname/Telefon weiter rechts) */
.ff-reg-flow--daten {
    max-width: 536px;
    box-sizing: border-box;
}

.ff-reg-flow--daten .ff-reg-h1 {
    margin: 0 0 20px;
    text-align: center;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1;
    color: #222;
}

.ff-reg-intro {
    text-align: center;
    margin: 0 0 28px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: 0;
    color: #222;
}

.ff-reg-intro-block {
    margin: 0;
}

.ff-reg-intro-line {
    display: block;
}

.ff-reg-intro-line + .ff-reg-intro-line {
    margin-top: 0.12em;
}

.ff-reg-intro-block--gap {
    margin-top: 1.1rem;
}

.ff-reg-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
}

.ff-reg-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}

/* Anrede: mehr Luft Überschrift ↔ Radio-Zeile und Radio-Block ↔ darunterliegende Felder */
.ff-reg-field:has(.ff-reg-radio-row) {
    gap: 26px;
    margin-bottom: 18px;
}

/* Anzeigename: exakt dieselbe Raster-Spalte wie Vorname (236px) */
.ff-reg-row--anzeigename {
    display: grid;
    grid-template-columns: minmax(0, 236px);
    justify-content: start;
    align-items: start;
}

/* Fließtext/Desk Medium — Feldüberschriften & Anrede */
.ff-reg-label {
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-weight: 500;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    color: #222;
}

.ff-reg-req {
    color: #b43526;
}

/* Eingabefelder: Optik für alle; Breite 100% nur für normale Felder (DOB schmal) */
html body .ff-reg-flow--daten .ff-reg-input,
html body.ff-profil-account-shell .ff-reg-flow--daten .ff-reg-input {
    height: 42px;
    flex: none;
    padding: 0 12px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 19px;
    letter-spacing: 0;
    color: #222;
    background-color: #fff !important;
    background: #fff !important;
    border: 1px solid #d4d4d8;
    border-radius: 8px !important;
    box-sizing: border-box;
    vertical-align: middle;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

html body .ff-reg-flow--daten .ff-reg-input:not(.ff-reg-input--dob):not(.ff-reg-input--dob-year),
html body.ff-profil-account-shell .ff-reg-flow--daten .ff-reg-input:not(.ff-reg-input--dob):not(.ff-reg-input--dob-year) {
    width: 100%;
}

html body .ff-reg-flow--daten .ff-reg-field > .ff-reg-input:not(.ff-reg-input--dob):not(.ff-reg-input--dob-year) {
    max-width: 100%;
}

html body .ff-reg-flow--daten .ff-reg-input::placeholder {
    color: #c3c3c3;
    opacity: 1;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 19px;
}

html body .ff-reg-flow--daten .ff-reg-input:focus {
    outline: none;
    border-color: #313131;
    background-color: #fff !important;
}

.ff-reg-row--2 {
    display: grid;
    grid-template-columns: minmax(0, 236px) minmax(0, 236px);
    gap: 16px 64px;
    justify-content: start;
    align-items: start;
}

.ff-reg-row--2 .ff-reg-input {
    max-width: 236px;
    width: 100%;
}

@media (max-width: 600px) {
    .ff-reg-row--2 {
        grid-template-columns: 1fr;
    }

    .ff-reg-row--2 .ff-reg-input {
        max-width: none;
    }

    .ff-reg-row--anzeigename {
        grid-template-columns: 1fr;
    }

    .ff-reg-flow--daten .ff-reg-h1 {
        font-size: 22px;
    }
}

.ff-reg-radio-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    align-items: center;
}

.ff-reg-radio {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    color: #222;
    cursor: pointer;
}

.ff-reg-radio input[type='radio'] {
    width: 22px;
    height: 22px;
    margin: 0;
    flex-shrink: 0;
    accent-color: #b43526;
    cursor: pointer;
    vertical-align: middle;
}

.ff-reg-dob {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
}

/* Schmale DOB-Felder nebeneinander — gleiche Spezifität wie Theme-Inputs */
html body .ff-reg-flow--daten .ff-reg-input.ff-reg-input--dob,
html body.ff-profil-account-shell .ff-reg-flow--daten .ff-reg-input.ff-reg-input--dob {
    width: 44px;
    max-width: 44px;
    min-width: 44px;
    flex: none;
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
}

html body .ff-reg-flow--daten .ff-reg-input.ff-reg-input--dob-year,
html body.ff-profil-account-shell .ff-reg-flow--daten .ff-reg-input.ff-reg-input--dob-year {
    width: 56px;
    max-width: 56px;
    min-width: 56px;
    flex: none;
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
}

.ff-reg-submit {
    margin-top: 20px;
    align-self: center;
}

.ff-reg-flow--email {
    text-align: center;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

/* E-Mail-Hinweis: Titel = Beiträge/Titel App 25 / 600 */
.ff-reg-email-h1 {
    margin: 0 0 24px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 25px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #222;
}

/* E-Mail-Adresse: Fließtext Desk Medium 17 / 500 */
.ff-reg-email-addr {
    margin: 0 0 32px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #222;
}

/* Fließtext 17 / 400 */
.ff-reg-email-text {
    max-width: 520px;
    margin: 0 auto 32px;
    font-family: 'Barlow Semi Condensed', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    color: #222;
    text-align: center;
}

.ff-reg-email-text p {
    margin: 0 0 14px;
}

.ff-reg-email-text p:last-child {
    margin-bottom: 0;
}

a.ff-reg-btn-weiter {
    text-decoration: none;
}

/* „weiter“: Fließtext/App normal 17 / 400 + Pfeil-SVG */
.ff-reg-btn-weiter.ff-mp-btn {
    font-size: 17px;
    line-height: 100%;
    font-weight: 400;
}

.ff-reg-btn-weiter-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ff-reg-btn-weiter-arrow svg {
    display: block;
}
