/* 123Maklerfrei – Start-Layout (ohne Vite/Tailwind-Build nutzbar) */
:root {
    /* Markenfarben 123Maklerfrei */
    --mf-navy: #0d2c48;
    --mf-turquoise: #04acc3;
    --mf-teal-deep: #098097;
    --mf-accent-orange: #f9921c;
    --mf-surface: #f4f6f8;
    --mf-white: #fff;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body.mf-start {
    margin: 0;
    min-height: 100vh;
    font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    color: var(--mf-navy);
    background: var(--mf-white);
    -webkit-font-smoothing: antialiased;
    overflow-x: clip;
}

/* Login/Register: ablenkungsfrei (ohne Site-Header/Footer), volle Viewport-Höhe */
body.mf-guest-standalone {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.mf-guest-standalone .mf-footer__bar--auth {
    flex-shrink: 0;
    width: 100%;
    border-top: 1px solid rgba(10, 37, 64, 0.12);
    background: #fff;
}

.mf-guest-standalone__main {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
}

body.mf-guest-standalone.mf-page-auth .mf-guest-standalone__main {
    min-height: 100dvh;
    min-height: 100vh;
}

/* Nicht .mf-auth-page--split: Flex für volle Höhe. Split nutzt unten explizit Grid. */
body.mf-guest-standalone .mf-auth-page:not(.mf-auth-page--split) {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
}

body.mf-guest-standalone .mf-auth-page.mf-auth-page--split {
    flex: 1 1 auto;
    display: grid;
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
    align-self: stretch;
}

[x-cloak] {
    display: none !important;
}

/* Dashboard (eigener Header, Login-ähnlicher Footer) */
/* Gesamter Viewport: einheitlich für alle /dashboard-Seiten; Header/Footbar bleiben weiß */
body.mf-start.mf-page-dashboard {
    background: #fcfdfc;
}

body.mf-page-dashboard {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    /* Primär-Aktionen nur im Dashboard (Profil, Sicherheit) */
    --tw-bg-opacity: 1;
    --mf-dashboard-primary: rgb(43 127 255 / var(--tw-bg-opacity, 1));
    --mf-dashboard-primary-hover: rgb(32 110 220);
    --mf-dashboard-primary-shadow: rgba(43, 127, 255, 0.28);
    /* Einheitliches „Button-Blau“ statt Baby-Türkis (Akzente, Charts, Links) */
    --mf-dashboard-ui-ink: #1a5fd0;
    --mf-dashboard-ui-ink-2: rgb(32, 100, 200);
    --mf-dashboard-ui-06: rgba(43, 127, 255, 0.06);
    --mf-dashboard-ui-10: rgba(43, 127, 255, 0.1);
    --mf-dashboard-ui-12: rgba(43, 127, 255, 0.12);
    --mf-dashboard-ui-15: rgba(43, 127, 255, 0.15);
    --mf-dashboard-ui-18: rgba(43, 127, 255, 0.18);
    --mf-dashboard-ui-25: rgba(43, 127, 255, 0.25);
    --mf-dashboard-ui-28: rgba(43, 127, 255, 0.28);
    --mf-dashboard-ui-32: rgba(43, 127, 255, 0.32);
    --mf-dashboard-ui-40: rgba(43, 127, 255, 0.4);
    --mf-dashboard-ui-45: rgba(43, 127, 255, 0.45);
    --mf-dashboard-ui-50: rgba(43, 127, 255, 0.5);
    --mf-dashboard-ui-55: rgba(43, 127, 255, 0.55);
    --mf-dashboard-ui-focus-ring: rgba(43, 127, 255, 0.22);
    --mf-dashboard-avatar-bg: rgba(43, 127, 255, 0.1);
    --mf-dashboard-avatar-border: rgba(43, 127, 255, 0.32);
    --mf-dashboard-avatar-text: #1c4ead;
    --mf-dashboard-chart-2: rgb(32, 100, 200);
}

.mf-page-dashboard .mf-dashboard-body {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    background: transparent;
}

.mf-page-dashboard .mf-footer__bar--auth {
    flex-shrink: 0;
    width: 100%;
    border-top: 1px solid rgba(10, 37, 64, 0.12);
    background: #fff;
}

.mf-dashboard-header {
    position: sticky;
    top: 0;
    z-index: 50;
    isolation: isolate;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}

.mf-dashboard-header__inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1400px;
    padding: 0 1rem;
}

@media (min-width: 640px) {
    .mf-dashboard-header__inner {
        padding: 0 1.5rem;
    }
}

@media (min-width: 1024px) {
    .mf-dashboard-header__inner {
        padding: 0 2rem;
    }
}

/* Eine Zeile: Logo | (Nav + Nutzer) — kein flex-wrap, kein „Stacken“ */
.mf-dashboard-header__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    min-height: 4rem;
    padding: 0.4rem 0;
}

.mf-dashboard-header__brand {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    text-decoration: none;
}

.mf-dashboard-header__brand-img {
    display: block;
    height: 1.45rem;
    width: auto;
    max-width: min(44vw, 7.5rem);
    object-fit: contain;
}

.mf-dashboard-header__plan-badge {
    flex: 0 0 auto;
    max-width: 12rem;
    margin-left: 0.15rem;
    white-space: nowrap;
}

.mf-dashboard-header__plan-badge-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #04acc3;
}

@media (min-width: 640px) {
    .mf-dashboard-header__brand-img {
        height: 1.6rem;
        max-width: min(28vw, 9.5rem);
    }

}

@media (max-width: 520px) {
    .mf-dashboard-header__plan-badge {
        max-width: 7.5rem;
    }
}

.mf-dashboard-header__tail {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem 1.25rem;
    min-width: 0;
    flex: 1;
}

.mf-dashboard-header__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.15rem;
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.mf-dashboard-header__nav::-webkit-scrollbar {
    display: none;
}

/* Default-Iconfarbe nach Vorgabe */
.mf-dashboard-header__ico {
    flex-shrink: 0;
    display: block;
    color: #94a3b8;
    transition: color 0.15s ease;
}

/* Clean: Icon + Text, dezente Pille mit weichem Hover/Active */
.mf-dashboard-header__nav-link,
.mf-dashboard-header__nav-link:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.6rem;
    border: 1px solid transparent;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-decoration: none;
    color: #64748b;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.mf-dashboard-header__nav-link.is-placeholder {
    cursor: default;
    color: #94a3b8;
    user-select: none;
}

.mf-dashboard-header__nav-link.is-placeholder .mf-dashboard-header__ico {
    color: #cbd5e1;
}

/* „Bald"-Badge an Placeholder-Items */
.mf-dashboard-header__nav-soon {
    display: inline-flex;
    align-items: center;
    margin-left: 0.15rem;
    padding: 0.08rem 0.4rem;
    border-radius: 9999px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #94a3b8;
    text-transform: uppercase;
    line-height: 1.2;
}

/* Hover (nur echte Links) — leichter slate-Chip, dunklerer Text */
.mf-dashboard-header__nav-link:hover:not(.is-placeholder) {
    color: #334155;
    background: #f8fafc;
}

.mf-dashboard-header__nav-link:hover:not(.is-placeholder) .mf-dashboard-header__ico {
    color: #475569;
}

/* Active: weiche slate-Pille; Label und Icon im Brand-Blau */
.mf-dashboard-header__nav-link.is-active {
    color: var(--mf-dashboard-primary, #2b7fff);
    font-weight: 600;
    background: #f1f5f9;
    border-color: #e2e8f0;
}

.mf-dashboard-header__nav-link.is-active .mf-dashboard-header__ico {
    color: var(--mf-dashboard-primary, #2b7fff);
}

a.mf-dashboard-header__nav-link:focus {
    outline: none;
}

a.mf-dashboard-header__nav-link:focus-visible {
    outline: 2px solid rgba(43, 127, 255, 0.45);
    outline-offset: 1px;
}

.mf-page-dashboard a.mf-dashboard-header__nav-link:focus-visible {
    outline: 2px solid var(--mf-dashboard-ui-45);
    outline-offset: 1px;
}

.mf-dashboard-header__me-wrap {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    padding-left: 0.2rem;
}

/* Nutzer-Dropdown */
.mf-dashboard-header__me {
    position: relative;
    flex: 0 0 auto;
}

.mf-dashboard-header__me-btn {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.2rem 0.4rem 0.2rem 0.7rem;
    border: 0;
    border-radius: 9999px;
    background: transparent;
    transition: background 0.15s ease;
}

.mf-dashboard-header__me-btn:hover {
    background: rgba(15, 23, 42, 0.04);
}

.mf-dashboard-header__me-greet {
    display: none;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    color: #64748b;
    letter-spacing: 0.01em;
    user-select: none;
}

.mf-dashboard-header__me-greet strong {
    margin-left: 0.18rem;
    font-weight: 700;
    color: #64748b;
}

@media (min-width: 720px) {
    .mf-dashboard-header__me-greet {
        display: inline-flex;
    }
}

.mf-dashboard-header__me-btn:focus {
    outline: none;
}

.mf-dashboard-header__me-btn:focus-visible {
    outline: 2px solid rgba(4, 172, 195, 0.55);
    outline-offset: 2px;
}

.mf-page-dashboard .mf-dashboard-header__me-btn:focus-visible {
    outline: 2px solid var(--mf-dashboard-ui-55);
    outline-offset: 2px;
}

.mf-dashboard-header__me-btn::-webkit-details-marker,
.mf-dashboard-header__me-btn::marker {
    display: none;
    content: '';
}

.mf-dashboard-header__me-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 9999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #0b4a5a;
    background: #e0f6f8;
    border: 1px solid rgba(4, 172, 195, 0.35);
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.mf-dashboard-header__me-btn:hover .mf-dashboard-header__me-avatar {
    border-color: rgba(4, 172, 195, 0.55);
    box-shadow: 0 0 0 2px rgba(4, 172, 195, 0.12);
}

.mf-page-dashboard .mf-dashboard-header__me-avatar:not(.mf-dashboard-header__me-avatar--popover) {
    color: var(--mf-dashboard-avatar-text);
    background: var(--mf-dashboard-avatar-bg);
    border: 1px solid var(--mf-dashboard-avatar-border);
}

.mf-page-dashboard .mf-dashboard-header__me-btn:hover .mf-dashboard-header__me-avatar:not(.mf-dashboard-header__me-avatar--popover) {
    border-color: var(--mf-dashboard-ui-50);
    box-shadow: 0 0 0 2px var(--mf-dashboard-ui-focus-ring);
}

.mf-page-dashboard .mf-dashboard-header__me-avatar--popover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.85);
}

.mf-dashboard-header__me-avatar .mf-dashboard-header__me-photo {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    object-fit: cover;
    vertical-align: top;
}

.mf-dashboard-header__me-avatar--lg {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.mf-dashboard-header__me-popover {
    position: absolute;
    right: 0;
    top: calc(100% + 0.5rem);
    z-index: 100;
    width: min(20rem, calc(100vw - 1.5rem));
    border-radius: 0.85rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    box-shadow:
        0 24px 48px -12px rgba(10, 37, 64, 0.18),
        0 4px 12px -2px rgba(10, 37, 64, 0.06);
    overflow: hidden;
}

/* Gradient-Header im Dropdown (wie im Screenshot) */
.mf-dashboard-header__me-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 55%, #3b82f6 100%);
    color: #fff;
    border-bottom: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-dashboard-header__me-head::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 90% 20%, rgba(255, 255, 255, 0.18) 0%, transparent 60%);
    pointer-events: none;
}

.mf-dashboard-header__me-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
}

.mf-dashboard-header__me-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
    word-break: break-word;
    letter-spacing: -0.01em;
}

.mf-dashboard-header__me-mail {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.35;
    word-break: break-all;
}

/* Avatar im Popover bekommt einen weißen Ring auf dem dunklen Header */
.mf-dashboard-header__me-avatar--popover {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25);
}

.mf-dashboard-header__me-list {
    list-style: none;
    margin: 0;
    padding: 0.5rem;
}

.mf-dashboard-header__me-list li {
    margin: 0;
}

.mf-dashboard-header__me-form {
    margin: 0;
    width: 100%;
}

/* Zweizeilige Menüpunkte: Icon + (Titel + Beschreibung) */
.mf-dashboard-header__me-item {
    display: flex;
    width: 100%;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.65rem 0.75rem;
    border: 0;
    border-radius: 0.55rem;
    background: none;
    text-align: left;
    font: inherit;
    color: #1f2937;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.mf-dashboard-header__me-item-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    margin-top: 0.05rem;
    border-radius: 0.45rem;
    background: rgba(15, 23, 42, 0.05);
    color: #475569;
    transition: background 0.15s ease, color 0.15s ease;
}

.mf-dashboard-header__me-item-ico .mf-dashboard-header__ico {
    width: 16px;
    height: 16px;
    color: inherit;
    opacity: 1;
}

.mf-dashboard-header__me-item-text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.mf-dashboard-header__me-item-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
}

.mf-dashboard-header__me-item-desc {
    font-size: 0.75rem;
    font-weight: 400;
    color: #6b7280;
    line-height: 1.35;
}

.mf-dashboard-header__me-item:hover,
.mf-dashboard-header__me-item:focus-visible {
    background: rgba(43, 127, 255, 0.06);
    outline: none;
}

.mf-dashboard-header__me-item:hover .mf-dashboard-header__me-item-ico,
.mf-dashboard-header__me-item:focus-visible .mf-dashboard-header__me-item-ico {
    background: rgba(43, 127, 255, 0.12);
    color: var(--mf-dashboard-ui-ink, #1a5fd0);
}

.mf-dashboard-header__me-item.is-active,
.mf-dashboard-header__me-item[aria-current="page"] {
    background: rgba(43, 127, 255, 0.08);
}

.mf-dashboard-header__me-item.is-active .mf-dashboard-header__me-item-ico,
.mf-dashboard-header__me-item[aria-current="page"] .mf-dashboard-header__me-item-ico {
    background: var(--mf-dashboard-primary, #2b7fff);
    color: #fff;
}

.mf-dashboard-header__me-item.is-active .mf-dashboard-header__me-item-title,
.mf-dashboard-header__me-item[aria-current="page"] .mf-dashboard-header__me-item-title {
    color: var(--mf-dashboard-ui-ink, #1a5fd0);
}

/* Footer mit Sign-out-Button im Stil des Screenshots */
.mf-dashboard-header__me-foot {
    padding: 0.5rem 0.75rem 0.85rem;
    border-top: 1px solid #f1f5f9;
    background: #fff;
}

.mf-dashboard-header__me-signout {
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.55rem 0.9rem;
    background: #fff;
    color: #1f2937;
    border: 1px solid #d1d5db;
    border-radius: 0.55rem;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mf-dashboard-header__me-signout:hover {
    background: #f9fafb;
    border-color: #b91c1c;
    color: #b91c1c;
}

.mf-dashboard-header__me-signout .mf-dashboard-header__ico {
    color: inherit;
    opacity: 0.75;
}

.mf-dashboard-header__me-signout:hover .mf-dashboard-header__ico {
    opacity: 1;
}

.mf-dashboard-body__inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1400px;
    padding: 1.5rem 1rem 2.5rem;
}

@media (min-width: 640px) {
    .mf-dashboard-body__inner {
        padding: 2rem 1.5rem 3rem;
    }
}

@media (min-width: 1024px) {
    .mf-dashboard-body__inner {
        padding: 2.25rem 2rem 3.5rem;
    }
}

.mf-page-dashboard .mf-app-page {
    padding-left: 0;
    padding-right: 0;
    background: transparent;
    min-height: 0;
}

.mf-page-dashboard .mf-app-page__shell {
    max-width: 44rem;
}

.mf-page-dashboard .mf-app-page--wide .mf-app-page__shell {
    max-width: 80rem;
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .mf-page-dashboard .mf-app-page--wide .mf-app-page__shell {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

/* Dashboard-Übersicht (Mock, gestapelte Karten) */
.mf-dash-overview {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.mf-dash-overview__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (min-width: 900px) {
    .mf-dash-overview__metrics:not(.mf-dash-overview__metrics--pair) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.mf-dash-overview__side {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.mf-dash-overview__side-card--activity {
    margin-top: 1.5rem;
}

.mf-dash-metric .mf-app-panel__inner {
    padding: 1rem 1rem 1.15rem;
    display: flex;
    flex-direction: column;
    min-height: 7.5rem;
    box-sizing: border-box;
}

.mf-dash-metric__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

/* Gestapelter Rahmen wie Landing / Hero-Stack (#f5f5f3 außen, weiß innen) */
.mf-dash-metric__ico {
    display: inline-flex;
    flex-shrink: 0;
    border-radius: 0.55rem;
    padding: 3px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-dash-metric__ico-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.42rem;
    border: 1px solid rgba(8, 42, 79, 0.1);
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
    color: rgba(10, 37, 64, 0.72);
}

.mf-dash-metric__ico-inner svg {
    display: block;
    width: 1.05rem;
    height: 1.05rem;
}

.mf-dash-metric__badge {
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 999px;
    background: var(--mf-navy);
    color: #fff;
    flex-shrink: 0;
}

.mf-dash-metric__badge--soft {
    background: var(--mf-dashboard-ui-18);
    color: var(--mf-dashboard-ui-ink);
}

.mf-dash-metric__pill {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    background: #16a34a;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    line-height: 1.2;
}

.mf-dash-metric__label {
    margin: 0.6rem 0 0.15rem;
    font-size: 0.75rem;
    color: rgba(13, 44, 72, 0.52);
    font-weight: 600;
}

.mf-dash-metric__sub {
    margin: 0.35rem 0 0;
    font-size: 0.65rem;
    color: rgba(13, 44, 72, 0.52);
    line-height: 1.35;
}

.mf-dash-metric__value {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--mf-navy);
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.mf-dash-overview__main-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start;
}

@media (min-width: 1100px) {
    .mf-dash-overview__main-grid {
        grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
    }
}

.mf-dash-overview__primary {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

.mf-dash-panel__h {
    margin: 0 0 0.2rem;
}

.mf-dash-panel-heading-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
}

.mf-dash-side-actions {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.mf-dash-side-sync {
    width: 100%;
    box-sizing: border-box;
}

.mf-dash-panel__lead {
    margin: 0 0 0.9rem;
}

.mf-dash-table-wrap {
    border: 1px solid rgba(8, 42, 79, 0.08);
    border-radius: 0.6rem;
    background: #fafaf9;
    overflow: hidden;
}

.mf-dash-table__headings {
    display: none;
}

@media (min-width: 768px) {
    .mf-dash-table__headings {
        display: grid;
        grid-template-columns: 1fr 5.5rem 1.35fr;
        gap: 0.75rem;
        align-items: center;
        padding: 0.5rem 0.8rem;
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: rgba(13, 44, 72, 0.42);
        background: #f0f2f3;
    }

    .mf-dash-table__actions-h {
        text-align: right;
    }
}

.mf-dash-table__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mf-dash-table__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    padding: 0.9rem 0.8rem;
    border-top: 1px solid rgba(8, 42, 79, 0.06);
    background: #fff;
    align-items: start;
}

@media (min-width: 768px) {
    .mf-dash-table__row {
        grid-template-columns: 1fr 6.5rem minmax(12rem, 1.3fr);
        align-items: center;
        gap: 0.75rem;
    }
}

.mf-dash-table__obj {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.mf-dash-table__thumb {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 0.45rem;
    background: linear-gradient(145deg, #e2e8f0 0%, #f8fafc 100%);
    border: 1px solid rgba(8, 42, 79, 0.06);
    flex-shrink: 0;
}

.mf-dash-table__title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--mf-navy);
    line-height: 1.25;
}

.mf-dash-table__sub {
    margin: 0.12rem 0 0;
    font-size: 0.72rem;
    color: rgba(13, 44, 72, 0.5);
    line-height: 1.3;
}

.mf-dash-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    line-height: 1.2;
    width: fit-content;
    max-width: 100%;
    box-sizing: border-box;
}

.mf-dash-pill--ok {
    background: rgba(22, 163, 74, 0.12);
    color: #166534;
}

.mf-dash-pill--muted {
    background: rgba(100, 116, 139, 0.15);
    color: #475569;
}

.mf-dash-pill--sold {
    background: var(--mf-dashboard-ui-12);
    color: var(--mf-dashboard-ui-ink);
}

.mf-dash-table__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-start;
}

@media (min-width: 768px) {
    .mf-dash-table__btns {
        justify-content: flex-end;
    }
}

.mf-dash-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(8, 42, 79, 0.14);
    background: #fff;
    color: var(--mf-navy);
    cursor: default;
    line-height: 1.2;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mf-dash-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.mf-dash-btn--ghost:hover:not(:disabled) {
    background: var(--mf-dashboard-ui-06);
    border-color: var(--mf-dashboard-ui-32);
}

.mf-dash-btn--pri {
    border-color: var(--mf-dashboard-ui-45);
    background: var(--mf-dashboard-ui-10);
    color: var(--mf-dashboard-ui-ink);
}

.mf-dash-btn--pri:hover {
    background: var(--mf-dashboard-ui-18);
}

.mf-dash-charts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .mf-dash-charts {
        grid-template-columns: 1fr 1fr;
    }
}

.mf-dash-chart {
    min-width: 0;
    border: 1px solid rgba(8, 42, 79, 0.07);
    border-radius: 0.55rem;
    padding: 0.65rem 0.7rem 0.5rem;
    background: #fafafa;
}

.mf-dash-chart__cap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.mf-dash-chart__t {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-dash-chart__tag {
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--mf-dashboard-ui-ink);
    background: var(--mf-dashboard-ui-10);
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
}

.mf-dash-chart__svg {
    width: 100%;
    height: 4.5rem;
    border-radius: 0.4rem;
    overflow: hidden;
    background: #fff;
}

.mf-dash-chart__line {
    display: block;
    width: 100%;
    height: 100%;
}

.mf-dash-side-cta {
    width: 100%;
    box-sizing: border-box;
    margin-top: 0.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.mf-dash-side-cta__plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.95;
}

.mf-dash-side-cta__plus svg {
    display: block;
}

.mf-dash-activity {
    list-style: none;
    margin: 0.4rem 0 0;
    padding: 0;
}

.mf-dash-activity__item {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    min-height: 2.5rem;
}

.mf-dash-activity__item + .mf-dash-activity__item {
    margin-top: 0.15rem;
}

.mf-dash-activity__line {
    position: relative;
    width: 0.55rem;
    flex-shrink: 0;
}

.mf-dash-activity__line::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0.45rem;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background: var(--mf-dashboard-ui-32);
    border-radius: 1px;
}

.mf-dash-activity__line::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0.35rem;
    transform: translateX(-50%);
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--mf-dashboard-primary);
    box-shadow: 0 0 0 2px #fff;
}

.mf-dash-activity__item:last-child .mf-dash-activity__line::before {
    display: none;
}

.mf-dash-activity__body {
    min-width: 0;
    padding-bottom: 0.65rem;
}

.mf-dash-activity__t {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mf-navy);
    line-height: 1.3;
}

.mf-dash-activity__meta {
    margin: 0.2rem 0 0;
    font-size: 0.72rem;
    color: rgba(13, 44, 72, 0.5);
}

/* Gewerbe ohne Abo: Hauptspalte ~80% der Inhaltsbreite (nicht 44rem), damit die 3 Business-Karten Platz haben */
.mf-page-dashboard .mf-app-page--biz-no-sub .mf-app-page__shell {
    max-width: none;
    width: 80%;
    box-sizing: border-box;
}

/* Profil (/profile, /profile/security) */
.mf-profile {
    width: 100%;
    min-width: 0;
}

.mf-profile__layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 80rem;
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 640px) {
    .mf-profile__layout {
        flex-direction: row;
        align-items: flex-start;
        gap: 2rem;
    }
}

.mf-profile-aside {
    width: 100%;
    flex-shrink: 0;
}

@media (min-width: 640px) {
    .mf-profile-aside {
        position: sticky;
        top: 5rem;
        width: 13rem;
        align-self: flex-start;
    }
}

/* Section-Label im Sidebar-Stil: slate-400, uppercase, tracking-wider */
.mf-profile-aside__title {
    margin: 0 0 0.75rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.mf-profile-aside__nav {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

/* Links – exakt wie im Dashboard-Header (nur als Block für Sidebar) */
.mf-profile-aside__link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.6rem;
    border: 1px solid transparent;
    background: transparent;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-decoration: none;
    color: #64748b;
    transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.mf-profile-aside__link-ico {
    flex-shrink: 0;
    display: block;
    color: #94a3b8;
    transition: color 0.18s ease;
}

.mf-profile-aside__link:hover {
    color: #334155;
    background: #f8fafc;
}

.mf-profile-aside__link:hover .mf-profile-aside__link-ico {
    color: #475569;
}

.mf-profile-aside__link.is-active {
    color: var(--mf-dashboard-primary, #2b7fff);
    font-weight: 600;
    background: #f1f5f9;
    border-color: #e2e8f0;
}

.mf-profile-aside__link.is-active .mf-profile-aside__link-ico {
    color: var(--mf-dashboard-primary, #2b7fff);
}

a.mf-profile-aside__link:focus {
    outline: none;
}

a.mf-profile-aside__link:focus-visible {
    outline: 2px solid rgba(43, 127, 255, 0.45);
    outline-offset: 1px;
}

.mf-profile__main {
    min-width: 0;
    flex: 1 1 auto;
    width: 100%;
    max-width: 48rem;
}

.mf-profile__main--stack {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 48rem;
}

/* Profilseiten mit Tabellen / Paketen: volle Breite innerhalb .mf-profile__layout */
.mf-profile__main.mf-profile__main--wide,
.mf-profile__main.mf-profile__main--subscriptions-wide {
    max-width: none;
}

.mf-profile__main.mf-profile__main--wide.mf-profile__main--stack {
    max-width: none;
}

.mf-profile-notify__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.mf-profile-notify__body {
    gap: 0 !important;
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
}

.mf-profile-notify__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.5rem;
    gap: 1rem;
    padding: 0 0 0.55rem;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 0.15rem;
}

.mf-profile-notify__channel-label {
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mf-profile-notify__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.5rem;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 0;
}

.mf-profile-notify__title {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-profile-notify__desc {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.mf-profile-notify__toggle-cell {
    display: flex;
    justify-content: center;
}

.mf-profile-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.mf-profile-toggle__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.mf-profile-toggle__track {
    position: relative;
    width: 2.75rem;
    height: 1.5rem;
    border-radius: 999px;
    background: #cbd5e1;
    transition: background 0.15s ease;
}

.mf-profile-toggle__track::after {
    content: '';
    position: absolute;
    top: 0.15rem;
    left: 0.15rem;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
    transition: transform 0.15s ease;
}

.mf-profile-toggle__input:checked + .mf-profile-toggle__track {
    background: var(--mf-dashboard-primary, #04acc3);
}

.mf-profile-toggle__input:checked + .mf-profile-toggle__track::after {
    transform: translateX(1.25rem);
}

.mf-profile-toggle__input:focus-visible + .mf-profile-toggle__track {
    outline: 2px solid rgba(4, 172, 195, 0.45);
    outline-offset: 2px;
}

@media (max-width: 520px) {
    .mf-profile-notify__columns,
    .mf-profile-notify__row {
        grid-template-columns: minmax(0, 1fr) 4.25rem;
    }
}

.mf-profile-card-outer {
    width: 100%;
}

.mf-profile-card-outer--danger {
    margin-top: 0.25rem;
}

.mf-profile-card {
    width: 100%;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    padding: 0.25rem;
    margin: 0;
}

.mf-profile-card--plain {
    background: #fff;
}

.mf-profile-card__head {
    padding: 0.9rem 1.1rem 0.2rem;
}

.mf-profile-card__h {
    margin: 0 0 0.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-profile-card__sub {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #4b5563;
}

.mf-profile-card__body {
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    padding: 1.25rem 1.1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.mf-profile-card__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem 0.9rem;
    margin-top: 0.2rem;
    padding: 0.65rem 1.1rem 0.2rem;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    border-radius: 0 0 0.5rem 0.5rem;
}

.mf-profile-field-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-profile-field-hint {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.35;
}

.mf-profile-password {
    position: relative;
    margin-top: 0.4rem;
}

.mf-profile-input.mf-profile-input--with-toggle,
.mf-profile-card .mf-profile-input--with-toggle {
    margin-top: 0;
    padding-right: 2.75rem;
}

.mf-profile-password__toggle {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0.3rem;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    transition: color 0.12s ease, background 0.12s ease;
}

.mf-profile-password__toggle:hover,
.mf-profile-password__toggle:focus:hover {
    color: #0f172a;
    background: transparent;
}

.mf-profile-password__toggle:focus-visible {
    outline: 2px solid rgba(4, 172, 195, 0.45);
    outline-offset: 1px;
}

.mf-profile-password__ico {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    line-height: 0;
}

.mf-profile-password__ico > svg {
    position: absolute;
    inset: 0;
    display: block;
    margin: auto;
    width: 1.25rem;
    height: 1.25rem;
}

.mf-profile-security__status {
    margin: 0 0 0.6rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.4;
}

.mf-profile-security__detail {
    margin: 0 0 1rem;
    max-width: 40rem;
}

.mf-profile-btn-row {
    margin: 0;
    display: flex;
    justify-content: flex-start;
}

.mf-profile-btn-primary:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.mf-page-dashboard .mf-profile-btn-primary:disabled:hover {
    background: var(--mf-dashboard-primary);
    filter: none;
    opacity: 0.5;
}

.mf-profile-security__sessions-lead {
    margin: 0 0 1rem;
    max-width: 42rem;
}

.mf-profile-session-list {
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fafafa;
    overflow: hidden;
}

.mf-profile-session {
    margin: 0;
    padding: 0.85rem 1rem;
}

.mf-profile-session__row {
    display: flex;
    align-items: center;
}

.mf-profile-session__icon-wrap {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.mf-profile-session__icon-svg {
    display: block;
    width: 2rem;
    height: 2rem;
    color: #6b7280;
}

.mf-profile-session__text {
    margin-left: 0.75rem;
    min-width: 0;
}

.mf-profile-session__title {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    color: #111827;
}

.mf-profile-session__sub {
    margin-top: 0.125rem;
}

.mf-profile-session__ip-line {
    font-size: 0.75rem;
    line-height: 1rem;
    color: #6b7280;
}

.mf-profile-session__this-device {
    color: #22c55e;
    font-weight: 600;
}

.mf-profile-field {
    margin: 0;
}

.mf-profile-field-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.25rem;
    margin-top: 0.5rem;
}

@media (min-width: 640px) {
    .mf-profile-field-row--names,
    .mf-profile-field-row:not(.mf-profile-field-row--addr) {
        grid-template-columns: 1fr 1fr;
    }

    .mf-profile-field-row--addr {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }
}

.mf-profile-business {
    margin-top: 1.25rem;
    padding-top: 1.35rem;
    border-top: 1px solid #e5e7eb;
}

.mf-profile-business__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.35rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-profile-business__title-ico {
    flex-shrink: 0;
    color: #6b7280;
}

.mf-profile-business__intro {
    margin: 0 0 1rem;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #64748b;
}

.mf-profile-business__addr-label {
    margin: 0.5rem 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #374151;
}

.mf-profile-input,
.mf-profile-card .mf-kontakt-landing__input {
    margin-top: 0.4rem;
    display: block;
    width: 100%;
    border-radius: 0.375rem;
    border: 1px solid #d1d5db;
    background: #fff;
    padding: 0.5rem 0.7rem;
    font-size: 0.875rem;
    color: #0f172a;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.mf-profile-input:focus,
.mf-profile-card .mf-kontakt-landing__input:focus {
    outline: none;
    border-color: var(--mf-turquoise);
    box-shadow: 0 0 0 1px rgba(4, 172, 195, 0.35);
}

.mf-profile-error {
    margin-top: 0.3rem;
}

.mf-profile-verify {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: #4b5563;
}

.mf-profile-photo-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.mf-profile-photo-row__text {
    flex: 1 1 auto;
    min-width: 0;
}

.mf-profile-photo-row__controls {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem 1rem;
}

.mf-profile-file {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mf-profile-avatar-wrap {
    position: relative;
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
    border-radius: 9999px;
    overflow: hidden;
}

.mf-profile-avatar-fallback {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 9999px;
    /* wie .mf-dashboard-header__me-avatar (nur größer skaliert) */
    color: #0b4a5a;
    background: #e0f6f8;
    border: 1px solid rgba(4, 172, 195, 0.35);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.mf-profile-avatar-img {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    object-fit: cover;
    background: #f3f4f6;
}

.mf-profile-avatar-preview {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    background-color: #f3f4f6;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* [hidden] muss Vorrang vor .mf-profile-avatar-preview haben (sonst grauer „Kreis“ über dem Foto) */
.mf-profile-avatar-preview[hidden] {
    display: none !important;
}

.mf-profile-avatar-fallback[hidden] {
    display: none !important;
}

.mf-profile-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.9rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.02em;
    color: #374151;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.mf-profile-btn-secondary:hover {
    background: #f9fafb;
    border-color: #9ca3af;
}

.mf-profile-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
    background: var(--mf-turquoise);
    border: 1px solid transparent;
    border-radius: 0.375rem;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(4, 172, 195, 0.25);
    transition: background 0.12s ease, filter 0.12s ease;
}

.mf-profile-btn-primary:hover {
    filter: brightness(0.95);
}

/* Primär-Buttons: Blau nur auf Dashboard-Seiten (body.mf-page-dashboard) */
.mf-page-dashboard .mf-profile-btn-primary {
    background: var(--mf-dashboard-primary);
    box-shadow: 0 1px 2px var(--mf-dashboard-primary-shadow);
}

.mf-page-dashboard .mf-profile-btn-primary:hover {
    background: var(--mf-dashboard-primary-hover);
    filter: none;
}

.mf-profile-btn-danger {
    font-size: 0.875rem;
}

.mf-text-link {
    background: none;
    border: 0;
    padding: 0;
    color: var(--mf-teal-deep);
    text-decoration: underline;
    font: inherit;
    cursor: pointer;
}

.mf-text-link:hover {
    color: var(--mf-navy);
}

/* FAQ-Unterseite: Fragezeichen-Motiv (URL per --mf-faq-watermark in faq.blade.php) */
.mf-page-faq #main {
    position: relative;
    background-color: #eef1f4;
    background-image: var(--mf-faq-watermark, none);
    background-repeat: no-repeat;
    /* Kompakt, nah unter dem Header / Hero-Anfang */
    background-position: center 1.25rem;
    background-size: min(11rem, 38vw);
}

@media (min-width: 768px) {
    .mf-page-faq #main {
        background-position: center 1.75rem;
        background-size: min(13rem, 28vw);
    }
}

/* Leicht transparente Sektionen, damit das Motiv durchschimmert */
.mf-page-faq .mf-pakete.mf-faq-page-hero {
    background-color: rgba(255, 255, 255, 0.86);
}

.mf-page-faq .mf-faq.mf-faq--page {
    background-color: rgba(250, 250, 248, 0.86);
}

.mf-page-faq .mf-faq-support-cta {
    background-color: rgba(255, 255, 255, 0.86);
}

.mf-start a {
    color: inherit;
}

/* —— Header —— */
.mf-header {
    border-bottom: 1px solid rgba(10, 37, 64, 0.06);
    background: var(--mf-white);
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-header__top {
    background: #fafaf8;
    border-bottom: 1px solid rgba(10, 37, 64, 0.1);
}

.mf-header__top-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0.65rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.7);
}

@media (min-width: 640px) {
    .mf-header__top-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

.mf-usps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 1rem;
}

.mf-usp {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.mf-usp svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--mf-turquoise);
}

.mf-divider-v {
    display: none;
    width: 1px;
    height: 12px;
    background: rgba(10, 37, 64, 0.15);
}

@media (min-width: 640px) {
    .mf-divider-v {
        display: block;
    }
}

.mf-header__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (min-width: 640px) {
    .mf-header__meta {
        justify-content: flex-end;
    }
}

.mf-trust {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.mf-google-rating {
    position: relative;
    z-index: 20;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 100%;
    column-gap: 0.375rem;
    row-gap: 0.125rem;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: rgba(255, 255, 255, 0.75);
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.06);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: #082a4f;
}

@media (min-width: 1024px) {
    .mf-google-rating {
        padding: 0.25rem 0.625rem;
        font-size: 11px;
    }
}

.mf-google-rating__mark {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
}

.mf-google-rating__mark svg {
    display: block;
    width: 1rem;
    height: 1rem;
}

.mf-google-rating__score {
    font-weight: 600;
    color: inherit;
}

.mf-google-rating__dot {
    color: rgba(8, 42, 79, 0.55);
}

.mf-google-rating__count {
    color: rgba(8, 42, 79, 0.7);
}

.mf-phone {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--mf-navy);
    transition: color 0.15s ease;
}

.mf-phone:hover {
    color: var(--mf-turquoise);
}

.mf-phone__icon {
    display: flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1px solid rgba(10, 37, 64, 0.15);
    background: var(--mf-white);
    color: var(--mf-turquoise);
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

.mf-phone__icon svg {
    width: 16px;
    height: 16px;
}

.mf-phone__lines {
    text-align: left;
    line-height: 1.2;
}

.mf-phone__label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: rgba(10, 37, 64, 0.55);
}

.mf-phone__num {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: none;
}

/* Zeile 2 */
.mf-header__mid {
    max-width: 80rem;
    margin: 0 auto;
    padding: 1.25rem 1rem;
}

.mf-header__mid-grid {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 1.5rem;
}

@media (min-width: 1024px) {
    .mf-header__mid-grid {
        grid-template-columns: 1fr auto 1fr;
    }
}

.mf-social {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

@media (min-width: 1024px) {
    .mf-social {
        justify-content: flex-start;
    }
}

.mf-social__link {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1px solid rgba(10, 37, 64, 0.15);
    color: #64748b;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.mf-social__link:hover {
    border-color: var(--mf-turquoise);
    color: var(--mf-turquoise);
}

.mf-social__link svg {
    width: 18px;
    height: 18px;
}

.mf-start .mf-social__link {
    border-color: rgba(148, 163, 184, 0.35);
    color: #64748b;
}

.mf-start .mf-social__link:hover {
    border-color: var(--mf-turquoise);
    color: var(--mf-turquoise);
}

.mf-logo-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.mf-logo-wrap a.mf-logo {
    text-decoration: none;
    display: inline-block;
    line-height: 0;
}

.mf-logo img {
    display: block;
    height: auto;
    max-height: 52px;
    width: auto;
    max-width: min(100vw - 2rem, 320px);
    object-fit: contain;
    object-position: center;
}

.mf-header__mid-grid > .mf-platform-badges {
    justify-self: center;
}

.mf-platform-badges {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: stretch;
    max-width: 100%;
    background: #fff;
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 0.375rem;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
    overflow: hidden;
}

@media (min-width: 1024px) {
    .mf-header__mid-grid > .mf-platform-badges {
        justify-self: end;
    }
}

.mf-platform-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.85rem;
    min-height: 2.5rem;
    background: #fff;
}

.mf-platform-badges__rule {
    width: 1px;
    flex-shrink: 0;
    align-self: stretch;
    background: rgba(10, 37, 64, 0.12);
}

.mf-platform-badge__word {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    white-space: nowrap;
}

@media (min-width: 640px) {
    .mf-platform-badge__word {
        font-size: 13px;
    }
}

/* Dunkel (Navy/Anthrazit) + Akzent – am Referenz-Look orientiert */
.mf-platform-badge__ink {
    color: #1e293b;
}

.mf-platform-badge__scout {
    color: var(--mf-teal-deep);
}

.mf-platform-badge__word--immowelt .mf-platform-badge__welt {
    color: var(--mf-accent-orange);
}

.mf-platform-badge__word--kleinanzeigen {
    color: #84cc16;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

@media (min-width: 640px) {
    .mf-platform-badge__word--kleinanzeigen {
        font-size: 13px;
    }
}

/* Zeile 3 */
.mf-header__nav-row {
    border-top: 1px solid rgba(10, 37, 64, 0.1);
    background: var(--mf-white);
}

.mf-header__nav-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .mf-header__nav-inner {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.mf-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1.5rem;
}

@media (min-width: 1024px) {
    .mf-nav {
        justify-content: flex-start;
    }
}

.mf-nav__link {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(10, 37, 64, 0.7);
    transition: color 0.15s ease;
}

.mf-nav__link:hover {
    color: var(--mf-turquoise);
}

.mf-nav__link--active {
    display: inline-flex;
    align-items: center;
    padding-bottom: 0;
    text-decoration: none;
}

.mf-nav__link--active:hover {
    text-decoration: none;
}

.mf-nav__link--active .mf-steps__eyebrow {
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--mf-navy);
}

@media (min-width: 640px) {
    .mf-nav__link--active .mf-steps__eyebrow {
        padding: 0.55rem 1.15rem;
        font-size: 13px;
        letter-spacing: 0.09em;
    }
}

.mf-nav__link--active .mf-steps__eyebrow-ico {
    width: 18px;
    height: 18px;
}

.mf-nav__link--active:hover .mf-steps__eyebrow {
    color: var(--mf-navy);
}

.mf-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .mf-actions {
        justify-content: flex-end;
    }
}

.mf-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    font-family: inherit;
    line-height: 1.25;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.mf-header-btn:focus {
    outline: none;
}

.mf-header-btn:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: 3px;
}

.mf-header-btn--ghost {
    color: var(--mf-navy);
    background: #fff;
    border: 1px solid rgba(10, 37, 64, 0.12);
    box-shadow:
        0 1px 8px rgba(10, 37, 64, 0.06),
        0 1px 2px rgba(10, 37, 64, 0.04);
}

.mf-header-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.96);
    transform: translateY(-1px);
    box-shadow:
        0 4px 14px rgba(10, 37, 64, 0.1),
        0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-header-btn--ghost:active {
    transform: translateY(0);
}

/* Primär-CTA (Glow-Pille, Markenfarben) */
.mf-start .hero-cta-btn {
    color: #ffffff;
}

.hero-cta-btn {
    display: inline-flex;
    align-items: stretch;
    border: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
}

.hero-cta-btn:focus {
    outline: none;
}

.hero-cta-btn:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: 3px;
}

.mf-start .hero-cta-btn .hero-cta-label {
    color: #ffffff;
}

.hero-cta-inner {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-radius: 0.75rem;
    overflow: hidden;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 1px 8px rgba(4, 172, 195, 0.28),
        0 1px 2px rgba(13, 44, 72, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.hero-cta-btn:hover .hero-cta-inner {
    transform: translateY(-1px);
    box-shadow:
        0 4px 16px rgba(4, 172, 195, 0.35),
        0 1px 3px rgba(13, 44, 72, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.hero-cta-btn:active .hero-cta-inner {
    transform: translateY(0);
}

.hero-cta-glow {
    position: absolute;
    inset: -40%;
    pointer-events: none;
    background:
        radial-gradient(circle at 30% 28%, rgba(255, 255, 255, 0.22) 0%, transparent 45%),
        radial-gradient(circle at 75% 70%, rgba(255, 255, 255, 0.08) 0%, transparent 50%);
    opacity: 0.65;
}

.hero-cta-label {
    position: relative;
    z-index: 1;
    letter-spacing: 0.01em;
}

.hero-cta-icon {
    position: relative;
    z-index: 1;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.hero-cta-btn:hover .hero-cta-icon {
    transform: translateX(3px);
}

.hero-cta-btn--footer {
    margin-top: 1.5rem;
    width: 100%;
    max-width: 100%;
    justify-content: stretch;
}

.hero-cta-btn--footer .hero-cta-inner {
    width: 100%;
    justify-content: center;
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    text-transform: uppercase;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.mf-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--mf-navy);
    transition: color 0.15s ease;
}

.mf-cta-secondary:hover {
    color: var(--mf-turquoise);
}

.mf-cta-secondary svg {
    width: 20px;
    height: 20px;
    color: var(--mf-turquoise);
}

.mf-cta-secondary__accent {
    font-weight: 600;
    color: var(--mf-turquoise);
    text-transform: none;
    letter-spacing: 0;
}

/* Hero: Markenfläche — kühles Grau + dezentes Türkis (zu Navy, CTA, USP-Weiß) */
.mf-hero--premium {
    position: relative;
    min-height: min(74vh, 720px);
    overflow: hidden;
    background: #fafaf8;
    padding: 2.25rem 1rem 3.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 1024px) {
    .mf-hero--premium {
        padding: 3rem 1.5rem 3.75rem;
    }
}

.mf-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: #fafaf8;
}

/* Gleiche Gitter-Logik wie .mf-step__stack-inner::after */
.mf-hero__media::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(13, 44, 72, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(13, 44, 72, 0.035) 1px, transparent 1px),
        linear-gradient(to right, rgba(4, 172, 195, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(4, 172, 195, 0.035) 1px, transparent 1px);
    background-size:
        28px 28px,
        28px 28px,
        7px 7px,
        7px 7px;
    opacity: 0.5;
    -webkit-mask-image: radial-gradient(ellipse 95% 88% at 50% 44%, #000 0%, #000 52%, transparent 100%);
    mask-image: radial-gradient(ellipse 95% 88% at 50% 44%, #000 0%, #000 52%, transparent 100%);
}

.mf-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: transparent;
}

.mf-hero__shell {
    position: relative;
    z-index: 2;
    max-width: 1320px;
    margin: 0 auto;
    width: 100%;
}

.mf-hero__layout {
    display: block;
}

.mf-hero__layout--centered {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 42rem;
    margin-inline: auto;
    text-align: center;
}

.mf-hero__copy--centered {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    text-align: center;
}

.mf-hero__layout--centered .mf-hero__kicker {
    display: flex;
    justify-content: center;
}

.mf-hero__layout--centered .mf-hero__lead {
    max-width: 38rem;
    margin-left: auto;
    margin-right: auto;
}

.mf-hero__layout--centered .mf-hero__ctas {
    justify-content: center;
}

.mf-hero__layout--centered .mf-hero__micro {
    text-align: center;
}

.mf-hero--premium:has(.mf-hero__layout--centered) {
    min-height: min(62vh, 640px);
}

.mf-hero__copy {
    text-align: left;
    max-width: min(52rem, 100%);
}

.mf-hero__copy--centered.mf-hero__copy {
    text-align: center;
}

.mf-hero__copy--main {
    max-width: min(40rem, 100%);
}

.mf-hero__visual {
    margin-top: 2.25rem;
    max-width: min(40rem, 100%);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 959px) {
    .mf-hero__layout--visual-mid .mf-hero__visual {
        margin-top: 1.25rem;
        margin-bottom: 1.35rem;
        max-width: 100%;
    }

    .mf-hero__layout--visual-mid .mf-hero__copy-body .mf-hero__lead {
        margin-top: 0;
    }
}

@media (min-width: 960px) {
    .mf-hero__layout:not(.mf-hero__layout--centered) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(300px, min(52vw, 38rem));
        gap: 2rem 2.5rem;
        align-items: center;
    }

    .mf-hero__layout--centered {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 42rem;
        margin-inline: auto;
    }

    .mf-hero__layout--visual-mid {
        grid-template-rows: auto auto;
        align-items: start;
    }

    .mf-hero__layout--visual-mid .mf-hero__copy-head {
        grid-column: 1;
        grid-row: 1;
        max-width: min(40rem, 100%);
    }

    .mf-hero__layout--visual-mid .mf-hero__copy-body {
        grid-column: 1;
        grid-row: 2;
        max-width: min(40rem, 100%);
    }

    .mf-hero__layout--visual-mid .mf-hero__visual {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
    }

    .mf-hero__visual {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        justify-self: end;
        width: 100%;
    }
}

@keyframes mf-hero-float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

.mf-hero__visual-motion {
    animation: mf-hero-float 5.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .mf-hero__visual-motion {
        animation: none;
    }
}

/* Gestapelter Rahmen wie Paket-Karten */
.mf-hero__stack-outer {
    border-radius: 20px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 4px 18px rgba(10, 37, 64, 0.08), 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-hero__stack-inner {
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.1);
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.mf-hero__preview-img {
    display: block;
    width: 100%;
    height: auto;
}

.mf-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: 1.75rem;
}

.mf-hero__ctas .mf-hero__cta {
    margin-top: 0;
}

.mf-hero__cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.75rem 1.35rem;
    border-radius: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    color: var(--mf-navy);
    background: #fff;
    border: 1px solid rgba(10, 37, 64, 0.12);
    box-shadow:
        0 2px 12px rgba(10, 37, 64, 0.07),
        0 1px 2px rgba(10, 37, 64, 0.05);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-hero__cta-secondary:hover {
    background: rgba(255, 255, 255, 0.96);
    transform: translateY(-1px);
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.14),
        0 1px 3px rgba(10, 37, 64, 0.08);
}

.mf-hero__cta-secondary-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.mf-hero__cta-secondary:hover .mf-hero__cta-secondary-icon {
    transform: translateX(3px);
}

/* Hero: Premium-Badge (stacked frame + Favicon, wie Section-Eyebrow) */
.mf-hero--premium .mf-hero__kicker {
    display: block;
    margin: 0 0 1.25rem;
    padding: 0;
}

.mf-hero--premium .mf-hero__kicker-stack-outer {
    display: inline-flex;
    max-width: 100%;
    vertical-align: middle;
    border-radius: 9999px;
    padding: 2px;
    background: linear-gradient(
        148deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(230, 232, 228, 0.65) 45%,
        rgba(200, 204, 198, 0.45) 100%
    );
    box-shadow:
        0 2px 12px rgba(10, 37, 64, 0.08),
        0 0 0 1px rgba(10, 37, 64, 0.07);
}

@media (min-width: 640px) {
    .mf-hero--premium .mf-hero__kicker-stack-outer {
        padding: 3px;
    }
}

.mf-hero--premium .mf-hero__kicker-stack-inner {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    max-width: 100%;
    padding: 0.4rem 0.85rem 0.4rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid rgba(10, 37, 64, 0.1);
    background: rgba(255, 255, 255, 0.97);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        inset 0 -1px 0 rgba(10, 37, 64, 0.04);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.82);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

@media (min-width: 640px) {
    .mf-hero--premium .mf-hero__kicker-stack-inner {
        font-size: 11px;
        letter-spacing: 0.11em;
        gap: 0.5rem;
        padding: 0.45rem 1rem 0.45rem 0.55rem;
    }
}

.mf-hero--premium .mf-hero__kicker-ico {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    object-fit: contain;
    flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(10, 37, 64, 0.12);
}

.mf-hero--premium .mf-hero__kicker-label {
    line-height: 1.25;
    text-wrap: balance;
}

.mf-hero__title {
    margin: 0;
    line-height: 1.12;
}

.mf-hero--premium .mf-hero__title-accent {
    display: block;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(2rem, 4.6vw, 3.1rem);
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.035em;
    line-height: 1.08;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.mf-hero--premium .mf-hero__title-bold {
    display: block;
    margin-top: 0.35rem;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(1.35rem, 2.8vw, 2.1rem);
    font-weight: 700;
    font-style: normal;
    letter-spacing: -0.03em;
    color: var(--mf-navy);
}

.mf-hero--premium .mf-hero__lead {
    margin: 1.25rem 0 0;
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.72);
    max-width: 36rem;
}

.mf-hero--premium .mf-hero__lead strong {
    font-weight: 600;
    color: var(--mf-navy);
}

.mf-hero__cta {
    margin-top: 1.75rem;
}

.mf-hero__ctas .mf-hero__cta {
    margin-top: 0;
}

.mf-hero__cta .hero-cta-inner {
    border-radius: 0.75rem;
    padding: 0.75rem 1.35rem;
    text-transform: none;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.mf-start .mf-hero .mf-hero__cta {
    color: #ffffff;
}

.mf-start .mf-hero .mf-hero__cta .hero-cta-label {
    color: #ffffff;
}

.mf-hero--premium .mf-hero__micro {
    margin: 1rem 0 0;
    font-size: 12px;
    color: rgba(10, 37, 64, 0.48);
    letter-spacing: 0.02em;
}

/* —— USP-Slider unter dem Hero —— */
.mf-usp-slider {
    --mf-usp-gap: 1.25rem;
    background: #fff;
    padding: 2.75rem 1rem 2.5rem;
    border-top: 1px solid rgba(10, 37, 64, 0.06);
}

@media (min-width: 768px) {
    .mf-usp-slider {
        padding: 3.25rem 1.25rem 2.75rem;
    }
}

.mf-usp-slider__inner {
    max-width: 1220px;
    margin: 0 auto;
}

.mf-usp-slider__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mf-usp-slider__frame {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

@media (min-width: 640px) {
    .mf-usp-slider__frame {
        gap: 0.5rem;
    }
}

.mf-usp-slider__viewport {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.mf-usp-slider__track {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--mf-usp-gap);
    margin: 0;
    padding: 0;
    list-style: none;
    will-change: transform;
}

.mf-usp-slider__slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    padding: 0.35rem 0.25rem 0.5rem;
    box-sizing: border-box;
}

.mf-usp-slider__icon-wrap {
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #faf9f5;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
    flex-shrink: 0;
}

.mf-usp-slider__icon {
    width: 1.65rem;
    height: 1.65rem;
    color: rgba(10, 37, 64, 0.72);
}

.mf-usp-slider__text {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.88);
    max-width: 22rem;
}

@media (min-width: 640px) {
    .mf-usp-slider__text {
        font-size: 0.71875rem;
        letter-spacing: 0.065em;
    }
}

.mf-usp-slider__kw {
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-usp-slider__nav {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 1px solid rgba(10, 37, 64, 0.12);
    background: #fff;
    color: rgba(10, 37, 64, 0.75);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-usp-slider__nav:hover:not(:disabled) {
    background: #fafbfc;
    color: var(--mf-navy);
    box-shadow: 0 2px 8px rgba(10, 37, 64, 0.08);
}

.mf-usp-slider__nav:disabled {
    opacity: 0.38;
    cursor: default;
}

.mf-usp-slider__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 1.75rem;
    flex-wrap: wrap;
}

.mf-usp-slider__dot {
    border: 0;
    padding: 0;
    cursor: pointer;
    background: rgba(10, 37, 64, 0.18);
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 999px;
    transition:
        width 0.25s ease,
        background 0.25s ease,
        opacity 0.25s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-usp-slider__dot:hover {
    opacity: 0.85;
}

.mf-usp-slider__dot[aria-current='true'] {
    width: 1.5rem;
    height: 0.35rem;
    background: var(--mf-navy);
}

@media (prefers-reduced-motion: reduce) {
    .mf-usp-slider__track {
        transition: none !important;
    }

    .mf-usp-slider__dot {
        transition: none;
    }
}

/* —— Preisvergleich (Einzel vs. Bundle, Premium wie 3 Schritte) —— */
.mf-price-compare {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    padding: 3.5rem 1rem 4.25rem;
}

@media (min-width: 768px) {
    .mf-price-compare {
        padding: 4.25rem 1.5rem 5rem;
    }
}

.mf-price-compare__wrap {
    max-width: 1220px;
    margin: 0 auto;
}

.mf-price-compare__stack-outer {
    width: 100%;
    min-width: 0;
    border-radius: 1.1rem;
    padding: 2px;
    background: linear-gradient(
        148deg,
        rgba(0, 0, 0, 0.07) 0%,
        rgba(120, 118, 112, 0.14) 38%,
        rgba(0, 0, 0, 0.06) 100%
    );
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

@media (min-width: 640px) {
    .mf-price-compare__stack-outer {
        border-radius: 1.15rem;
        padding: 4px;
    }
}

.mf-price-compare__stack-inner {
    border-radius: 1.02rem;
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(8, 42, 64, 0.04);
    padding: 1.35rem 1.25rem 1.5rem;
}

@media (min-width: 640px) {
    .mf-price-compare__stack-inner {
        border-radius: 1.08rem;
        padding: 1.75rem 1.75rem 2rem;
    }
}

@media (min-width: 768px) {
    .mf-price-compare__stack-inner {
        padding: 2rem 2rem 2.35rem;
    }
}

@media (min-width: 1024px) {
    .mf-price-compare__stack-inner {
        padding: 2.25rem 2.5rem 2.5rem;
    }
}

.mf-price-compare__head {
    text-align: left;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .mf-price-compare__head {
        margin-bottom: 2.5rem;
    }
}

.mf-price-compare__subtitle {
    max-width: 36rem;
}

.mf-price-compare__toggle {
    display: flex;
    justify-content: center;
    margin: 1.75rem auto 0;
    padding: 4px;
    width: 100%;
    max-width: 22rem;
    box-sizing: border-box;
    border-radius: 9999px;
    background: rgba(10, 37, 64, 0.06);
    border: 1px solid rgba(10, 37, 64, 0.08);
    gap: 2px;
}

.mf-price-compare__toggle-btn {
    flex: 1 1 50%;
    min-width: 0;
    border: 0;
    cursor: pointer;
    padding: 0.55rem 1rem;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(10, 37, 64, 0.55);
    background: transparent;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-price-compare__toggle-btn.is-active {
    background: #fff;
    color: var(--mf-navy);
    box-shadow:
        0 1px 3px rgba(10, 37, 64, 0.08),
        0 1px 2px rgba(10, 37, 64, 0.04);
}

a.mf-price-compare__toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
}

a.mf-price-compare__toggle-btn:hover {
    color: var(--mf-navy);
}

.mf-sub-profile-pakete__mode .mf-price-compare__toggle {
    margin-top: 0;
}

.mf-sub-profile-pakete--compact-head .mf-pakete__head {
    margin-bottom: 1rem;
}

.mf-sub-profile-pakete--compact-head .mf-sub-profile-pakete__mode {
    margin-top: 0;
}

.mf-price-compare__grid {
    display: grid;
    gap: 1.75rem;
    align-items: stretch;
}

@media (min-width: 900px) {
    .mf-price-compare__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 2rem;
        align-items: stretch;
    }
}

.mf-price-compare__col--bundle {
    display: flex;
    flex-direction: column;
}

.mf-price-compare__col--bundle .mf-price-compare__bundle-stack-outer {
    flex: 1;
    width: 100%;
    min-width: 0;
}

.mf-price-compare__bundle-stack-outer {
    height: 100%;
    border-radius: 1.08rem;
    padding: 3px;
    background: linear-gradient(
        148deg,
        rgba(0, 0, 0, 0.14) 0%,
        rgba(90, 88, 82, 0.22) 42%,
        rgba(0, 0, 0, 0.1) 100%
    );
    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.12),
        0 1px 2px rgba(13, 44, 72, 0.08);
}

@media (min-width: 640px) {
    .mf-price-compare__bundle-stack-outer {
        border-radius: 1.12rem;
        padding: 4px;
    }
}

.mf-price-compare__col-label {
    margin: 0 0 0.85rem;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.45);
}

.mf-price-compare__solo-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.mf-price-compare__solo-card {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) auto;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 0.85rem 1rem;
    background: #fff;
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.05);
}

@media (max-width: 479px) {
    .mf-price-compare__solo-card {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
    }

    .mf-price-compare__solo-tier {
        grid-column: 1 / -1;
    }
}

.mf-price-compare__solo-brand {
    min-width: 0;
}

.mf-price-compare__solo-tier {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(10, 37, 64, 0.5);
    text-align: center;
}

@media (min-width: 480px) {
    .mf-price-compare__solo-tier {
        text-align: left;
    }
}

.mf-price-compare__solo-price {
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
    white-space: nowrap;
    text-align: right;
}

.mf-price-compare__sum {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-top: 1.15rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(10, 37, 64, 0.1);
}

.mf-price-compare__sum-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.45);
}

.mf-price-compare__sum-value {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--mf-navy);
}

.mf-price-compare__bundle {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 0.98rem;
    padding: 1.35rem 1.25rem 1.5rem;
    background: #000;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 14px 44px rgba(0, 0, 0, 0.35),
        0 2px 10px rgba(0, 0, 0, 0.25);
    color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
}

@media (min-width: 640px) {
    .mf-price-compare__bundle {
        padding: 1.5rem 1.5rem 1.65rem;
        border-radius: 1.02rem;
    }
}

/* Feines Gitter (oben rechts betont), wie Schritt-Karten */
.mf-price-compare__bundle::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(to right, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.028) 1px, transparent 1px);
    background-size:
        28px 28px,
        28px 28px,
        7px 7px,
        7px 7px;
    opacity: 0.65;
    -webkit-mask-image: radial-gradient(ellipse 72% 58% at 92% 12%, #000 0%, #000 35%, transparent 72%);
    mask-image: radial-gradient(ellipse 72% 58% at 92% 12%, #000 0%, #000 35%, transparent 72%);
}

.mf-price-compare__bundle > * {
    position: relative;
    z-index: 1;
}

.mf-price-compare__bundle-top {
    flex: 1;
}

.mf-price-compare__bundle-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
    margin-bottom: 0.35rem;
}

.mf-price-compare__bundle-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    background: rgba(13, 44, 72, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
    overflow: hidden;
}

.mf-price-compare__bundle-ico img {
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    object-fit: contain;
}

.mf-price-compare__bundle-name {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    flex: 1;
    min-width: 0;
}

.mf-price-compare__bundle-badge {
    margin-left: auto;
    padding: 0.22rem 0.55rem;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(145deg, #16a34a, #22c55e);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 1px 4px rgba(22, 101, 52, 0.35);
}

.mf-price-compare__bundle-kicker {
    margin: 0 0 0.85rem;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.mf-price-compare__bundle-price-row {
    margin-bottom: 1rem;
}

.mf-price-compare__bundle-eur {
    font-size: clamp(2.25rem, 5vw, 2.85rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
}

.mf-price-compare__savings {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 1px 3px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.mf-price-compare__savings-ico {
    display: flex;
    color: rgba(255, 255, 255, 0.85);
    flex-shrink: 0;
}

.mf-price-compare__savings-text {
    font-size: 0.8125rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.95);
}

.mf-price-compare__savings-text strong {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 0.15rem;
}

/* Gleiche Fläche wie Header-Primär-CTA (.hero-cta-inner) */
.mf-price-compare__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.35rem;
    padding: 0.85rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-align: center;
    color: #fff;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 1px 8px rgba(4, 172, 195, 0.28),
        0 1px 2px rgba(13, 44, 72, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-price-compare__cta:hover {
    transform: translateY(-1px);
    box-shadow:
        0 4px 16px rgba(4, 172, 195, 0.35),
        0 1px 3px rgba(13, 44, 72, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mf-price-compare__cta:active {
    transform: translateY(0);
}

.mf-price-compare__foot {
    margin-top: 2.25rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(10, 37, 64, 0.1);
}

.mf-price-compare__bullets {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(10, 37, 64, 0.78);
}

@media (min-width: 640px) {
    .mf-price-compare__bullets {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem 1.75rem;
    }
}

.mf-price-compare__bullets li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.mf-price-compare__bullet-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mf-accent-orange);
    flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(249, 146, 28, 0.2);
}

.mf-price-compare__disclaimer {
    margin: 1.25rem 0 0;
    font-size: 11px;
    line-height: 1.5;
    color: rgba(10, 37, 64, 0.45);
    text-align: center;
}

.mf-price-compare .is-hidden {
    display: none !important;
}

/* —— Section: 3 Schritte (clean Card, mr.-foodis-Anmutung) —— */
.mf-steps {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
    background: #f7f5f2;
    padding: 3.5rem 1rem 4.5rem;
}

@media (min-width: 768px) {
    .mf-steps {
        padding: 4.5rem 1.5rem 5.5rem;
    }
}

.mf-steps__wrap {
    max-width: 1220px;
    margin: 0 auto;
}

/* Gestapelter Rahmen (mr.-foodis / stacked-frame-Anmutung) */
.mf-steps__stack-outer {
    width: 100%;
    min-width: 0;
    border-radius: 1.1rem;
    padding: 2px;
    background: linear-gradient(
        148deg,
        rgba(0, 0, 0, 0.07) 0%,
        rgba(120, 118, 112, 0.14) 38%,
        rgba(0, 0, 0, 0.06) 100%
    );
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

@media (min-width: 640px) {
    .mf-steps__stack-outer {
        border-radius: 1.15rem;
        padding: 4px;
    }
}

.mf-steps__stack-inner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 1.02rem;
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(8, 42, 64, 0.04);
    padding: 1.35rem 1.25rem 1.5rem;
}

/* Logo dezent oben rechts (Kopfbereich „In 3 Schritten …“) */
.mf-steps__stack-inner::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 3.25rem;
    right: 1.25rem;
    width: min(62%, 24rem);
    height: 5.75rem;
    background-image: var(--mf-steps-box-logo);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: contain;
    opacity: 0.2;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 58%, transparent 100%);
}

@media (min-width: 640px) {
    .mf-steps__stack-inner::before {
        top: 3.75rem;
        right: 2rem;
        height: 6.5rem;
        opacity: 0.24;
    }
}

@media (min-width: 768px) {
    .mf-steps__stack-inner::before {
        top: 4rem;
        right: 2.25rem;
        height: 7.25rem;
        opacity: 0.26;
    }
}

/* Business /business: kein Logo-Wasserzeichen im Funktionen-Block */
.mf-biz-page__feat-stack-inner--no-logo::before {
    display: none;
}

@media (min-width: 640px) {
    .mf-steps__stack-inner {
        border-radius: 1.08rem;
        padding: 1.75rem 1.75rem 2rem;
    }
}

@media (min-width: 768px) {
    .mf-steps__stack-inner {
        padding: 2rem 2rem 2.35rem;
    }
}

@media (min-width: 1024px) {
    .mf-steps__stack-inner {
        padding: 2.25rem 2.5rem 2.5rem;
    }
}

.mf-steps__eyebrow-wrap {
    margin: 0 0 0.75rem;
    text-align: left;
}

.mf-steps__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #faf9f5;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.55);
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

@media (min-width: 640px) {
    .mf-steps__eyebrow {
        font-size: 11px;
        letter-spacing: 0.12em;
        padding: 0.4rem 0.85rem;
    }
}

.mf-steps__eyebrow-ico {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    object-fit: contain;
    flex-shrink: 0;
}

.mf-steps__brand-kicker {
    margin: 0 0 0.45rem;
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(8, 42, 79, 0.45);
}

@media (min-width: 640px) {
    .mf-steps__brand-kicker {
        font-size: 11px;
        letter-spacing: 0.22em;
    }
}

.mf-steps__head-rule {
    width: 2.75rem;
    height: 3px;
    margin: 0 0 1rem;
    border-radius: 9999px;
    background: linear-gradient(
        90deg,
        var(--mf-teal-deep) 0%,
        var(--mf-turquoise) 55%,
        rgba(4, 172, 195, 0.35) 100%
    );
}

@media (min-width: 640px) {
    .mf-steps__head-rule {
        margin-bottom: 1.15rem;
    }
}

.mf-steps__head {
    position: relative;
    z-index: 1;
    text-align: left;
    margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
    .mf-steps__head {
        margin-bottom: 3rem;
    }
}

.mf-steps__title {
    margin: 0;
    font-size: clamp(1.65rem, 3.5vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--mf-navy);
}

.mf-steps__title.mf-price-compare__title {
    font-weight: 600;
    color: rgba(13, 44, 72, 0.78);
}

.mf-steps__title.mf-price-compare__title .mf-price-compare__title-brand {
    font-weight: 500;
    color: rgba(13, 44, 72, 0.82);
    letter-spacing: -0.025em;
}

.mf-steps__title.mf-price-compare__title .mf-price-compare__title-accent {
    font-weight: 700;
    color: var(--mf-navy);
    letter-spacing: -0.03em;
}

.mf-steps__title-accent {
    color: var(--mf-turquoise);
}

.mf-steps__subtitle {
    margin: 0.85rem 0 0;
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(13, 44, 72, 0.68);
    text-align: left;
}

.mf-steps__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 900px) {
    .mf-steps__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.75rem;
    }
}

.mf-step {
    position: relative;
    height: 100%;
    margin: 0;
}

.mf-step__stack-outer {
    height: 100%;
    border-radius: 0.95rem;
    padding: 2px;
    background: linear-gradient(
        148deg,
        rgba(0, 0, 0, 0.07) 0%,
        rgba(120, 118, 112, 0.14) 38%,
        rgba(0, 0, 0, 0.06) 100%
    );
    box-shadow: 0 1px 2px rgba(13, 44, 72, 0.06);
}

@media (min-width: 640px) {
    .mf-step__stack-outer {
        border-radius: 1rem;
        padding: 3px;
    }
}

.mf-step__stack-inner {
    position: relative;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
    isolation: isolate;
    border-radius: 0.86rem;
    border: 1px solid rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(13, 44, 72, 0.05);
    padding: 1.15rem 1.05rem 1.25rem;
}

@media (min-width: 640px) {
    .mf-step__stack-inner {
        border-radius: 0.9rem;
        padding: 1.25rem 1.15rem 1.35rem;
    }
}

@media (min-width: 900px) {
    .mf-step__stack-inner {
        padding: 1.35rem 1.2rem 1.4rem;
    }
}

/* Große Schrittzahl im Hintergrund + feines Gitter */
.mf-steps__grid .mf-step:nth-child(1) .mf-step__stack-inner::before,
.mf-steps__grid .mf-step:nth-child(2) .mf-step__stack-inner::before,
.mf-steps__grid .mf-step:nth-child(3) .mf-step__stack-inner::before {
    position: absolute;
    right: -0.25rem;
    bottom: -1rem;
    z-index: 0;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(4rem, 14vw, 6rem);
    font-weight: 800;
    letter-spacing: -0.08em;
    line-height: 1;
    color: rgba(110, 112, 120, 0.14);
    pointer-events: none;
    user-select: none;
}

.mf-steps__grid .mf-step:nth-child(1) .mf-step__stack-inner::before {
    content: '01';
}

.mf-steps__grid .mf-step:nth-child(2) .mf-step__stack-inner::before {
    content: '02';
}

.mf-steps__grid .mf-step:nth-child(3) .mf-step__stack-inner::before {
    content: '03';
}

.mf-step__stack-inner::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(13, 44, 72, 0.045) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(13, 44, 72, 0.045) 1px, transparent 1px),
        linear-gradient(to right, rgba(13, 44, 72, 0.022) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(13, 44, 72, 0.022) 1px, transparent 1px);
    background-size:
        28px 28px,
        28px 28px,
        7px 7px,
        7px 7px;
    opacity: 0.55;
    -webkit-mask-image: radial-gradient(ellipse 85% 75% at 50% 45%, #000 0%, #000 55%, transparent 100%);
    mask-image: radial-gradient(ellipse 85% 75% at 50% 45%, #000 0%, #000 55%, transparent 100%);
}

.mf-step__stack-inner > * {
    position: relative;
    z-index: 1;
}

.mf-step__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.mf-step__icon-wrap {
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    flex-shrink: 0;
}

.mf-step__icon {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 0.65rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #faf9f5;
    color: var(--mf-teal-deep);
    box-shadow:
        0 1px 2px rgba(13, 44, 72, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.mf-step__icon svg {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
    transform-origin: center center;
    animation: mf-step-icon-breathe 3.2s ease-in-out infinite;
}

.mf-steps__grid .mf-step:nth-child(1) .mf-step__icon svg {
    animation-delay: 0s;
}

.mf-steps__grid .mf-step:nth-child(2) .mf-step__icon svg {
    animation-delay: 0.4s;
}

.mf-steps__grid .mf-step:nth-child(3) .mf-step__icon svg {
    animation-delay: 0.8s;
}

@keyframes mf-step-icon-breathe {
    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-3px) scale(1.07);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-step__icon svg {
        animation: none;
    }
}

.mf-step__num {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    display: flex;
    width: 1.65rem;
    height: 1.65rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: linear-gradient(145deg, var(--mf-teal-deep), var(--mf-turquoise));
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(4, 172, 195, 0.35);
}

.mf-step__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
    padding: 0.22rem 0.55rem;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mf-teal-deep);
    background: rgba(4, 172, 195, 0.12);
    border: 1px solid rgba(4, 172, 195, 0.28);
    white-space: nowrap;
}

.mf-step__pill--live {
    color: #166534;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    padding-left: 0.4rem;
    padding-right: 0.55rem;
}

.mf-step__pill-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    flex-shrink: 0;
    animation: mf-step-live-pulse 1.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .mf-step__pill-dot {
        animation: none;
        opacity: 1;
    }
}

@keyframes mf-step-live-pulse {
    0%,
    100% {
        opacity: 1;
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
    }

    45% {
        opacity: 0.85;
        transform: scale(1.15);
        box-shadow: 0 0 0 6px rgba(34, 197, 94, 0);
    }
}

.mf-step__heading {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
    line-height: 1.3;
}

.mf-step__text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(13, 44, 72, 0.7);
}

.mf-platform-badges--compact {
    margin-top: 1rem;
    align-self: flex-start;
    max-width: 100%;
}

.mf-platform-badges--compact .mf-platform-badge {
    padding: 0.3rem 0.5rem;
    min-height: auto;
}

.mf-platform-badges--compact .mf-platform-badge__word,
.mf-platform-badges--compact .mf-platform-badge__word--kleinanzeigen {
    font-size: 10px;
}

@media (min-width: 640px) {
    .mf-platform-badges--compact .mf-platform-badge__word,
    .mf-platform-badges--compact .mf-platform-badge__word--kleinanzeigen {
        font-size: 11px;
    }
}

.mf-steps__tip {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 2.25rem;
    padding: 1rem 1.15rem;
    border-radius: 0.85rem;
    background: #faf9f7;
    border: 1px solid rgba(13, 44, 72, 0.1);
}

@media (min-width: 640px) {
    .mf-steps__tip {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 1.1rem 1.35rem;
    }
}

.mf-steps__tip-main {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.mf-steps__tip-ico {
    flex-shrink: 0;
    display: flex;
    margin-top: 0.1rem;
    color: var(--mf-turquoise);
}

.mf-steps__tip-ico svg {
    width: 1.25rem;
    height: 1.25rem;
}

.mf-steps__tip-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(13, 44, 72, 0.7);
}

.mf-steps__tip-text strong {
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-steps__tip-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--mf-teal-deep);
    text-decoration: none;
    transition: color 0.15s ease;
}

.mf-steps__tip-link:hover {
    color: var(--mf-turquoise);
}

.mf-steps__cta-wrap {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.mf-steps__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.65rem;
    border-radius: 0.75rem;
    background: linear-gradient(145deg, var(--mf-teal-deep) 0%, var(--mf-turquoise) 45%, #2ec4db 100%);
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 2px 10px rgba(4, 172, 195, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition:
        filter 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.mf-steps__cta:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
    box-shadow:
        0 4px 18px rgba(4, 172, 195, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.mf-steps__cta-ico {
    width: 1.15rem;
    height: 1.15rem;
    flex-shrink: 0;
    opacity: 0.95;
}

.mf-steps__cta-arrow {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    margin-left: 0.15rem;
}

.mf-start .mf-steps__cta {
    color: #fff;
}

/* —— Ratgeber /ratgeber (Hero + Raster, Markenfarben) —— */
.mf-ratgeber-hero {
    position: relative;
    overflow: hidden;
    background: #fafaf8;
    border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    padding: 2.75rem 1rem 3.25rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-hero {
        padding: 3.5rem 1.5rem 4rem;
    }
}

.mf-ratgeber-hero__pattern {
    position: absolute;
    right: -5%;
    top: 0;
    width: min(58vw, 520px);
    height: 100%;
    pointer-events: none;
    opacity: 0.55;
    background:
        repeating-linear-gradient(
            -32deg,
            transparent,
            transparent 16px,
            rgba(4, 172, 195, 0.07) 16px,
            rgba(4, 172, 195, 0.07) 17px
        ),
        repeating-linear-gradient(
            32deg,
            transparent,
            transparent 16px,
            rgba(13, 44, 72, 0.05) 16px,
            rgba(13, 44, 72, 0.05) 17px
        );
    -webkit-mask-image: linear-gradient(to left, #000 35%, transparent 92%);
    mask-image: linear-gradient(to left, #000 35%, transparent 92%);
}

.mf-ratgeber-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 40rem;
    margin: 0 auto;
    text-align: center;
}

.mf-ratgeber-hero__eyebrow-wrap {
    text-align: center;
    margin: 0 auto 1rem;
}

.mf-ratgeber-hero__title {
    margin: 0;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(1.65rem, 4vw, 2.35rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.18;
    color: var(--mf-navy);
}

.mf-ratgeber-hero__title-accent {
    font-weight: 700;
    color: var(--mf-turquoise);
}

.mf-ratgeber-hero__lead {
    margin: 1rem auto 0;
    max-width: 32rem;
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.68);
}

.mf-ratgeber-search {
    margin: 1.85rem auto 0;
    max-width: 32rem;
    text-align: left;
}

.mf-ratgeber-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mf-ratgeber-search__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: stretch;
}

.mf-ratgeber-search__input {
    flex: 1 1 12rem;
    min-width: 0;
    padding: 0.8rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(10, 37, 64, 0.12);
    background: #fff;
    font-family: inherit;
    font-size: 0.9375rem;
    color: var(--mf-navy);
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.mf-ratgeber-search__input::placeholder {
    color: rgba(13, 44, 72, 0.42);
}

.mf-ratgeber-search__input:hover {
    border-color: rgba(4, 172, 195, 0.35);
}

.mf-ratgeber-search__input:focus {
    outline: none;
    border-color: var(--mf-turquoise);
    box-shadow:
        0 0 0 3px rgba(4, 172, 195, 0.2),
        0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-ratgeber-search__btn {
    flex-shrink: 0;
    padding: 0.8rem 1.35rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(145deg, #2ec4d6 0%, var(--mf-turquoise) 42%, var(--mf-teal-deep) 100%);
    box-shadow:
        0 4px 14px rgba(4, 172, 195, 0.35),
        0 1px 2px rgba(10, 37, 64, 0.08);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-ratgeber-search__btn:hover {
    transform: translateY(-1px);
    box-shadow:
        0 6px 20px rgba(4, 172, 195, 0.4),
        0 2px 4px rgba(10, 37, 64, 0.08);
}

.mf-ratgeber-search__btn:active {
    transform: translateY(0);
}

.mf-ratgeber-list {
    background: #fff;
    padding: 2.75rem 1rem 4rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-list {
        padding: 3.25rem 1.5rem 4.5rem;
    }
}

.mf-ratgeber-list__inner {
    max-width: 1120px;
    margin: 0 auto;
}

.mf-ratgeber-list__empty {
    margin: 0;
    padding: 2rem 1rem;
    text-align: center;
    font-size: 0.9375rem;
    color: rgba(13, 44, 72, 0.55);
}

.mf-ratgeber-list__empty.is-hidden {
    display: none !important;
}

.mf-ratgeber-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .mf-ratgeber-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem;
    }
}

@media (min-width: 1024px) {
    .mf-ratgeber-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Archiv-Karten: gestapelter Rahmen (äußere Hülle + innere weiße Fläche, Hover wie Referenz) */
.mf-ratgeber-grid__item {
    margin: 0;
    min-width: 0;
}

.mf-ratgeber-grid__item.is-hidden {
    display: none !important;
}

.mf-ratgeber-stack {
    margin: 0;
    border-radius: 20px;
    border: 1px solid rgba(8, 42, 79, 0.06);
    background: rgba(8, 42, 79, 0.02);
    padding: 0.5rem;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.06);
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        box-shadow 0.22s ease;
    height: 100%;
}

.mf-ratgeber-stack:hover {
    border-color: rgba(4, 172, 195, 0.3);
    box-shadow: 0 2px 10px rgba(4, 172, 195, 0.08);
}

.mf-ratgeber-stack__link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}

.mf-ratgeber-stack__surface {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.05);
    background: #fff;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

.mf-ratgeber-stack__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #faf9f5;
}

.mf-ratgeber-stack__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.5s ease;
}

.mf-ratgeber-stack:hover .mf-ratgeber-stack__img {
    transform: scale(1.03);
}

.mf-ratgeber-stack__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.25rem 1.35rem 1.4rem;
    gap: 0;
}

@media (min-width: 640px) {
    .mf-ratgeber-stack__body {
        padding: 1.35rem 1.5rem 1.5rem;
    }
}

.mf-ratgeber-stack__date {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mf-turquoise);
}

.mf-ratgeber-stack__title {
    margin: 0.5rem 0 0;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.35;
    color: var(--mf-navy);
    transition: color 0.22s ease;
}

.mf-ratgeber-stack:hover .mf-ratgeber-stack__title {
    color: var(--mf-turquoise);
}

.mf-ratgeber-stack__excerpt {
    margin: 0.75rem 0 0;
    flex: 1;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.7);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.mf-ratgeber-stack__more {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    font-size: 13px;
    font-weight: 700;
    color: var(--mf-navy);
    transition: color 0.2s ease;
}

.mf-ratgeber-stack__arrow {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.mf-ratgeber-stack:hover .mf-ratgeber-stack__more {
    color: var(--mf-teal-deep);
}

.mf-ratgeber-stack:hover .mf-ratgeber-stack__arrow {
    transform: translateX(3px);
}

/* Ratgeber-Einzelseite: Landing-Layout (Hero + Kontakt + Pakete + FAQ) */
.mf-ratgeber-lp-hero {
    position: relative;
    overflow: hidden;
    background: #fafaf8;
    border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    padding: 1.5rem 1rem 2.5rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-lp-hero {
        padding: 2rem 1.5rem 3.5rem;
    }
}

.mf-ratgeber-lp-hero__pattern {
    position: absolute;
    right: -5%;
    top: 0;
    width: min(58vw, 520px);
    height: 100%;
    pointer-events: none;
    opacity: 0.5;
    background:
        repeating-linear-gradient(
            -32deg,
            transparent,
            transparent 16px,
            rgba(4, 172, 195, 0.07) 16px,
            rgba(4, 172, 195, 0.07) 17px
        ),
        repeating-linear-gradient(
            32deg,
            transparent,
            transparent 16px,
            rgba(13, 44, 72, 0.05) 16px,
            rgba(13, 44, 72, 0.05) 17px
        );
    -webkit-mask-image: linear-gradient(to left, #000 35%, transparent 92%);
    mask-image: linear-gradient(to left, #000 35%, transparent 92%);
}

.mf-ratgeber-lp-hero__shell {
    position: relative;
    z-index: 1;
    max-width: 72rem;
    margin: 0 auto;
}

.mf-ratgeber-lp-hero__grid {
    display: grid;
    gap: 1.75rem;
    align-items: center;
}

@media (min-width: 900px) {
    .mf-ratgeber-lp-hero__grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        gap: 2.5rem;
    }
}

.mf-ratgeber-lp-hero__copy {
    text-align: left;
}

.mf-ratgeber-lp-hero__copy .mf-ratgeber-hero__eyebrow-wrap {
    margin: 0 0 0.9rem;
    text-align: left;
}

.mf-ratgeber-lp-hero__title {
    margin: 0;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(1.65rem, 3.2vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--mf-navy);
}

.mf-ratgeber-lp-hero__lead {
    margin: 1rem 0 0;
    max-width: 40rem;
    font-size: 1.02rem;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.72);
}

.mf-ratgeber-lp-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: 1.35rem;
    align-items: center;
}

.mf-ratgeber-lp-hero__cta {
    min-height: 2.75rem;
}

.mf-ratgeber-lp-hero__cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--mf-teal-deep);
    text-decoration: none;
    transition: color 0.2s ease, gap 0.2s ease;
}

.mf-ratgeber-lp-hero__cta-secondary:hover {
    color: var(--mf-turquoise);
    gap: 0.45rem;
}

.mf-ratgeber-lp-hero__visual {
    min-width: 0;
}

.mf-ratgeber-lp-hero__img-frame {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(8, 42, 79, 0.08);
    background: #faf9f5;
    box-shadow:
        0 1px 2px rgba(10, 37, 64, 0.06),
        0 12px 40px rgba(10, 37, 64, 0.08);
}

.mf-ratgeber-lp-hero__img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center top;
}

.mf-ratgeber-article-bands {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0.75rem 0 1rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-article-bands {
        gap: 1rem;
        padding: 1rem 0 1.5rem;
    }
}

.mf-ratgeber-article-band {
    width: auto;
    margin-left: 1rem;
    margin-right: 1rem;
    border-radius: 1rem;
    overflow: hidden;
    scroll-margin-top: 5.5rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-article-band {
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }
}

.mf-ratgeber-article-band--light {
    background: #fff;
}

.mf-ratgeber-article-band--alt {
    background: #fafaf8;
}

.mf-ratgeber-article-band--cta,
.mf-ratgeber-article-band--cta.mf-ratgeber-article-band--light,
.mf-ratgeber-article-band--cta.mf-ratgeber-article-band--alt {
    background: #fff;
}

.mf-ratgeber-article-band__shell {
    width: 100%;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-article-band__shell {
        padding-top: 2.75rem;
        padding-bottom: 2.75rem;
    }
}

.mf-ratgeber-article-band--cta .mf-ratgeber-article-band__shell {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-article-band--cta .mf-ratgeber-article-band__shell {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}

.mf-ratgeber-article--lp {
    max-width: none;
    margin: 0;
}

.mf-ratgeber-article-cta__inner {
    max-width: none;
    width: 100%;
}

.mf-ratgeber-article-cta__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mf-turquoise);
}

.mf-ratgeber-article-cta__title {
    margin: 0;
    font-size: clamp(1.15rem, 2.4vw, 1.4rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--mf-navy);
}

.mf-ratgeber-article-cta__lead {
    margin: 0.65rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(13, 44, 72, 0.72);
}

.mf-ratgeber-article-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: 1.15rem;
}

@media (min-width: 520px) {
    .mf-ratgeber-article-cta__actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
}

.mf-ratgeber-article-cta__btn-primary {
    width: 100%;
}

@media (min-width: 520px) {
    .mf-ratgeber-article-cta__btn-primary {
        width: auto;
    }
}

.mf-ratgeber-article-cta__btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.75rem;
    padding: 0.55rem 1rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(10, 37, 64, 0.14);
    background: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-navy);
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.mf-ratgeber-article-cta__btn-secondary:hover {
    border-color: rgba(4, 172, 195, 0.45);
    color: var(--mf-teal-deep);
    background: rgba(4, 172, 195, 0.04);
}

.mf-ratgeber-article__surface--no-figure {
    border-radius: 1rem;
}

.mf-ratgeber-article__prose--lp-top {
    padding-top: 1.5rem;
}

@media (min-width: 640px) {
    .mf-ratgeber-article__prose--lp-top {
        padding-top: 1.75rem;
    }
}

/* Kontakt-Block (Landing) vor Paketen */
.mf-kontakt-landing {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    padding: 3rem 1rem 3.5rem;
}

@media (min-width: 768px) {
    .mf-kontakt-landing {
        padding: 3.75rem 1.5rem 4.5rem;
    }
}

/* Eigene /kontakt-Seite: Formular unter Hero, ohne doppelte Block-Überschrift */
.mf-kontakt-landing--page {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
    background: #fafaf8;
    padding: 2.5rem 1rem 3.5rem;
}

@media (min-width: 768px) {
    .mf-kontakt-landing--page {
        padding: 3rem 1.5rem 4.5rem;
    }
}

.mf-kontakt-landing__form-section-title {
    margin: 0 0 1.25rem;
    text-align: center;
    font-size: clamp(1.15rem, 2.2vw, 1.35rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--mf-navy);
}

.mf-kontakt-landing__wrap {
    max-width: 40rem;
    margin: 0 auto;
}

.mf-kontakt-landing__head {
    text-align: center;
    margin-bottom: 1.5rem;
}

#mf-kontakt-landing-heading {
    scroll-margin-top: 5.5rem;
}

.mf-kontakt-landing__stack-outer {
    width: 100%;
    min-width: 0;
    border-radius: 20px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-kontakt-landing__stack-inner {
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.08);
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.05);
    padding: 1.35rem 1.2rem 1.5rem;
}

@media (min-width: 640px) {
    .mf-kontakt-landing__stack-inner {
        padding: 1.5rem 1.5rem 1.75rem;
    }
}

.mf-kontakt-landing__ok {
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 0.65rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #0d4a32;
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.25);
}

.mf-kontakt-landing__errors {
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 0.65rem;
    background: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.2);
    color: #7f1d1d;
    font-size: 0.875rem;
    line-height: 1.45;
}

.mf-kontakt-landing__errors-title {
    margin: 0 0 0.35rem;
    font-weight: 700;
    font-size: 0.875rem;
}

.mf-kontakt-landing__errors ul {
    margin: 0;
    padding-left: 1.1rem;
}

.mf-kontakt-landing__form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mf-kontakt-landing__row {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.mf-kontakt-landing__label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(13, 44, 72, 0.85);
}

.mf-kontakt-landing__req {
    color: #dc2626;
    font-weight: 700;
}

.mf-kontakt-landing__opt {
    font-weight: 500;
    color: rgba(13, 44, 72, 0.45);
    font-size: 0.8rem;
}

.mf-kontakt-landing__input,
.mf-kontakt-landing__textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 0.9375rem;
    padding: 0.7rem 0.85rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(10, 37, 64, 0.14);
    background: #fff;
    color: var(--mf-navy);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mf-kontakt-landing__input:hover,
.mf-kontakt-landing__textarea:hover {
    border-color: rgba(10, 37, 64, 0.22);
}

.mf-kontakt-landing__input:focus,
.mf-kontakt-landing__textarea:focus {
    outline: none;
    border-color: rgba(4, 172, 195, 0.65);
    box-shadow: 0 0 0 3px rgba(4, 172, 195, 0.2);
}

.mf-kontakt-landing__textarea {
    resize: vertical;
    min-height: 7.5rem;
    line-height: 1.55;
}

.mf-kontakt-landing__fine {
    margin: 0 0 1.1rem;
    font-size: 0.75rem;
    line-height: 1.5;
    color: rgba(13, 44, 72, 0.5);
}

.mf-kontakt-landing__consent {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    font-weight: 500;
    color: rgba(13, 44, 72, 0.82);
    cursor: pointer;
}

.mf-kontakt-landing__consent input {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
    accent-color: var(--mf-teal-deep);
    cursor: pointer;
}

.mf-kontakt-landing__link {
    color: var(--mf-teal-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mf-kontakt-landing__link:hover {
    color: var(--mf-turquoise);
}

.mf-kontakt-landing__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.mf-kontakt-landing__submit {
    width: 100%;
    justify-content: center;
    min-height: 2.85rem;
}

@media (min-width: 480px) {
    .mf-kontakt-landing__submit {
        width: auto;
    }
}

/* Auth- & Konto-Seiten (Login, Registrierung, Dashboard, Profil) */
#mf-auth-heading,
#mf-app-heading {
    scroll-margin-top: 5.5rem;
}

.mf-page-auth #main,
.mf-page-app #main {
    min-height: min(60vh, 640px);
}

.mf-auth-page {
    position: relative;
    padding: 2.5rem 1rem 3.5rem;
    background: #fafaf8;
    overflow: hidden;
}

@media (min-width: 768px) {
    .mf-auth-page:not(.mf-auth-page--split) {
        padding: 3rem 1.5rem 4rem;
    }
}

.mf-auth-page__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #fafaf8;
    background-image:
        linear-gradient(to right, rgba(13, 44, 72, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(13, 44, 72, 0.04) 1px, transparent 1px),
        linear-gradient(to right, rgba(4, 172, 195, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(4, 172, 195, 0.04) 1px, transparent 1px);
    background-size: 28px 28px, 28px 28px, 7px 7px, 7px 7px;
    -webkit-mask-image: radial-gradient(ellipse 100% 70% at 50% 0%, #000 0%, #000 45%, transparent 100%);
    mask-image: radial-gradient(ellipse 100% 70% at 50% 0%, #000 0%, #000 45%, transparent 100%);
    opacity: 0.6;
}

.mf-auth-page__inner {
    position: relative;
    z-index: 1;
    max-width: 28rem;
    margin: 0 auto;
}

.mf-kontakt-landing__wrap.mf-auth-page__wrap {
    max-width: 28rem;
}

/* Auth 30/70: links Promo, rechts Formular, Trennlinie dazwischen */
.mf-auth-page--split {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 0;
    min-height: 100%;
    align-items: stretch;
}

.mf-auth-split__vline {
    display: none;
}

@media (min-width: 640px) {
    .mf-auth-page--split {
        grid-template-columns: minmax(0, 3fr) 1px minmax(0, 7fr);
        min-height: 100dvh;
        min-height: 100vh;
    }

    .mf-auth-split__vline {
        display: block;
        width: 1px;
        margin: 0;
        padding: 0;
        justify-self: center;
        background: rgba(10, 37, 64, 0.1);
        box-shadow: 1px 0 0 rgba(255, 255, 255, 0.75);
    }
}

.mf-auth-split__promo {
    background: #f7f5f2;
    padding: 2rem 1.25rem 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(10, 37, 64, 0.1);
}

@media (min-width: 640px) {
    .mf-auth-split__promo {
        border-bottom: none;
        padding: 2.5rem 2.25rem 2.5rem;
        min-height: 100%;
    }
}

.mf-auth-split__promo-inner {
    max-width: 26rem;
    width: 100%;
}

.mf-auth-split__brand {
    display: inline-block;
    margin-bottom: 1.35rem;
    text-decoration: none;
}

.mf-auth-split__brand:hover {
    opacity: 0.92;
}

.mf-auth-split__brand-logo {
    display: block;
    max-width: min(240px, 88vw);
    width: 100%;
    height: auto;
}

.mf-auth-split__title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.35rem, 3.2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
}

.mf-auth-split__title-accent {
    color: var(--mf-turquoise);
    font-weight: 800;
}

.mf-auth-split__lead {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: rgba(13, 44, 72, 0.78);
    font-weight: 500;
}

.mf-auth-split__list {
    list-style: none;
    margin: 1.35rem 0 0;
    padding: 0;
}

.mf-auth-split__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.8rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(13, 44, 72, 0.88);
    line-height: 1.45;
}

.mf-auth-split__list li:last-child {
    margin-bottom: 0;
}

.mf-auth-split__check {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.1rem;
    color: var(--mf-turquoise);
}

.mf-auth-split__check svg {
    width: 100%;
    height: 100%;
    display: block;
}

.mf-auth-split__form-col {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem 2.75rem;
    min-width: 0;
    background: #fafaf8;
}

@media (min-width: 640px) {
    .mf-auth-split__form-col {
        padding: 2.5rem 1.5rem 3.5rem;
        min-height: 100%;
    }
}

.mf-auth-split__form-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #fafaf8;
    background-image:
        linear-gradient(to right, rgba(13, 44, 72, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(13, 44, 72, 0.04) 1px, transparent 1px),
        linear-gradient(to right, rgba(4, 172, 195, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(4, 172, 195, 0.04) 1px, transparent 1px);
    background-size: 28px 28px, 28px 28px, 7px 7px, 7px 7px;
    -webkit-mask-image: radial-gradient(ellipse 95% 88% at 50% 44%, #000 0%, #000 52%, transparent 100%);
    mask-image: radial-gradient(ellipse 95% 88% at 50% 44%, #000 0%, #000 52%, transparent 100%);
    opacity: 0.55;
}

.mf-auth-split__form-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
}

.mf-app-page {
    position: relative;
    padding: 1.5rem 1rem 3.5rem;
    background: #fafaf8;
    min-height: 50vh;
}

@media (min-width: 768px) {
    .mf-app-page {
        padding: 2rem 1.5rem 4rem;
    }
}

.mf-app-page__shell {
    max-width: 44rem;
    margin: 0 auto;
    width: 100%;
    min-width: 0;
}

.mf-app-page__head {
    margin-bottom: 1.25rem;
}

.mf-app-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    padding: 0.5rem 0.6rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.1);
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
    font-size: 0.8125rem;
    font-weight: 600;
}

.mf-app-subnav__link {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.7rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: rgba(13, 44, 72, 0.75);
    border: 1px solid transparent;
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
    background: none;
    font: inherit;
    cursor: pointer;
    font-weight: 600;
}

.mf-app-subnav__link:hover {
    color: var(--mf-teal-deep);
    background: rgba(4, 172, 195, 0.06);
}

.mf-app-subnav__link--active {
    color: var(--mf-navy);
    background: rgba(4, 172, 195, 0.12);
    border-color: rgba(4, 172, 195, 0.35);
}

.mf-app-subnav__logout {
    margin: 0 0 0 auto;
    display: inline-flex;
}

.mf-app-subnav__link--btn {
    color: rgba(13, 44, 72, 0.55);
}

.mf-app-subnav__link--btn:hover {
    color: #b91c1c;
    background: rgba(220, 38, 38, 0.08);
}

.mf-app-page__title h1,
.mf-app-page__title h2,
.mf-app-page__title-heading {
    margin: 0 0 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--mf-navy);
    letter-spacing: -0.02em;
}

.mf-app-page__content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.mf-app-panel {
    width: 100%;
    min-width: 0;
    border-radius: 20px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-app-panel__inner {
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.08);
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.05);
    padding: 1.35rem 1.2rem 1.5rem;
}

@media (min-width: 640px) {
    .mf-app-panel__inner {
        padding: 1.5rem 1.5rem 1.75rem;
    }
}

.mf-app-panel__section-title {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-app-panel__section-lead {
    margin: 0 0 1.25rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(13, 44, 72, 0.65);
}

.mf-app-panel__form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mf-app-panel__h {
    margin: 0 0 0.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--mf-navy);
}

/* Business-Paket-Sektion aus /business im Dashboard: volle Kartenbreite, weniger Fuß-Abstand */
.mf-app-panel--biz-pakete-wrap .mf-app-panel__inner--bleed-biz-pakete {
    padding: 0.9rem 0.4rem 1.1rem;
}

@media (min-width: 640px) {
    .mf-app-panel--biz-pakete-wrap .mf-app-panel__inner--bleed-biz-pakete {
        padding: 1.1rem 0.5rem 1.35rem;
    }
}

.mf-app-panel__section-lead--biz-booster {
    margin-bottom: 0.5rem;
}

/* Gewerbe/Privat ohne Abo: nur Paketwahl, keine Sidebar */
.mf-page-dashboard--no-sub .mf-dashboard-header,
.mf-page-dashboard--biz-no-sub .mf-dashboard-header {
    border-bottom: none;
}

.mf-dash-no-sub__page {
    max-width: 72rem;
}

.mf-dash-no-sub__pakete .mf-cdash__section {
    gap: 0;
}

.mf-app-page--biz-no-sub .mf-app-panel--biz-pakete-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.mf-pakete--dashboard-embed.mf-biz-page__pakete {
    border-top: none; /* kein Sektionstrenner über „Business-Tarife“ (sonst vgl. .mf-pakete) */
    padding-bottom: 1.25rem;
}

@media (min-width: 768px) {
    .mf-pakete--dashboard-embed.mf-biz-page__pakete {
        padding-bottom: 1.5rem;
    }
}

.mf-pakete__checkout-form {
    display: flex;
    flex-direction: column;
    margin-top: auto;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    flex-shrink: 0;
}

.mf-pakete__checkout-form .mf-pakete__cta {
    font: inherit;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
    appearance: none;
}

.mf-app-flash {
    margin: 0 0 0.5rem;
    padding: 0.65rem 0.9rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
    background: #f0f4f8;
    color: #0f172a;
}

.mf-app-flash--ok {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.mf-app-flash--err {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.mf-sub-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mf-sub-card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(10, 37, 64, 0.1);
    border-radius: 0.5rem;
    background: #fafafa;
}

.mf-sub-card__title {
    margin: 0 0 0.15rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-sub-card__meta {
    margin: 0.15rem 0 0;
    font-size: 0.8rem;
    color: #64748b;
}

.mf-sub-card__actions {
    margin-left: auto;
}

.mf-sub-card__btn {
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
}

.mf-sub-billing {
    margin-top: 0.45rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-sub-billing__row {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.35;
}

.mf-sub-billing__row strong {
    color: var(--mf-navy);
    font-weight: 600;
}

.mf-sub-mode-toggle {
    display: inline-flex;
    border-radius: 0.5rem;
    border: 1px solid rgba(10, 37, 64, 0.15);
    overflow: hidden;
    margin: 0 0 1rem;
}

.mf-sub-mode-toggle__btn {
    padding: 0.45rem 0.9rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    background: #fff;
}

.mf-sub-mode-toggle__btn:hover {
    color: var(--mf-teal-deep);
}

.mf-sub-mode-toggle__btn.is-active {
    background: rgb(243 244 246);
    color: #0a0a0a;
}

.mf-sub-term-toggle {
    display: inline-flex;
    border-radius: 0.5rem;
    border: 1px solid rgba(10, 37, 64, 0.15);
    overflow: hidden;
    margin: 0 0 1rem;
}

.mf-sub-term-toggle__btn {
    padding: 0.45rem 0.9rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    background: #fff;
    border: 0;
    font: inherit;
    cursor: pointer;
}

.mf-sub-term-toggle__btn:hover {
    color: var(--mf-teal-deep);
}

.mf-sub-term-toggle__btn.is-active {
    background: rgb(243 244 246);
    color: #0a0a0a;
}

.mf-sub-offers {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 700px) {
    .mf-sub-offers {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mf-sub-offers {
        grid-template-columns: repeat(3, 1fr);
    }
}

.mf-sub-offer {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(10, 37, 64, 0.1);
    border-radius: 0.6rem;
    padding: 1rem 1rem 1.1rem;
    background: #fff;
}

.mf-sub-offer__name {
    margin: 0 0 0.2rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-sub-offer__kicker {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    color: #64748b;
}

.mf-sub-offer__price {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0a2540;
}

.mf-sub-offer__per {
    display: block;
    font-size: 0.72rem;
    font-weight: 500;
    color: #94a3b8;
    margin-top: 0.15rem;
}

.mf-sub-offer__slots {
    margin: 0 0 0.75rem;
    font-size: 0.78rem;
    color: #64748b;
    flex: 1 1 auto;
}

.mf-sub-offer__cta {
    width: 100%;
    margin-top: auto;
    font-size: 0.8rem;
    justify-content: center;
    padding: 0.5rem 0.75rem;
}

.mf-page-dashboard .mf-sub-offer__cta {
    font-weight: 800;
    background: var(--mf-dashboard-primary);
    box-shadow: 0 1px 2px var(--mf-dashboard-primary-shadow);
}

.mf-page-dashboard .mf-sub-offer__cta:hover {
    background: var(--mf-dashboard-primary-hover);
    filter: none;
}

.mf-page-dashboard .mf-sub-mode-toggle__btn:hover {
    color: var(--mf-dashboard-ui-ink);
}

.mf-page-dashboard .mf-sub-term-toggle__btn:hover {
    color: var(--mf-dashboard-ui-ink);
}

.mf-page-dashboard .mf-kontakt-landing__link {
    color: var(--mf-dashboard-ui-ink);
}

.mf-page-dashboard .mf-kontakt-landing__link:hover {
    color: var(--mf-dashboard-primary);
}

.mf-page-dashboard .mf-text-link {
    color: var(--mf-dashboard-ui-ink);
}

.mf-page-dashboard .mf-text-link:hover {
    color: var(--mf-navy);
}

.mf-page-dashboard .mf-profile-input:focus,
.mf-page-dashboard .mf-profile-card .mf-kontakt-landing__input:focus {
    border-color: var(--mf-dashboard-primary);
    box-shadow: 0 0 0 1px var(--mf-dashboard-ui-40);
}

.mf-page-dashboard .mf-profile-avatar-fallback {
    color: var(--mf-dashboard-avatar-text);
    background: var(--mf-dashboard-avatar-bg);
    border: 1px solid var(--mf-dashboard-avatar-border);
}

.mf-page-dashboard .mf-profile-password__toggle:focus-visible {
    outline: 2px solid var(--mf-dashboard-ui-45);
    outline-offset: 1px;
}

.mf-auth-remember {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgba(13, 44, 72, 0.8);
    cursor: pointer;
}

.mf-auth-remember input {
    width: 1rem;
    height: 1rem;
    accent-color: var(--mf-teal-deep);
    cursor: pointer;
}

.mf-auth-row-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 0.5rem;
}

@media (min-width: 480px) {
    .mf-auth-row-actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
}

.mf-auth-row-actions a {
    color: var(--mf-teal-deep);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    order: 1;
}

.mf-auth-row-actions a:hover {
    color: var(--mf-turquoise);
}

.mf-auth-row-actions .hero-cta-btn {
    order: 2;
    margin-left: auto;
}

.mf-auth-prose {
    margin: 0 0 1.25rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(13, 44, 72, 0.72);
}

/* Business-Registrierung (/register) */
.mf-auth-page--business-register .mf-kontakt-landing__wrap.mf-auth-page__wrap,
.mf-auth-page--business-register .mf-auth-split__form-inner {
    max-width: 36rem;
}

.mf-auth-register__head {
    text-align: center;
    margin: 0 0 1.25rem;
    padding: 0 0.15rem;
}

.mf-auth-register__title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.25rem, 2.8vw, 1.6rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
}

.mf-auth-register__subtitle {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
    color: rgba(13, 44, 72, 0.62);
    font-weight: 500;
}

.mf-auth-register__subtitle strong {
    color: rgba(13, 44, 72, 0.88);
    font-weight: 700;
}

.mf-auth-register__gewerbe--toggle {
    position: relative;
    margin: 0 0 1.5rem;
}

/* Firmenblock in Flex-Form: zuverlässig ein-/ausblenden */
.mf-auth-register__company[hidden],
.mf-auth-register__company.mf-auth-register__company--off {
    display: none !important;
}

.mf-auth-register__gewerbe-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mf-auth-register__gewerbe {
    display: block;
    margin: 0 0 1.5rem;
}

.mf-auth-register__gewerbe-label {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0;
    padding: 0.85rem 1rem;
    border-radius: 0.85rem;
    border: 1px dashed rgba(10, 37, 64, 0.25);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.mf-auth-register--no-gewerbe .mf-auth-register__gewerbe-label {
    border-color: rgba(10, 37, 64, 0.14);
    background: rgba(10, 37, 64, 0.03);
}

.mf-auth-register__gewerbe-label:hover {
    border-color: rgba(4, 172, 195, 0.45);
}

.mf-auth-register__gewerbe-input:focus-visible + .mf-auth-register__gewerbe-label {
    outline: 2px solid rgba(4, 172, 195, 0.55);
    outline-offset: 2px;
}

.mf-auth-register__gewerbe-check {
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.1rem;
    border-radius: 9999px;
}

.mf-auth-register__gewerbe-check-empty {
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 2px solid rgba(10, 37, 64, 0.22);
    background: #fff;
}

.mf-auth-register__gewerbe-check-tick {
    position: relative;
    z-index: 1;
    display: none;
    width: 0.7rem;
    height: 0.7rem;
    color: #fff;
}

.mf-auth-register__gewerbe-input:checked + .mf-auth-register__gewerbe-label .mf-auth-register__gewerbe-check {
    color: #fff;
    background: linear-gradient(145deg, #2ec4d6 0%, var(--mf-turquoise) 100%);
    box-shadow: 0 1px 3px rgba(4, 172, 195, 0.35);
}

.mf-auth-register__gewerbe-input:checked + .mf-auth-register__gewerbe-label .mf-auth-register__gewerbe-check-empty {
    display: none;
}

.mf-auth-register__gewerbe-input:checked + .mf-auth-register__gewerbe-label .mf-auth-register__gewerbe-check-tick {
    display: block;
}

.mf-auth-register__gewerbe-check svg {
    display: block;
}

.mf-auth-register__gewerbe-ico {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.6rem;
    background: rgba(249, 146, 28, 0.12);
    border: 1px solid rgba(249, 146, 28, 0.28);
}

.mf-auth-register__gewerbe-ico .mf-auth-icon-building {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    color: var(--mf-accent-orange);
    overflow: visible;
}

.mf-auth-register__gewerbe-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.mf-auth-register__gewerbe-kicker {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--mf-navy);
    line-height: 1.3;
}

.mf-auth-register__gewerbe-desc {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(13, 44, 72, 0.6);
    line-height: 1.4;
}

.mf-auth-register__optional-hint {
    display: block;
    margin: -0.45rem 0 0.2rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(13, 44, 72, 0.45);
}

.mf-auth-register__section {
    margin: 0.5rem 0 0.15rem;
}

.mf-auth-register__section-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-auth-register__section-title .mf-auth-icon-building {
    flex-shrink: 0;
    display: block;
    width: 1.15rem;
    height: 1.15rem;
    color: var(--mf-accent-orange);
}

.mf-auth-register__addr-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.35rem 0 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(13, 44, 72, 0.85);
}

.mf-auth-register__addr-label .mf-auth-input-icon {
    color: rgba(13, 44, 72, 0.45);
}

.mf-auth-register__grid-2 {
    display: grid;
    gap: 0 0.75rem;
    grid-template-columns: 1fr;
}

@media (min-width: 520px) {
    .mf-auth-register__grid-2 {
        grid-template-columns: 1fr 1fr;
    }

    .mf-auth-register__grid-2--addr {
        grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    }
}

@media (min-width: 520px) {
    .mf-auth-register__grid-2--addr + .mf-auth-register__grid-2 {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    }
}

.mf-auth-input-with-icon {
    position: relative;
    display: flex;
    align-items: center;
}

.mf-auth-input-with-icon .mf-auth-input-icon {
    position: absolute;
    left: 0.8rem;
    z-index: 1;
    color: rgba(13, 44, 72, 0.38);
    pointer-events: none;
}

.mf-auth-input-with-icon .mf-kontakt-landing__input {
    padding-left: 2.55rem;
}

.mf-auth-input-with-icon--has-toggle .mf-kontakt-landing__input {
    padding-right: 2.65rem;
}

.mf-auth-input-with-icon--toggle-only .mf-kontakt-landing__input {
    padding-left: 0.85rem;
}

.mf-auth-pw-toggle {
    position: absolute;
    right: 0.4rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: rgba(13, 44, 72, 0.45);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.mf-auth-pw-toggle__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.mf-auth-pw-toggle__icon.is-hidden {
    display: none !important;
}

.mf-auth-pw-toggle:hover,
.mf-auth-pw-toggle:focus:hover {
    color: var(--mf-teal-deep);
    background: transparent;
}

.mf-auth-pw-toggle:focus-visible {
    outline: 2px solid rgba(4, 172, 195, 0.55);
    outline-offset: 1px;
}

.mf-auth-terms {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    font-weight: 500;
    color: rgba(13, 44, 72, 0.82);
    cursor: pointer;
}

.mf-auth-terms input {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
    accent-color: var(--mf-teal-deep);
    cursor: pointer;
}

.mf-auth-register__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 3rem;
    padding: 0.65rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 0.8rem;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    box-shadow:
        0 1px 8px rgba(4, 172, 195, 0.28),
        0 1px 2px rgba(13, 44, 72, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
}

.mf-auth-register__submit:hover {
    transform: translateY(-1px);
    box-shadow:
        0 4px 16px rgba(4, 172, 195, 0.35),
        0 1px 3px rgba(13, 44, 72, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mf-auth-register__submit:active {
    transform: translateY(0);
}

.mf-auth-register__submit:focus {
    outline: none;
}

.mf-auth-register__submit:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: 3px;
}

.mf-auth-register__submit-arrow {
    flex-shrink: 0;
    opacity: 0.95;
}

.mf-auth-register__login-hint {
    margin: 1.15rem 0 0;
    text-align: center;
    font-size: 0.85rem;
    color: rgba(13, 44, 72, 0.65);
}

.mf-auth-page--business-register .mf-kontakt-landing__stack-inner {
    padding: 1.2rem 1.1rem 1.4rem;
}

@media (min-width: 480px) {
    .mf-auth-page--business-register .mf-kontakt-landing__stack-inner {
        padding: 1.4rem 1.35rem 1.5rem;
    }
}

.mf-auth-inline-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 0.5rem;
}

@media (min-width: 480px) {
    .mf-auth-inline-actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
}

.mf-text-link {
    color: var(--mf-teal-deep);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    background: none;
    border: 0;
    font-family: inherit;
    cursor: pointer;
    padding: 0.25rem 0;
}

.mf-text-link:hover {
    color: var(--mf-turquoise);
}

.mf-text-link--danger {
    color: #b91c1c;
}

.mf-text-link--danger:hover {
    color: #dc2626;
}

.mf-input-error {
    margin: 0.35rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #b91c1c;
    line-height: 1.4;
}

.mf-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border-radius: 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(13, 44, 72, 0.75);
    border: 1px solid rgba(10, 37, 64, 0.15);
    background: #fff;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
    cursor: pointer;
    font-family: inherit;
}

.mf-btn-ghost:hover {
    border-color: rgba(4, 172, 195, 0.45);
    color: var(--mf-teal-deep);
}

.mf-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border-radius: 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    border: 1px solid rgba(185, 28, 28, 0.35);
    background: linear-gradient(145deg, #ef4444 0%, #b91c1c 100%);
    box-shadow: 0 1px 4px rgba(185, 28, 28, 0.25);
    cursor: pointer;
    font-family: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mf-btn-danger:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(185, 28, 28, 0.35);
}

.mf-saved-hint {
    font-size: 0.875rem;
    color: #15803d;
    font-weight: 600;
    margin: 0;
}

/* Erfolgs-Hinweis oben im Konto-Dashboard (Profil, Sicherheit) */
.mf-dashboard-flash {
    --mf-flash-green: #10b981;
    --mf-flash-green-deep: #059669;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
    max-width: none;
    margin: 0 0 1.25rem;
    padding: 1.1rem 1.2rem 1.15rem;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.mf-dashboard-flash__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 9999px;
    background: rgba(16, 185, 129, 0.16);
    color: var(--mf-flash-green-deep);
}

.mf-dashboard-flash__check {
    display: block;
}

.mf-dashboard-flash__content {
    min-width: 0;
}

.mf-dashboard-flash__title {
    margin: 0 0 0.35rem;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #0f172a;
    line-height: 1.25;
}

.mf-dashboard-flash__text {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #475569;
    max-width: none;
}

.mf-2fa-recovery-show {
    margin: 0 0 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(16, 185, 129, 0.45);
    background: #ecfdf5;
}

.mf-2fa-recovery-show__title {
    margin: 0 0 0.4rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #064e3b;
}

.mf-2fa-recovery-show__text {
    margin: 0 0 0.9rem;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #0f766e;
}

.mf-2fa-recovery-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
}

.mf-2fa-recovery-code {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #064e3b;
    background: #fff;
    border: 1px solid #a7f3d0;
    border-radius: 0.3rem;
    padding: 0.35rem 0.5rem;
}

.mf-2fa-step {
    font-weight: 600;
    color: var(--mf-navy);
    margin: 0 0 0.5rem;
}

.mf-2fa-manual {
    margin: 0 0 0.4rem;
    font-size: 0.8125rem;
    color: #4b5563;
    line-height: 1.45;
    max-width: 36rem;
}

.mf-2fa-secret {
    margin: 0 0 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    word-break: break-all;
    color: #0f172a;
    user-select: all;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Profil-2FA: QR, OTP und Aktionen in einer gemeinsamen Box */
.mf-2fa-setup-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 100%;
    margin: 0 0 0.5rem;
    padding: 1.25rem 1.5rem 1.35rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.mf-2fa-setup-box__field {
    width: 100%;
    max-width: 24rem;
    margin: 0 auto;
}

.mf-2fa-setup-box__error {
    text-align: center;
}

.mf-2fa-app-hint {
    width: 100%;
    max-width: 24rem;
    margin: 0 0 1rem;
    padding: 0.75rem 0.9rem 0.85rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    text-align: left;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.4rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #334155;
}

.mf-2fa-app-hint__top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.mf-2fa-app-hint__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mf-2fa-app-hint__ico-img {
    display: block;
    width: 1.75rem;
    height: auto;
    max-height: 2.75rem;
    object-fit: contain;
}

.mf-2fa-app-hint__text {
    margin: 0;
    flex: 1;
    min-width: 0;
}

.mf-2fa-app-hint__badges-label {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    text-align: center;
}

.mf-2fa-app-hint__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.65rem 0.9rem;
}

.mf-2fa-app-hint__store {
    display: inline-flex;
    line-height: 0;
    border-radius: 0.3rem;
    transition: opacity 0.15s ease;
}

.mf-2fa-app-hint__store:hover {
    opacity: 0.88;
}

.mf-2fa-app-hint__store:focus {
    outline: none;
}

.mf-2fa-app-hint__store:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: 3px;
}

.mf-2fa-app-hint__store-img {
    display: block;
    height: 2.5rem;
    width: auto;
    max-width: min(9.5rem, 42vw);
    object-fit: contain;
}

.mf-2fa-qr {
    margin: 0 0 1rem;
    padding: 0;
    display: block;
    background: transparent;
    border: none;
    box-shadow: none;
}

.mf-2fa-qr__img {
    display: block;
    width: 200px;
    height: 200px;
    margin: 0 auto;
}

.mf-2fa-confirm-form {
    margin: 0;
    width: 100%;
    max-width: 24rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 6-Felder-TOTP (Profil + 2FA-Challenge) */
.mf-otp-6 {
    margin: 0;
}

.mf-otp-6__label {
    display: block;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    margin: 0 0 0.4rem;
    color: #374151;
}

.mf-page-dashboard .mf-otp-6__label {
    font-weight: 600;
    color: #0f172a;
}

.mf-otp-6__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

.mf-otp-6__digit {
    box-sizing: border-box;
    width: 3rem;
    height: 3rem;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    border-radius: 0.375rem;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.mf-otp-6__digit:hover {
    border-color: #9ca3af;
}

.mf-otp-6__digit:focus {
    outline: none;
    border-color: var(--mf-turquoise);
    box-shadow: 0 0 0 2px rgba(4, 172, 195, 0.25);
}

.mf-page-dashboard .mf-otp-6__digit:focus {
    box-shadow: 0 0 0 1px rgba(4, 172, 195, 0.35);
}

.mf-otp-6__after-hint {
    text-align: center;
    margin-top: 0.5rem;
}

.mf-guest-standalone .mf-otp-6__label {
    color: rgba(13, 44, 72, 0.88);
}

.mf-guest-standalone .mf-otp-6__digit {
    border-color: rgba(10, 37, 64, 0.14);
    border-radius: 0.65rem;
    box-shadow: none;
    color: var(--mf-navy);
}

.mf-guest-standalone .mf-otp-6__digit:hover {
    border-color: rgba(10, 37, 64, 0.22);
}

.mf-guest-standalone .mf-otp-6__digit:focus {
    border-color: rgba(4, 172, 195, 0.65);
    box-shadow: 0 0 0 3px rgba(4, 172, 195, 0.2);
}

.mf-2fa-challenge-recovery {
    margin-top: 0.25rem;
    align-items: center;
    text-align: center;
}

.mf-2fa-challenge-recovery .mf-kontakt-landing__label {
    text-align: center;
    width: 100%;
}

.mf-2fa-challenge-recovery .mf-kontakt-landing__input {
    max-width: 20rem;
    width: 100%;
}

/* 2FA-Login-Challenge: gleiches Primär-Blau wie Dashboard-Buttons */
.mf-2fa-challenge {
    --mf-dashboard-primary: rgb(43, 127, 255);
    --mf-dashboard-primary-hover: rgb(32, 110, 220);
    --mf-dashboard-primary-shadow: rgba(43, 127, 255, 0.28);
}

.mf-2fa-challenge__visual {
    display: flex;
    justify-content: center;
    margin: 0 0 0.9rem;
}

.mf-2fa-challenge__mobile-ico {
    display: block;
    width: 2.25rem;
    height: auto;
    max-height: 3.5rem;
    object-fit: contain;
    opacity: 0.9;
}

/* In Spalte: Querzentrierung per align-items (justify-content wäre vertikal) */
.mf-2fa-challenge__submit-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 0.5rem;
}

.mf-2fa-challenge .mf-profile-btn-primary {
    min-height: 2.75rem;
    padding: 0.5rem 1.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    width: min(100%, 20rem);
    align-self: center;
    background: var(--mf-dashboard-primary);
    box-shadow: 0 1px 2px var(--mf-dashboard-primary-shadow);
}

.mf-2fa-challenge .mf-profile-btn-primary:hover {
    background: var(--mf-dashboard-primary-hover);
    filter: none;
}

.mf-2fa-confirm-actions {
    margin: 0.75rem 0 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.mf-2fa-setup-box .mf-2fa-cancel {
    margin: 0.75rem 0 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.mf-2fa-destructive {
    border-color: #b91c1c !important;
    background: #fff5f5 !important;
    color: #b91c1c !important;
    box-shadow: none !important;
}

.mf-page-dashboard .mf-2fa-destructive:hover {
    background: #fee2e2 !important;
    color: #991b1b !important;
    filter: none !important;
}

.mf-2fa-challenge-hint {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    line-height: 1.5;
    color: #6b7280;
}

.mf-modal-host {
    position: fixed;
    inset: 0;
    z-index: 200;
    overflow-y: auto;
    padding: 1.5rem 1rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: min(10vh, 4rem);
}

.mf-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(13, 44, 72, 0.45);
    z-index: 0;
    cursor: pointer;
}

.mf-modal-panel {
    position: relative;
    z-index: 1;
    max-width: 28rem;
    margin: 0 auto;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 8px 32px rgba(10, 37, 64, 0.2);
    border: 1px solid rgba(8, 42, 79, 0.1);
}

.mf-modal-panel__form {
    padding: 1.5rem 1.25rem 1.5rem;
}

@media (min-width: 640px) {
    .mf-modal-panel__form {
        padding: 1.5rem 1.5rem 1.75rem;
    }
}

.mf-modal-title {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-modal-text {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(13, 44, 72, 0.72);
}

.mf-modal-panel__foot {
    padding: 0.85rem 1.25rem 1.1rem;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    border-radius: 0 0 0.75rem 0.75rem;
}

@media (min-width: 640px) {
    .mf-modal-panel__foot {
        padding: 0.9rem 1.5rem 1.2rem;
    }
}

.mf-modal-sessions-confirm {
    display: flex;
    flex-direction: column;
    margin: 0;
    min-width: 0;
}

.mf-modal-sessions-confirm .mf-modal-actions {
    margin-top: 0;
}

.mf-profile-sessions__trigger {
    margin-top: 0.25rem;
}

.mf-profile-field--modal-tight {
    margin-top: 0.25rem;
}

.mf-profile-field--modal-tight .mf-profile-password {
    margin-top: 0.35rem;
}

.mf-modal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem 0.75rem;
    margin-top: 0.5rem;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Einzelartikel /ratgeber/{slug} */
.mf-ratgeber-article-page {
    background: #fff;
    padding: 1.25rem 1rem 3.5rem;
}

@media (min-width: 768px) {
    .mf-ratgeber-article-page {
        padding: 1.75rem 1.5rem 4.5rem;
    }
}

.mf-ratgeber-breadcrumb {
    max-width: 760px;
    margin: 0 auto 1.5rem;
}

/* Artikel-Landing: Brotkrumen links, volle Breite im Hero */
.mf-ratgeber-breadcrumb.mf-ratgeber-lp-hero__breadcrumb {
    max-width: none;
    width: 100%;
    margin: 0 0 1.25rem;
    text-align: left;
}

.mf-ratgeber-breadcrumb.mf-ratgeber-lp-hero__breadcrumb .mf-ratgeber-breadcrumb__list {
    justify-content: flex-start;
}

.mf-ratgeber-breadcrumb__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(13, 44, 72, 0.55);
}

.mf-ratgeber-breadcrumb__list li {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.mf-ratgeber-breadcrumb__list li:not(:last-child)::after {
    content: '/';
    margin-left: 0.5rem;
    color: rgba(13, 44, 72, 0.28);
    font-weight: 500;
}

.mf-ratgeber-breadcrumb__list a {
    color: var(--mf-teal-deep);
    text-decoration: none;
    transition: color 0.15s ease;
}

.mf-ratgeber-breadcrumb__list a:hover {
    color: var(--mf-turquoise);
}

.mf-ratgeber-breadcrumb__current {
    color: rgba(13, 44, 72, 0.72);
    font-weight: 600;
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.mf-ratgeber-article {
    max-width: 760px;
    margin: 0 auto;
}

.mf-ratgeber-article.mf-ratgeber-article--lp {
    max-width: none;
    width: 100%;
    margin: 0;
}

.mf-ratgeber-article__stack {
    border-radius: 20px;
    border: 1px solid rgba(8, 42, 79, 0.06);
    background: rgba(8, 42, 79, 0.02);
    padding: 0.5rem;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.06);
}

.mf-ratgeber-article__surface {
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.05);
    background: #fff;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

.mf-ratgeber-article__figure {
    margin: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #faf9f5;
}

.mf-ratgeber-article__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.mf-ratgeber-article__header {
    padding: 1.5rem 1.35rem 0;
}

@media (min-width: 640px) {
    .mf-ratgeber-article__header {
        padding: 1.75rem 2rem 0;
    }
}

.mf-ratgeber-article__date {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mf-turquoise);
}

.mf-ratgeber-article__title {
    margin: 0.65rem 0 0;
    font-size: clamp(1.35rem, 3.2vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: var(--mf-navy);
}

.mf-ratgeber-article__intro {
    margin: 1rem 0 0;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(13, 44, 72, 0.68);
}

.mf-ratgeber-article__prose {
    max-width: none;
    width: 100%;
    padding: 0;
    font-size: 1rem;
    line-height: 1.75;
    color: rgba(13, 44, 72, 0.82);
}

@media (min-width: 640px) {
    .mf-ratgeber-article__prose {
        font-size: 1.03125rem;
    }
}

.mf-ratgeber-article__prose > :first-child {
    margin-top: 0;
}

.mf-ratgeber-article__prose > :last-child {
    margin-bottom: 0;
}

.mf-ratgeber-article__prose p {
    margin: 0 0 1.05rem;
}

.mf-ratgeber-article__prose p:last-child {
    margin-bottom: 0;
}

.mf-ratgeber-article__prose strong,
.mf-ratgeber-article__prose b,
.mf-ratgeber-article__prose .mf-rg-mark {
    font-weight: 700;
    color: var(--mf-teal-deep);
}

.mf-ratgeber-article__prose a {
    color: var(--mf-turquoise);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(4, 172, 195, 0.45);
    text-underline-offset: 3px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.mf-ratgeber-article__prose a:hover {
    color: var(--mf-teal-deep);
    text-decoration-color: rgba(9, 128, 151, 0.65);
}

.mf-ratgeber-article__prose h2 {
    margin: 0 0 0.85rem;
    font-size: clamp(1.2rem, 2.4vw, 1.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.28;
    color: var(--mf-turquoise);
    text-wrap: balance;
}

.mf-ratgeber-article__prose h2:not(:first-child) {
    margin-top: 0.15rem;
}

.mf-ratgeber-article__prose h3 {
    margin: 1.35rem 0 0.55rem;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--mf-navy);
}

.mf-ratgeber-article__prose h3:first-child {
    margin-top: 0;
}

.mf-ratgeber-article__prose ul,
.mf-ratgeber-article__prose ol {
    margin: 0 0 1.15rem;
    padding-left: 1.35rem;
}

.mf-ratgeber-article__prose li {
    margin-bottom: 0.45rem;
}

.mf-ratgeber-article__prose li::marker {
    color: rgba(4, 172, 195, 0.65);
}

.mf-ratgeber-article__prose li:last-child {
    margin-bottom: 0;
}

.mf-ratgeber-article__prose hr {
    display: none;
}

.mf-ratgeber-article__prose img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
    border-radius: 0.85rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    box-shadow: 0 10px 28px rgba(10, 37, 64, 0.08);
}

.mf-ratgeber-prose-table-wrap {
    margin: 1.15rem 0 1.35rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #fff;
}

.mf-ratgeber-prose-table {
    width: 100%;
    min-width: 34rem;
    border-collapse: collapse;
    font-size: 0.875rem;
    line-height: 1.45;
}

@media (min-width: 640px) {
    .mf-ratgeber-prose-table {
        min-width: 0;
        font-size: 0.9375rem;
    }
}

.mf-ratgeber-prose-table th,
.mf-ratgeber-prose-table td {
    padding: 0.65rem 0.8rem;
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #f0f0f0;
    text-align: left;
    vertical-align: top;
    color: #374151;
}

.mf-ratgeber-prose-table th:last-child,
.mf-ratgeber-prose-table td:last-child {
    border-right: 0;
}

.mf-ratgeber-prose-table th {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    background: #f9fafb;
    white-space: nowrap;
}

@media (min-width: 640px) {
    .mf-ratgeber-prose-table th {
        font-size: 0.75rem;
        padding: 0.75rem 0.95rem;
    }

    .mf-ratgeber-prose-table td {
        padding: 0.75rem 0.95rem;
    }
}

.mf-ratgeber-prose-table tbody tr:nth-child(even) td {
    background: #fafafa;
}

.mf-ratgeber-prose-table tbody tr:last-child td {
    border-bottom: 0;
}

.mf-ratgeber-article__back {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border-top: 0;
}

@media (min-width: 640px) {
    .mf-ratgeber-article__back {
        padding: 0;
    }
}

.mf-ratgeber-article__back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--mf-teal-deep);
    text-decoration: none;
    transition: color 0.2s ease, gap 0.2s ease;
}

.mf-ratgeber-article__back-link:hover {
    color: var(--mf-turquoise);
    gap: 0.55rem;
}

/* —— Pakete (gestapelte Karten, vor Footer) —— */
.mf-pakete {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    padding: 3.5rem 1rem 4rem;
}

@media (min-width: 768px) {
    .mf-pakete {
        padding: 4rem 1.5rem 4.5rem;
    }
}

/* Nur /pakete: abwechselnde Sektions-Hintergründe (erste Sektion „Pakete“ = weiß) */
.mf-pakete-page .mf-pakete {
    background: #fff;
}

.mf-pakete-page .mf-pk-feat {
    background: #fafaf8;
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-pakete-page .mf-price-compare {
    background: #fff;
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-pakete-page .mf-faq {
    background: #fafaf8;
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-pakete .is-hidden {
    display: none !important;
}

.mf-pakete__wrap {
    max-width: 1220px;
    margin: 0 auto;
}

.mf-pakete__head {
    text-align: center;
    margin-bottom: 2.25rem;
}

.mf-pakete__eyebrow-wrap {
    text-align: center;
    margin: 0 auto 0.85rem;
}

@media (min-width: 768px) {
    .mf-pakete__head {
        margin-bottom: 2.75rem;
    }
}

.mf-pakete__title {
    margin: 0;
    font-size: clamp(1.65rem, 3.2vw, 2.15rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--mf-navy);
}

.mf-pakete__lead {
    margin: 0.85rem auto 0;
    max-width: 36rem;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(13, 44, 72, 0.68);
}

/* FAQ / Impressum / Kontakt: Hero wie Pakete, kompakter Übergang zum Inhalt */
.mf-pakete.mf-faq-page-hero,
.mf-pakete.mf-impressum-page-hero,
.mf-pakete.mf-kontakt-page-hero {
    padding-bottom: 2rem;
}

@media (min-width: 768px) {
    .mf-pakete.mf-faq-page-hero,
    .mf-pakete.mf-impressum-page-hero,
    .mf-pakete.mf-kontakt-page-hero {
        padding-bottom: 2.5rem;
    }
}

.mf-faq-page-hero.mf-pakete .mf-pakete__head,
.mf-impressum-page-hero.mf-pakete .mf-pakete__head,
.mf-kontakt-page-hero.mf-pakete .mf-pakete__head {
    margin-bottom: 0;
}

.mf-faq-page-hero.mf-pakete .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap,
.mf-impressum-page-hero.mf-pakete .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap,
.mf-kontakt-page-hero.mf-pakete .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.mf-faq-page-hero.mf-pakete h1.mf-pakete__title,
.mf-impressum-page-hero.mf-pakete h1.mf-pakete__title,
.mf-kontakt-page-hero.mf-pakete h1.mf-pakete__title {
    margin: 0;
}

#mf-kontakt-page-heading,
#mf-kontakt-form-heading {
    scroll-margin-top: 5.5rem;
}

/* —— Impressum —— */
.mf-impressum {
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    background: #fafaf8;
    padding: 2.25rem 1rem 4rem;
}

@media (min-width: 768px) {
    .mf-impressum {
        padding: 2.5rem 1.5rem 4.5rem;
    }
}

.mf-impressum__wrap {
    max-width: 1220px;
    margin: 0 auto;
}

.mf-impressum__prose {
    margin: 0;
    padding: 1.35rem 1.15rem 1.6rem;
    text-align: left;
}

@media (min-width: 768px) {
    .mf-impressum__prose {
        padding: 1.6rem 1.5rem 1.85rem;
    }
}

.mf-impressum__h2 {
    margin: 1.75rem 0 0.65rem;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.35;
    color: var(--mf-navy);
}

.mf-impressum__h2:first-child {
    margin-top: 0;
}

@media (min-width: 768px) {
    .mf-impressum__h2 {
        font-size: 1rem;
        margin-top: 2rem;
    }

    .mf-impressum__h2:first-child {
        margin-top: 0;
    }
}

.mf-impressum__p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.72);
    overflow-wrap: anywhere;
}

@media (min-width: 768px) {
    .mf-impressum__p {
        font-size: 0.9375rem;
    }
}

.mf-impressum__p + .mf-impressum__p {
    margin-top: 0.65rem;
}

.mf-impressum__prose strong {
    font-weight: 600;
    color: rgba(13, 44, 72, 0.88);
}

.mf-impressum__link {
    font-weight: 600;
    color: var(--mf-teal-deep);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em;
    word-break: break-all;
}

.mf-impressum__link:hover {
    color: var(--mf-turquoise);
}

.mf-dsgvo-icon {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.mf-dsgvo-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem 1.5rem;
    margin: 1.25rem auto 0;
    padding: 0;
    list-style: none;
}

.mf-dsgvo-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
    color: rgba(10, 37, 64, 0.68);
}

.mf-dsgvo-meta__ico {
    color: var(--mf-turquoise);
}

.mf-dsgvo-cookies__prose code {
    font-size: 0.875em;
    padding: 0.1em 0.4em;
    border-radius: 0.35rem;
    background: rgba(10, 37, 64, 0.06);
    border: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-dsgvo-consent-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.25rem;
    margin-bottom: 2rem;
    padding: 1.25rem 1.35rem;
    border-radius: 0.9rem;
    border: 1px solid rgba(4, 172, 195, 0.22);
    background: linear-gradient(135deg, rgba(4, 172, 195, 0.08) 0%, rgba(4, 172, 195, 0.02) 100%);
}

.mf-dsgvo-consent-bar__text {
    flex: 1 1 14rem;
}

.mf-dsgvo-consent-bar__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-dsgvo-consent-bar__ico {
    color: var(--mf-turquoise);
}

.mf-dsgvo-consent-bar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.mf-dsgvo-consent-bar__btn {
    margin: 0;
}

.mf-dsgvo-consent-bar__btn-secondary {
    min-height: 2.65rem;
}

.mf-dsgvo-section-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem 0.75rem;
}

.mf-dsgvo-section-title__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.55rem;
    background: rgba(4, 172, 195, 0.12);
    color: var(--mf-turquoise);
}

.mf-dsgvo-section-title__icon--necessary {
    background: rgba(4, 172, 195, 0.12);
    color: var(--mf-turquoise);
}

.mf-dsgvo-section-title__icon--analytics {
    background: rgba(10, 37, 64, 0.08);
    color: var(--mf-navy);
}

.mf-dsgvo-section-title__icon--marketing {
    background: rgba(255, 107, 53, 0.12);
    color: #e85d26;
}

.mf-dsgvo-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.62);
    background: rgba(10, 37, 64, 0.06);
    border: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-dsgvo-badge--required {
    color: var(--mf-turquoise);
    background: rgba(4, 172, 195, 0.1);
    border-color: rgba(4, 172, 195, 0.18);
}

.mf-dsgvo-card {
    margin-bottom: 1.5rem;
    padding: 1.1rem 1.2rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(10, 37, 64, 0.1);
    background: rgba(255, 255, 255, 0.72);
}

.mf-dsgvo-card__title {
    margin: 0 0 0.65rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-dsgvo-table-wrap {
    margin-top: 1rem;
    overflow-x: auto;
}

.mf-dsgvo-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.mf-dsgvo-table th,
.mf-dsgvo-table td {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    text-align: left;
    vertical-align: top;
}

.mf-dsgvo-table th {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.55);
    background: rgba(10, 37, 64, 0.03);
}

.mf-dsgvo-table tbody tr:last-child td {
    border-bottom: 0;
}

.mf-dsgvo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    gap: 0.85rem;
    margin: 0 0 1.5rem;
}

.mf-dsgvo-grid__item {
    padding: 0.95rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(10, 37, 64, 0.1);
    background: rgba(255, 255, 255, 0.72);
}

.mf-dsgvo-grid__label {
    margin: 0 0 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.55);
}

.mf-dsgvo-grid__value {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--mf-navy);
}

.mf-dsgvo-grid__muted {
    font-size: 0.8125rem;
    font-weight: 400;
    color: rgba(10, 37, 64, 0.62);
}

@media (max-width: 639px) {
    .mf-dsgvo-consent-bar__actions {
        width: 100%;
    }

    .mf-dsgvo-consent-bar__btn,
    .mf-dsgvo-consent-bar__btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

.mf-pakete__toggle {
    display: flex;
    justify-content: center;
    margin: 1.75rem auto 0;
    padding: 4px;
    max-width: 22rem;
    width: 100%;
    border-radius: 9999px;
    background: rgba(10, 37, 64, 0.06);
    border: 1px solid rgba(10, 37, 64, 0.08);
    gap: 2px;
    box-sizing: border-box;
}

.mf-pakete__toggle-btn {
    flex: 1 1 50%;
    min-width: 0;
    border: 0;
    cursor: pointer;
    padding: 0.55rem 1rem;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(10, 37, 64, 0.55);
    background: transparent;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-pakete__toggle-btn.is-active {
    background: #fff;
    color: var(--mf-navy);
    box-shadow:
        0 1px 3px rgba(10, 37, 64, 0.08),
        0 1px 2px rgba(10, 37, 64, 0.04);
}

.mf-pakete__grid {
    display: grid;
    gap: 1.75rem;
    align-items: start;
    padding-top: 1.75rem;
}

@media (min-width: 900px) {
    .mf-pakete__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem;
        padding-top: 2rem;
        align-items: stretch;
    }
}

.mf-pakete__card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
}

.mf-pakete__card--popular {
    z-index: 1;
}

@media (min-width: 900px) {
    .mf-pakete__card--popular {
        margin-top: -0.25rem;
    }
}

.mf-pakete__ribbon {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 2;
    transform: translate(-50%, -45%);
    margin: 0;
    pointer-events: none;
}

.mf-pakete__ribbon span {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 2px 12px rgba(4, 172, 195, 0.38);
    white-space: nowrap;
}

.mf-pakete__stack-outer {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 20px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
    width: 100%;
}

@media (min-width: 900px) {
    .mf-pakete__stack-outer {
        height: 100%;
        min-height: 100%;
    }
}

.mf-pakete__card--popular .mf-pakete__stack-outer {
    border-color: rgba(4, 172, 195, 0.5);
    box-shadow:
        0 0 0 2px rgba(4, 172, 195, 0.38),
        0 8px 28px rgba(4, 172, 195, 0.16),
        0 2px 8px rgba(10, 37, 64, 0.08);
}

.mf-pakete__stack-inner {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.08);
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.05);
    width: 100%;
}

/* Premium: Krone #06b0d2 dezent im Kartengrund */
.mf-pakete__card--premium .mf-pakete__stack-inner {
    position: relative;
    isolation: isolate;
}

.mf-pakete__card--premium .mf-pakete__stack-inner::before {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    inset: -12% -8% 28% 18%;
    background-image: var(--mf-pakete-premium-crown);
    background-repeat: no-repeat;
    background-position: 90% 32%;
    background-size: min(200px, 58%);
    opacity: 0.13;
}

@media (min-width: 640px) {
    .mf-pakete__card--premium .mf-pakete__stack-inner::before {
        inset: -10% -6% 24% 22%;
        background-position: 92% 34%;
        background-size: min(240px, 52%);
        opacity: 0.15;
    }
}

.mf-pakete__card--premium .mf-pakete__body {
    z-index: 1;
}

@media (min-width: 900px) {
    .mf-pakete__stack-inner {
        min-height: 100%;
    }
}

.mf-pakete__body {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.35rem 1.15rem 1.35rem;
    padding-top: 1.5rem;
}

@media (min-width: 640px) {
    .mf-pakete__body {
        padding: 1.5rem 1.35rem 1.5rem;
        padding-top: 1.65rem;
    }
}

.mf-pakete__body--plus {
    padding-top: 1.35rem;
}

@media (min-width: 640px) {
    .mf-pakete__body--plus {
        padding-top: 1.5rem;
    }
}

.mf-pakete__badge--save {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1;
    display: inline-block;
    padding: 0.32rem 0.65rem;
    border-radius: 9999px;
    border: 1px solid rgba(22, 163, 74, 0.22);
    background: rgba(220, 252, 231, 0.95);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #15803d;
    box-shadow: 0 1px 2px rgba(22, 101, 52, 0.06);
    line-height: 1.25;
}

@media (min-width: 640px) {
    .mf-pakete__badge--save {
        top: 1.1rem;
        right: 1.15rem;
        font-size: 12px;
        padding: 0.38rem 0.75rem;
    }
}

.mf-pakete__name {
    margin: 0;
    padding-right: 6.75rem;
    text-align: left;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #082a4f;
}

.mf-pakete__card--popular .mf-pakete__name {
    padding-right: 0;
}

@media (min-width: 640px) {
    .mf-pakete__name {
        font-size: 1.5rem;
    }
}

.mf-pakete__kicker {
    margin: 0.4rem 0 0;
    text-align: left;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.4;
    color: rgba(8, 42, 79, 0.52);
}

@media (min-width: 640px) {
    .mf-pakete__kicker {
        font-size: 0.9375rem;
    }
}

.mf-pakete__kicker--brand {
    margin-top: 0.35rem;
    color: var(--mf-teal-deep);
    font-weight: 700;
    letter-spacing: -0.02em;
    opacity: 1;
}

.mf-pakete__price-block {
    margin-top: 1.25rem;
    text-align: left;
}

.mf-pakete__price {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0.2rem 0.4rem;
    font-size: 1.65rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.03em;
    color: #082a4f;
    line-height: 1.15;
}

@media (min-width: 640px) {
    .mf-pakete__price {
        font-size: 1.85rem;
    }
}

.mf-pakete__price-suffix {
    font-size: 0.48em;
    font-weight: 600;
    color: rgba(8, 42, 79, 0.62);
    letter-spacing: 0;
}

.mf-pakete__strike {
    margin: 0.4rem 0 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(8, 42, 79, 0.48);
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.mf-pakete__features {
    margin: 1.25rem 0 0;
    padding: 0 0 1.5rem;
    list-style: none;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.55rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.45;
    color: rgba(8, 42, 79, 0.88);
    text-align: left;
}

@media (min-width: 640px) {
    .mf-pakete__features {
        font-size: 0.84375rem;
        gap: 0.6rem;
    }
}

.mf-pakete__features li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    text-align: left;
}

.mf-pakete__check {
    flex-shrink: 0;
    margin-top: 0.15rem;
    color: #22c55e;
}

.mf-pakete__feat-star {
    color: #ca8a04;
    font-size: 0.85em;
    margin-right: 0.1rem;
}

.mf-pakete__features-li--star {
    font-weight: 600;
}

.mf-pakete__feat-star-only {
    flex-shrink: 0;
    margin-top: 0.1rem;
    width: 14px;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.2;
    color: #ca8a04;
}

.mf-pakete__cta {
    box-sizing: border-box;
    margin-top: auto;
    margin-bottom: 0;
    padding: 0.875rem 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
    min-height: 2.75rem;
    border-radius: 0.65rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-transform: none;
    text-decoration: none;
    text-align: center;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    flex-shrink: 0;
    align-self: stretch;
}

@media (min-width: 640px) {
    .mf-pakete__cta {
        font-size: 0.9375rem;
        padding: 0.9rem 1.25rem;
    }
}

.mf-pakete__cta--outline {
    background: #fff;
    color: #082a4f;
    border: 1px solid rgba(0, 0, 0, 0.18);
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.04);
}

.mf-pakete__cta--outline:hover {
    border-color: rgba(8, 42, 79, 0.22);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10, 37, 64, 0.08);
}

/* wie .hero-cta-inner (Header-Primär-CTA); .mf-start a { color: inherit } sonst Navy */
.mf-pakete__cta--solid {
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 1px 8px rgba(4, 172, 195, 0.28),
        0 1px 2px rgba(13, 44, 72, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.mf-pakete__cta--solid:hover {
    transform: translateY(-1px);
    box-shadow:
        0 4px 16px rgba(4, 172, 195, 0.35),
        0 1px 3px rgba(13, 44, 72, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mf-start .mf-pakete__cta--solid,
.mf-start .mf-pakete__cta--solid:visited,
.mf-start .mf-pakete__cta--solid:hover {
    color: #ffffff;
}

.mf-pakete__cta svg {
    flex-shrink: 0;
    opacity: 0.95;
}

.mf-pakete__note {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 2.25rem auto 0;
    max-width: 48rem;
    padding: 0.85rem 1rem;
    border-radius: 0.65rem;
    background: rgba(10, 37, 64, 0.04);
    border: 1px solid rgba(10, 37, 64, 0.06);
    font-size: 0.8125rem;
    line-height: 1.55;
    color: rgba(10, 37, 64, 0.55);
    text-align: left;
}

.mf-pakete__note-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    margin-top: 0.05rem;
    border-radius: 50%;
    border: 1px solid rgba(10, 37, 64, 0.14);
    background: rgba(255, 255, 255, 0.65);
    color: rgba(10, 37, 64, 0.45);
}

.mf-pakete__note-icon .mf-icon-info-circle {
    display: block;
}

.mf-pakete__note-text {
    flex: 1;
    min-width: 0;
}

@media (min-width: 640px) {
    .mf-pakete__note {
        font-size: 0.84375rem;
        padding: 1rem 1.25rem;
        gap: 0.85rem;
    }
}

.mf-pakete__fine-print {
    margin: 0.75rem auto 0;
    max-width: 48rem;
    padding: 0 0.25rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 300;
    font-style: italic;
    line-height: 1.5;
    color: rgba(10, 37, 64, 0.45);
}

@media (min-width: 640px) {
    .mf-pakete__fine-print {
        font-size: 0.84375rem;
        margin-top: 0.85rem;
    }
}

/* —— /pakete: Feature-Matrix (minimal: Kategorie-Balken, nur horizontale Linien, grüne Häkchen) —— */
.mf-pk-feat {
    --mf-pk-feat-pop-babyblue: rgba(4, 172, 195, 0.14);
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    background: #fff;
    padding: 3rem 1rem 3.5rem;
}

@media (min-width: 768px) {
    .mf-pk-feat {
        padding: 3.5rem 1.5rem 4rem;
    }
}

.mf-pk-feat__wrap {
    max-width: 960px;
    margin: 0 auto;
}

.mf-pk-feat__head {
    text-align: center;
    margin-bottom: 1.75rem;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    .mf-pk-feat__head {
        margin-bottom: 2.25rem;
    }
}

.mf-pk-feat__title {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 1.85rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: #111827;
}

.mf-pk-feat__lead {
    margin: 0.65rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #6b7280;
}

/* Gestapelter Rahmen wie Paket-Karten */
.mf-pk-feat__stack-outer {
    width: 100%;
    min-width: 0;
    border-radius: 20px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-pk-feat__stack-inner {
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.08);
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.05);
}

.mf-pk-feat__matrix {
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #374151;
}

@media (min-width: 768px) {
    .mf-pk-feat__matrix {
        font-size: 0.9375rem;
    }
}

.mf-pk-feat__group {
    margin: 0;
    padding: 0;
}

.mf-pk-feat__group--spaced {
    margin-top: 1.25rem;
}

@media (min-width: 768px) {
    .mf-pk-feat__group--spaced {
        margin-top: 1.5rem;
    }
}

.mf-pk-feat__group-title {
    margin: 0 0 0.35rem;
    padding: 0.65rem 0.9rem;
    border-radius: 8px;
    background: #f9fafb;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #111827;
}

@media (min-width: 768px) {
    .mf-pk-feat__group-title {
        font-size: 0.875rem;
        padding: 0.7rem 1rem;
    }
}

.mf-pk-feat__row {
    display: grid;
    grid-template-columns: minmax(7.5rem, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
}

@media (min-width: 640px) {
    .mf-pk-feat__row {
        grid-template-columns: minmax(9rem, 1.45fr) repeat(3, minmax(0, 1fr));
    }
}

.mf-pk-feat__row--last .mf-pk-feat__cell {
    border-bottom: none;
}

.mf-pk-feat__cell {
    margin: 0;
    padding: 1rem 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    min-height: 3.25rem;
    border-bottom: 1px solid #f3f4f6;
}

.mf-pk-feat__row--head .mf-pk-feat__cell {
    border-bottom-color: #e5e7eb;
}

@media (min-width: 768px) {
    .mf-pk-feat__cell {
        padding: 1.15rem 0.75rem;
        min-height: 3.5rem;
    }
}

.mf-pk-feat__cell--feat {
    justify-content: flex-start;
    text-align: left;
    font-weight: 500;
    color: #6b7280;
    padding-left: 0.35rem;
    padding-right: 0.65rem;
}

@media (min-width: 640px) {
    .mf-pk-feat__cell--feat {
        padding-left: 0.5rem;
        padding-right: 1rem;
    }
}

.mf-pk-feat__row--head .mf-pk-feat__cell--feat,
.mf-pk-feat__row--head .mf-pk-feat__cell--head-feat {
    font-weight: 600;
    color: #374151;
}

.mf-pk-feat__row--head .mf-pk-feat__cell--plan {
    font-weight: 600;
    font-size: 0.8125rem;
    color: #111827;
    letter-spacing: -0.02em;
}

@media (min-width: 768px) {
    .mf-pk-feat__row--head .mf-pk-feat__cell--plan {
        font-size: 0.875rem;
    }
}

.mf-pk-feat__cell--plan-pop,
.mf-pk-feat__cell--pop {
    border-left: 1px solid var(--mf-pk-feat-pop-babyblue);
    border-right: 1px solid var(--mf-pk-feat-pop-babyblue);
    border-bottom-color: var(--mf-pk-feat-pop-babyblue);
}

.mf-pk-feat__cell--plan-pop {
    flex-direction: column;
    gap: 0.25rem;
    justify-content: center;
    background: var(--mf-pk-feat-pop-babyblue);
}

.mf-pk-feat__plan-title {
    font-weight: 700;
    color: var(--mf-teal-deep);
    line-height: 1.2;
}

.mf-pk-feat__plan-hint {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b7280;
    line-height: 1.2;
}

@media (min-width: 640px) {
    .mf-pk-feat__plan-hint {
        font-size: 0.6875rem;
    }
}

.mf-pk-feat__cell--val {
    font-weight: 500;
    color: #4b5563;
    hyphens: auto;
    overflow-wrap: anywhere;
}

.mf-pk-feat__cell--pop {
    background: var(--mf-pk-feat-pop-babyblue);
    color: #374151;
}

.mf-pk-feat__cell--icon {
    color: #22c55e;
}

.mf-pk-feat__tick-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mf-pk-feat__tick {
    display: block;
    flex-shrink: 0;
    color: #22c55e;
    width: 1.15rem;
    height: 1.15rem;
}

@media (min-width: 768px) {
    .mf-pk-feat__tick {
        width: 1.25rem;
        height: 1.25rem;
    }
}

.mf-pk-feat__dash {
    color: #d1d5db;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1;
}

.mf-pk-feat__foot {
    margin: 0;
    padding: 1rem 0.85rem 1.15rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #9ca3af;
    text-align: center;
    border-top: 1px dashed rgba(10, 37, 64, 0.1);
}

@media (min-width: 640px) {
    .mf-pk-feat__foot {
        font-size: 0.84375rem;
        padding: 1.1rem 1.25rem 1.25rem;
    }
}

.mf-pk-feat__foot strong {
    color: #6b7280;
    font-weight: 600;
}

/* —— Business (unter Pakete, schwarze Box wie Starter-Bundle) —— */
.mf-business {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    padding: 3.25rem 1rem 3.5rem;
}

@media (min-width: 768px) {
    .mf-business {
        padding: 3.75rem 1.5rem 4rem;
    }
}

.mf-business__wrap {
    max-width: 1220px;
    margin: 0 auto;
}

.mf-business__head {
    text-align: center;
    margin-bottom: 2.25rem;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    .mf-business__head {
        margin-bottom: 2.75rem;
    }
}

.mf-business__brand-heading {
    margin: 0;
    line-height: 0;
}

.mf-business__brand-logo {
    display: block;
    margin: 0 auto;
    height: auto;
    width: auto;
    max-height: clamp(2.25rem, 6vw, 3.25rem);
    max-width: min(100%, 18rem);
    object-fit: contain;
    object-position: center;
}

.mf-business__head .mf-business__title {
    margin: 0.85rem 0 0;
    font-size: clamp(1.5rem, 3.2vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: var(--mf-navy);
}

.mf-business__title-accent {
    color: var(--mf-turquoise);
}

.mf-business__lead {
    margin: 0.9rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(13, 44, 72, 0.68);
}

.mf-business__stack-outer {
    border-radius: 1.08rem;
    padding: 3px;
    background: linear-gradient(
        148deg,
        rgba(0, 0, 0, 0.14) 0%,
        rgba(90, 88, 82, 0.22) 42%,
        rgba(0, 0, 0, 0.1) 100%
    );
    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.12),
        0 1px 2px rgba(13, 44, 72, 0.08);
}

@media (min-width: 640px) {
    .mf-business__stack-outer {
        border-radius: 1.12rem;
        padding: 4px;
    }
}

.mf-business__card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 0.98rem;
    padding: 1.35rem 1.2rem 1.5rem;
    background: #000;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 14px 44px rgba(0, 0, 0, 0.35),
        0 2px 10px rgba(0, 0, 0, 0.25);
    color: #fff;
}

@media (min-width: 640px) {
    .mf-business__card {
        padding: 1.5rem 1.5rem 1.65rem;
        border-radius: 1.02rem;
    }
}

.mf-business__card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(to right, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.028) 1px, transparent 1px);
    background-size:
        28px 28px,
        28px 28px,
        7px 7px,
        7px 7px;
    opacity: 0.65;
    -webkit-mask-image: radial-gradient(ellipse 72% 58% at 92% 12%, #000 0%, #000 35%, transparent 72%);
    mask-image: radial-gradient(ellipse 72% 58% at 92% 12%, #000 0%, #000 35%, transparent 72%);
}

.mf-business__card-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .mf-business__card-grid {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
        gap: 1.75rem 2rem;
        align-items: start;
    }

    .mf-business__aside {
        padding-left: 1.75rem;
        border-left: 1px solid rgba(255, 255, 255, 0.12);
    }
}

.mf-business__product-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.65rem;
    margin-bottom: 1.1rem;
}

.mf-business__product-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    background: rgba(13, 44, 72, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
    overflow: hidden;
}

.mf-business__product-ico img {
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    object-fit: contain;
}

.mf-business__product-name {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #fff;
}

.mf-business__features {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.mf-business__features li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.88);
}

.mf-business__feat-ico {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-top: 0.08rem;
    border-radius: 9999px;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 50%, var(--mf-teal-deep) 100%);
    color: #fff;
    box-shadow: 0 1px 4px rgba(4, 172, 195, 0.35);
}

.mf-business__aside {
    text-align: center;
}

@media (min-width: 768px) {
    .mf-business__aside {
        text-align: left;
    }
}

.mf-business__price-prefix {
    margin: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.mf-business__price {
    margin: 0.35rem 0 0;
    font-size: 1rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.1;
}

.mf-business__price-num {
    font-size: clamp(2rem, 4.5vw, 2.65rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #fff;
}

.mf-business__price-eur {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.mf-business__price-unit {
    display: inline;
    margin-left: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
    vertical-align: baseline;
}

.mf-business__cta {
    width: 100%;
    margin-top: 1.15rem;
    gap: 0.5rem;
}

.mf-business__cta svg {
    flex-shrink: 0;
    opacity: 0.95;
}

.mf-start .mf-business .mf-price-compare__cta,
.mf-start .mf-business .mf-price-compare__cta:visited {
    color: #ffffff;
}

.mf-business__fine-print {
    margin: 0.85rem 0 0;
    font-size: 11px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.45);
}

/* —— FAQ: gestapelter Rahmen wie Pakete-Karten, gestrichelte Zeilentrenner —— */
.mf-faq {
    border-top: 1px solid rgba(10, 37, 64, 0.07);
    background: #fafaf8;
    padding: 3.25rem 1rem 4rem;
}

@media (min-width: 768px) {
    .mf-faq {
        padding: 3.75rem 1.5rem 4.75rem;
    }
}

.mf-faq.mf-faq--page {
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    padding-top: 2.25rem;
}

@media (min-width: 768px) {
    .mf-faq.mf-faq--page {
        padding-top: 2.5rem;
    }
}

.mf-faq__wrap {
    max-width: 760px;
    margin: 0 auto;
}

.mf-faq__wrap--page {
    max-width: 52rem;
}

.mf-faq__head {
    text-align: center;
    margin-bottom: 1.75rem;
}

@media (min-width: 768px) {
    .mf-faq__head {
        margin-bottom: 2rem;
    }
}

/* Außen: wie .mf-pakete__stack-outer */
.mf-faq__stack-outer {
    width: 100%;
    min-width: 0;
    border-radius: 20px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f5f5f3;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

/* Innen: wie .mf-pakete__stack-inner */
.mf-faq__stack-inner {
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(8, 42, 79, 0.08);
    background: #fff;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.05);
}

.mf-faq__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

/* FAQ-Seite: Suche + Kategorie-Chips */
.mf-faq-toolbar {
    padding: 1rem 1rem 1.1rem;
    border-bottom: 1px dashed rgba(10, 37, 64, 0.12);
    background: #fff;
}

@media (min-width: 768px) {
    .mf-faq-toolbar {
        padding: 1.15rem 1.35rem 1.2rem;
    }
}

.mf-faq-toolbar__search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mf-faq-toolbar__search {
    position: relative;
    margin-bottom: 1rem;
}

.mf-faq-toolbar__search-ico {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    color: rgba(10, 37, 64, 0.38);
    pointer-events: none;
}

.mf-faq-toolbar__search-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0.65rem 0.85rem 0.65rem 2.65rem;
    border: 1px solid rgba(10, 37, 64, 0.14);
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.875rem;
    color: var(--mf-navy);
    background: #fafaf8;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.mf-faq-toolbar__search-input::placeholder {
    color: rgba(10, 37, 64, 0.4);
}

.mf-faq-toolbar__search-input:hover {
    border-color: rgba(10, 37, 64, 0.2);
}

.mf-faq-toolbar__search-input:focus {
    outline: none;
    border-color: rgba(4, 172, 195, 0.55);
    box-shadow: 0 0 0 3px rgba(4, 172, 195, 0.18);
    background: #fff;
}

@media (min-width: 768px) {
    .mf-faq-toolbar__search-input {
        font-size: 0.9375rem;
        padding-top: 0.7rem;
        padding-bottom: 0.7rem;
    }
}

.mf-faq-toolbar__cats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem 0.5rem;
}

@media (min-width: 640px) {
    .mf-faq-toolbar__cats {
        justify-content: flex-start;
    }
}

.mf-faq-cat {
    margin: 0;
    padding: 0.45rem 0.85rem;
    border: 1px solid rgba(10, 37, 64, 0.14);
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.65);
    background: #fff;
    cursor: pointer;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
    .mf-faq-cat {
        font-size: 0.71875rem;
        padding: 0.5rem 1rem;
    }
}

.mf-faq-cat:hover {
    border-color: rgba(4, 172, 195, 0.45);
    color: var(--mf-teal-deep);
}

.mf-faq-cat.is-active {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    box-shadow: 0 1px 6px rgba(4, 172, 195, 0.35);
}

.mf-faq-cat:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: 2px;
}

.mf-faq__item.is-faq-hidden {
    display: none !important;
}

.mf-faq__empty {
    margin: 0;
    padding: 1.5rem 1.15rem 1.75rem;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(13, 44, 72, 0.55);
    border-top: 1px dashed rgba(10, 37, 64, 0.1);
}

@media (min-width: 768px) {
    .mf-faq__empty {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        font-size: 0.9375rem;
    }
}

.mf-faq__summary-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    text-align: left;
}

.mf-faq__cat-label {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.45);
    line-height: 1.2;
}

@media (min-width: 768px) {
    .mf-faq__cat-label {
        font-size: 0.65625rem;
    }
}

.mf-faq__summary-main .mf-faq__q {
    flex: none;
    width: 100%;
}

.mf-faq--page .mf-faq__summary {
    align-items: flex-start;
}

.mf-faq--page .mf-faq__chev {
    margin-top: 0.2rem;
}

.mf-faq__item {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border-bottom: 1px dashed rgba(10, 37, 64, 0.12);
}

.mf-faq__item:last-child {
    border-bottom: 0;
}

.mf-faq__item[open] {
    background: rgba(13, 44, 72, 0.02);
}

.mf-faq__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.15rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #1a2f44;
    transition: background 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
    .mf-faq__summary {
        padding: 1.2rem 1.5rem;
        font-size: 1rem;
    }
}

.mf-faq__summary::-webkit-details-marker {
    display: none;
}

.mf-faq__summary:hover {
    background: rgba(13, 44, 72, 0.03);
}

.mf-faq__summary:focus {
    outline: none;
}

.mf-faq__summary:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: -2px;
    position: relative;
    z-index: 1;
}

.mf-faq__item[open] > .mf-faq__summary {
    background: transparent;
}

.mf-faq__q {
    flex: 1;
    min-width: 0;
    text-align: left;
    line-height: 1.4;
}

.mf-faq__chev {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-right: -0.15rem;
    border-radius: 0.3rem;
    color: rgba(10, 37, 64, 0.4);
    transition:
        transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.2s ease,
        background 0.2s ease;
}

.mf-faq__summary:hover .mf-faq__chev {
    color: rgba(10, 37, 64, 0.55);
    background: rgba(13, 44, 72, 0.04);
}

.mf-faq__item[open] .mf-faq__chev {
    transform: rotate(180deg);
    color: var(--mf-teal-deep);
    background: rgba(4, 172, 195, 0.08);
}

@media (prefers-reduced-motion: reduce) {
    .mf-faq__chev {
        transition: none;
    }

    .mf-faq__item[open] .mf-faq__chev {
        transform: rotate(180deg);
    }
}

.mf-faq__a {
    padding: 0 1.15rem 1.2rem;
    border-top: 0;
}

@media (min-width: 768px) {
    .mf-faq__a {
        padding: 0 1.5rem 1.35rem;
    }
}

.mf-faq__a p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.62);
}

@media (min-width: 768px) {
    .mf-faq__a p {
        font-size: 0.9375rem;
    }
}

.mf-faq__a p + p {
    margin-top: 0.65rem;
}

.mf-faq__a strong {
    font-weight: 600;
    color: rgba(13, 44, 72, 0.82);
}

.mf-faq__a a {
    font-weight: 600;
    color: var(--mf-teal-deep);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em;
}

.mf-faq__a a:hover {
    color: var(--mf-turquoise);
}

.mf-faq__contact {
    margin-top: 2rem;
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .mf-faq__contact {
        margin-top: 2.25rem;
        gap: 1.35rem;
    }
}

.mf-faq__contact-text {
    margin: 0 auto;
    width: 100%;
    max-width: 28rem;
    text-align: center;
    font-size: 1rem;
    line-height: 1.55;
    letter-spacing: -0.01em;
    color: #6b7280;
}

@media (min-width: 768px) {
    .mf-faq__contact-text {
        font-size: 1.0625rem;
    }
}

/* FAQ-Kontakt: weißer Button, grauer Rand, graue Typo (überschreibt Primär-CTA / .mf-start) */
.mf-start .mf-faq .mf-faq__cta {
    color: #6b7280;
}

.mf-start .mf-faq .mf-faq__cta .hero-cta-inner {
    background: #fff;
    border: 1px solid #d1d5db;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.mf-start .mf-faq .mf-faq__cta .hero-cta-glow {
    opacity: 0;
    pointer-events: none;
}

.mf-start .mf-faq .mf-faq__cta .hero-cta-label {
    color: #6b7280;
}

.mf-start .mf-faq .mf-faq__cta .hero-cta-icon,
.mf-start .mf-faq .mf-faq__cta .mf-faq__cta-icon {
    color: #6b7280;
}

.mf-start .mf-faq .mf-faq__cta:hover .hero-cta-inner {
    transform: translateY(-1px);
    background: #f9fafb;
    border-color: #9ca3af;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

.mf-start .mf-faq .mf-faq__cta:hover .hero-cta-icon,
.mf-start .mf-faq .mf-faq__cta:hover .mf-faq__cta-icon {
    color: #4b5563;
    transform: none;
}

.mf-start .mf-faq .mf-faq__cta:hover .hero-cta-label {
    color: #4b5563;
}

.mf-start .mf-faq .mf-faq__cta:active .hero-cta-inner {
    transform: translateY(0);
}

/* —— FAQ-Unterseite: Support-Promo (weiß, zentriert) —— */
.mf-faq-support-cta {
    border-top: 1px solid rgba(10, 37, 64, 0.07);
    background: #fff;
    padding: 3rem 1rem 3.75rem;
}

@media (min-width: 768px) {
    .mf-faq-support-cta {
        padding: 3.5rem 1.5rem 4.25rem;
    }
}

.mf-faq-support-cta__wrap {
    max-width: 36rem;
    margin: 0 auto;
    text-align: center;
}

.mf-faq-support-cta__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.35rem;
    border-radius: 50%;
    border: 1.5px solid var(--mf-teal-deep);
    background: rgba(4, 172, 195, 0.12);
    color: var(--mf-teal-deep);
}

@media (min-width: 768px) {
    .mf-faq-support-cta__icon-wrap {
        width: 4.25rem;
        height: 4.25rem;
        margin-bottom: 1.5rem;
    }
}

.mf-faq-support-cta__icon {
    display: block;
    flex-shrink: 0;
}

.mf-faq-support-cta__title {
    margin: 0;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--mf-navy);
}

.mf-faq-support-cta__lead {
    margin: 1rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: rgba(13, 44, 72, 0.68);
}

@media (min-width: 768px) {
    .mf-faq-support-cta__lead {
        font-size: 1rem;
    }
}

.mf-faq-support-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1rem;
    margin-top: 1.75rem;
}

.mf-faq-support-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.65rem 1.35rem;
    border-radius: 0.65rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-align: center;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

@media (min-width: 640px) {
    .mf-faq-support-cta__btn {
        font-size: 0.9375rem;
        padding: 0.7rem 1.5rem;
    }
}

.mf-faq-support-cta__btn--primary {
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 1px 8px rgba(4, 172, 195, 0.28),
        0 1px 2px rgba(13, 44, 72, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.mf-start .mf-faq-support-cta__btn--primary,
.mf-start .mf-faq-support-cta__btn--primary:visited,
.mf-start .mf-faq-support-cta__btn--primary:hover {
    color: #fff;
}

.mf-faq-support-cta__btn--primary:hover {
    transform: translateY(-1px);
    box-shadow:
        0 4px 16px rgba(4, 172, 195, 0.35),
        0 1px 3px rgba(13, 44, 72, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mf-faq-support-cta__btn--outline {
    background: #fff;
    color: #082a4f;
    border: 1px solid rgba(0, 0, 0, 0.18);
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.04);
}

.mf-start .mf-faq-support-cta__btn--outline {
    color: #082a4f;
}

.mf-faq-support-cta__btn--outline:hover {
    border-color: rgba(8, 42, 79, 0.22);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10, 37, 64, 0.08);
}

.mf-faq-support-cta__btn:active {
    transform: translateY(0);
}

/* —— Footer —— */
.mf-footer {
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    background: #fafaf8;
}

.mf-footer__inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 3.5rem 1.25rem 0;
}

@media (min-width: 640px) {
    .mf-footer__inner {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.mf-footer__top {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

@media (min-width: 1024px) {
    .mf-footer__top {
        flex-direction: row;
        align-items: flex-start;
        gap: 2.5rem;
    }
}

.mf-footer__brand {
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .mf-footer__brand {
        width: 38%;
        max-width: 26rem;
    }
}

.mf-footer__logo-link {
    display: inline-block;
    line-height: 0;
    text-decoration: none;
}

.mf-footer__logo {
    display: block;
    height: 3rem;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
}

.mf-footer__lead {
    margin: 1.25rem 0 0;
    max-width: 26rem;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(10, 37, 64, 0.55);
}

.mf-footer__lead strong {
    font-weight: 600;
    color: rgba(10, 37, 64, 0.72);
}

.mf-footer__tags {
    margin: 1rem 0 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--mf-navy);
}

.mf-footer__block {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.mf-footer__block--dashed {
    border-top: 1px dashed rgba(10, 37, 64, 0.1);
}

.mf-footer__h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
}

.mf-footer__avail {
    margin: 0.4rem 0 0;
    font-size: 14px;
    font-weight: 500;
    color: rgba(10, 37, 64, 0.7);
}

.mf-footer__highlight {
    font-weight: 600;
    color: var(--mf-turquoise);
}

.mf-footer__inline-link {
    text-decoration: underline;
    text-decoration-color: rgba(10, 37, 64, 0.25);
    text-underline-offset: 2px;
    color: inherit;
    transition: color 0.15s ease;
}

.mf-footer__inline-link:hover {
    color: var(--mf-turquoise);
}

.mf-footer__why {
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
    max-width: 28rem;
}

.mf-footer__why li {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 12.5px;
    line-height: 1.45;
    color: rgba(10, 37, 64, 0.65);
}

@media (min-width: 640px) {
    .mf-footer__why li {
        font-size: 13px;
        line-height: 1.6;
    }
}

.mf-footer__why li:first-child {
    margin-top: 0;
}

.mf-footer__chev {
    margin-top: 0.125rem;
    flex-shrink: 0;
    font-weight: 700;
    color: var(--mf-turquoise);
}

.mf-footer__cols-wrap {
    flex: 1;
    min-width: 0;
}

.mf-footer__cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

@media (min-width: 640px) {
    .mf-footer__cols {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .mf-footer__cols {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
}

.mf-footer__h3 {
    margin: 0 0 1.25rem;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
}

.mf-footer__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mf-footer__links li + li {
    margin-top: 0.75rem;
}

.mf-footer__links a {
    font-size: 13px;
    font-weight: 500;
    color: rgba(10, 37, 64, 0.6);
    text-decoration: none;
    transition: color 0.2s ease;
}

.mf-footer__links a:hover {
    color: var(--mf-turquoise);
}

.mf-footer__contact-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mf-footer__contact-list > li + li {
    margin-top: 0.85rem;
}

.mf-footer__contact-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.mf-footer__icon-circle {
    display: inline-flex;
    width: 1.875rem;
    height: 1.875rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    margin-top: 0.04rem;
    border-radius: 50%;
    border: 1px solid rgba(10, 37, 64, 0.14);
    background: rgba(255, 255, 255, 0.65);
    color: rgba(10, 37, 64, 0.45);
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.04);
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease;
}

.mf-footer__icon-circle .mf-icon-footer {
    display: block;
}

.mf-footer__contact-link {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    color: rgba(10, 37, 64, 0.6);
    transition: color 0.2s ease;
}

.mf-footer__contact-link:hover {
    color: var(--mf-turquoise);
}

.mf-footer__contact-link:hover .mf-footer__icon-circle {
    border-color: rgba(4, 172, 195, 0.35);
    background: rgba(4, 172, 195, 0.06);
    color: var(--mf-teal-deep);
    box-shadow: 0 1px 3px rgba(4, 172, 195, 0.12);
}

.mf-footer__contact-link:focus-visible {
    outline: 2px solid var(--mf-turquoise);
    outline-offset: 2px;
    border-radius: 0.25rem;
}

.mf-footer__contact-link:focus-visible .mf-footer__icon-circle {
    border-color: rgba(4, 172, 195, 0.45);
    color: var(--mf-teal-deep);
}

.mf-footer__contact-text {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(10, 37, 64, 0.6);
}

.mf-footer__contact-strong {
    display: block;
    font-weight: 600;
    color: rgba(10, 37, 64, 0.8);
}

.mf-footer__contact-line {
    display: block;
}

.mf-footer__contact-phone {
    font-weight: 600;
    color: rgba(10, 37, 64, 0.7);
}

.mf-footer__payments {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px dashed rgba(10, 37, 64, 0.1);
}

@media (min-width: 1024px) {
    .mf-footer__payments {
        margin-top: 3rem;
        padding-top: 3rem;
    }
}

.mf-footer__pay-grid {
    margin: 1.25rem 0 0;
    padding: 0 0 3.5rem;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.625rem;
}

@media (min-width: 640px) {
    .mf-footer__pay-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .mf-footer__pay-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1280px) {
    .mf-footer__pay-grid {
        grid-template-columns: repeat(6, 1fr);
        gap: 0.75rem;
    }
}

.mf-footer__pay-card {
    display: flex;
    min-height: 4.5rem;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    box-shadow:
        0 1px 0 0 rgba(255, 255, 255, 0.9) inset,
        0 0 0 1px rgba(10, 37, 64, 0.04);
    transition: box-shadow 0.2s ease;
}

@media (min-width: 640px) {
    .mf-footer__pay-card {
        gap: 0.75rem;
        padding: 0.75rem;
    }
}

.mf-footer__pay-card:hover {
    box-shadow:
        0 1px 0 0 rgba(255, 255, 255, 0.9) inset,
        0 0 0 1px rgba(10, 37, 64, 0.04),
        0 2px 8px rgba(10, 37, 64, 0.06);
}

.mf-footer__pay-logo {
    display: flex;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    background: #fff;
    box-shadow: 0 1px 2px rgba(10, 37, 64, 0.05);
}

@media (min-width: 640px) {
    .mf-footer__pay-logo {
        width: 44px;
        height: 44px;
    }
}

.mf-footer__pay-logo img {
    max-height: 28px;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}

.mf-footer__pay-body {
    min-width: 0;
    flex: 1;
}

.mf-footer__pay-name {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--mf-navy);
}

@media (min-width: 640px) {
    .mf-footer__pay-name {
        font-size: 13px;
    }
}

.mf-footer__pay-desc {
    margin: 0.125rem 0 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.4;
    color: rgba(10, 37, 64, 0.55);
}

@media (min-width: 640px) {
    .mf-footer__pay-desc {
        font-size: 11px;
    }
}

@media (min-width: 1280px) {
    .mf-footer__pay-desc {
        font-size: 12px;
    }
}

.mf-footer__disclaimer-text {
    margin: 1.25rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px dashed rgba(10, 37, 64, 0.1);
    font-size: 12px;
    line-height: 1.65;
    color: rgba(10, 37, 64, 0.5);
}

.mf-footer__disclaimer-text strong {
    font-weight: 600;
    color: rgba(10, 37, 64, 0.68);
}

.mf-footer__bar {
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    background: #fff;
}

.mf-footer__bar-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

@media (min-width: 640px) {
    .mf-footer__bar-inner {
        flex-direction: row;
        justify-content: space-between;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.mf-footer__copy {
    margin: 0;
    text-align: center;
    font-size: 12px;
    color: rgba(10, 37, 64, 0.4);
}

@media (min-width: 640px) {
    .mf-footer__copy {
        text-align: left;
    }
}

.mf-footer__copy-brand {
    font-weight: 600;
    color: rgba(10, 37, 64, 0.55);
}

.mf-footer__copy-brand-123 {
    color: var(--mf-turquoise);
}

.mf-footer__legal-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 12px;
}

.mf-footer__legal-nav a {
    color: rgba(10, 37, 64, 0.4);
    text-decoration: none;
    transition: color 0.15s ease;
}

.mf-footer__legal-nav a:hover {
    color: var(--mf-turquoise);
}

.mf-start .mf-footer .hero-cta-btn--footer {
    color: #ffffff;
}

.mf-start .mf-footer .hero-cta-btn--footer .hero-cta-label {
    color: #ffffff;
}

/* —— Business-Unterseite: gleiche Hero-/Sektionslogik wie /start —— */
.mf-biz-page {
    display: block;
    width: 100%;
}

.mf-biz-page__hero-aside {
    margin-top: 1.35rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
}

@media (min-width: 960px) {
    .mf-biz-page__hero-aside {
        align-items: flex-start;
    }
}

.mf-biz-page__platform-badges {
    transform: scale(0.92);
    transform-origin: center center;
}

@media (min-width: 960px) {
    .mf-biz-page__platform-badges {
        transform-origin: left center;
    }
}

.mf-biz-page__hero-pill {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(13, 44, 72, 0.78);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(10, 37, 64, 0.1);
    box-shadow: 0 2px 8px rgba(13, 44, 72, 0.06);
}

.mf-biz-page__hero-pill svg {
    flex-shrink: 0;
    color: var(--mf-turquoise);
}

.mf-biz-page__hero-pill strong {
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-biz-page__band {
    background: #fff;
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    border-bottom: 1px solid rgba(10, 37, 64, 0.06);
}

/* Weiß nach Hero: Kontrast zu Premium-Visual, Karten wirken klar */
.mf-biz-page__band--premium {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    border-bottom: 1px solid rgba(10, 37, 64, 0.06);
    background: #fff;
    box-shadow: none;
}

/* Leichtes Raster auf hellem Grund */
.mf-biz-page__band--premium::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 0;
    pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(13, 44, 72, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(13, 44, 72, 0.035) 1px, transparent 1px);
    background-size: 32px 32px;
    opacity: 0.55;
    -webkit-mask-image: radial-gradient(ellipse 85% 65% at 50% -10%, #000 0%, transparent 72%);
    mask-image: radial-gradient(ellipse 85% 65% at 50% -10%, #000 0%, transparent 72%);
}

.mf-biz-page__band-inner {
    max-width: 1220px;
    margin: 0 auto;
    padding: 2.25rem 1rem;
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) {
    .mf-biz-page__band-inner {
        padding: 2.75rem 1.5rem;
    }
}

.mf-biz-page__band--premium .mf-biz-page__band-inner {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

@media (min-width: 768px) {
    .mf-biz-page__band--premium .mf-biz-page__band-inner {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}

.mf-biz-page__band-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1rem;
    text-align: center;
}

@media (min-width: 768px) {
    .mf-biz-page__band-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.15rem;
    }
}

.mf-biz-page__band--premium .mf-biz-page__band-grid {
    gap: 1rem 0.75rem;
}

@media (min-width: 768px) {
    .mf-biz-page__band--premium .mf-biz-page__band-grid {
        gap: 1.25rem;
    }
}

/* Kennzahlen: gleiche Kartenhülle wie Funktionen (.mf-step__stack-*) */
.mf-biz-page__band-stat .mf-step__stack-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.1rem 1rem 1.2rem;
}

@media (min-width: 640px) {
    .mf-biz-page__band-stat .mf-step__stack-inner {
        padding: 1.2rem 1.1rem 1.3rem;
    }
}

.mf-biz-page__band-stat .mf-step__stack-outer {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.mf-biz-page__band-stat .mf-step__stack-outer:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(13, 44, 72, 0.1);
}

@media (prefers-reduced-motion: reduce) {
    .mf-biz-page__band-stat .mf-step__stack-outer:hover {
        transform: none;
    }
}

.mf-biz-page__band-value {
    margin: 0;
    font-size: clamp(1.5rem, 3.5vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--mf-turquoise);
}

.mf-biz-page__band--premium .mf-biz-page__band-value {
    font-size: clamp(1.65rem, 3.8vw, 2.5rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--mf-navy);
}

.mf-biz-page__band--premium .mf-biz-page__band-value-prefix,
.mf-biz-page__band--premium .mf-biz-page__band-value-suffix {
    font-weight: 600;
    font-size: 0.4em;
    letter-spacing: 0.04em;
    vertical-align: 0.2em;
    color: rgba(10, 37, 64, 0.48);
}

.mf-biz-page__band--premium .mf-biz-page__band-num {
    display: inline-block;
    min-width: 0.6em;
    color: var(--mf-navy);
    -webkit-text-fill-color: var(--mf-navy);
    filter: none;
}

.mf-biz-page__band-label {
    margin: 0.45rem 0 0;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.48);
    line-height: 1.35;
}

.mf-biz-page__band--premium .mf-biz-page__band-label {
    margin-top: 0.75rem;
    margin-bottom: 0;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(13, 44, 72, 0.08);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(13, 44, 72, 0.7);
    line-height: 1.55;
    max-width: 17rem;
}

.mf-biz-page__block {
    background: #fff;
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    padding: 3.25rem 1rem 3.75rem;
}

@media (min-width: 768px) {
    .mf-biz-page__block {
        padding: 4rem 1.5rem 4.5rem;
    }
}

.mf-biz-page__block--cream {
    background: #fafaf8;
}

/* Warmer Ton wie Startseiten-mf-steps (Arbeitsplatz auf /business) */
.mf-biz-page__block--steps {
    background: #f7f5f2;
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

/* Zielgruppen: weißer Abschnitt zwischen Creme (Funktionen) und Preisvergleich (#fafaf8) */
.mf-steps.mf-biz-page__aud-wrap {
    background: #fff;
}

.mf-biz-page__block-head {
    margin-bottom: 2rem;
    text-align: left;
}

.mf-biz-page__block-head--center {
    text-align: center;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.25rem;
}

.mf-biz-page__block-head .mf-pakete__lead {
    margin-top: 0.85rem;
}

.mf-biz-page__block-head:not(.mf-biz-page__block-head--center) .mf-pakete__lead {
    margin-left: 0;
    margin-right: 0;
}

/* /business Pakete: Kontingent „gleichzeitige Inserate“ unter dem Preis */
.mf-biz-page__pakete .mf-biz-page__pakete-slots {
    margin: 0.65rem 0 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    line-height: 1.4;
    text-align: center;
    color: var(--mf-navy);
    background: color-mix(in srgb, var(--mf-turquoise) 14%, #fff 86%);
    border: 1px solid color-mix(in srgb, var(--mf-turquoise) 28%, transparent);
}

.mf-biz-page__pakete .mf-biz-page__pakete-slots strong {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.mf-biz-page__pakete .mf-biz-page__pakete-term-hint {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: rgba(13, 44, 72, 0.62);
    text-align: center;
}

.mf-biz-page__pakete .mf-biz-page__pakete-toggle-save {
    display: inline-block;
    margin-left: 0.2rem;
    font-size: 0.8125em;
    font-weight: 800;
    color: var(--mf-turquoise);
}

/* Platz unten, damit die überlappende Custom-Karte Hinweis & Fine Print nicht verdeckt */
.mf-pakete.mf-biz-page__pakete {
    position: relative;
    z-index: 0;
    padding-bottom: clamp(5.25rem, 11vw, 7.5rem);
}

@media (min-width: 768px) {
    .mf-pakete.mf-biz-page__pakete {
        padding-bottom: clamp(5.75rem, 10vw, 8.25rem);
    }
}

/* Business: Karte unter Paketen (schwarze mf-business-Optik, Kontakt) */
.mf-biz-page__custom-block {
    background: #fafaf8;
    border-top: 1px solid rgba(10, 37, 64, 0.06);
    padding: 0 0 3rem;
}

.mf-biz-page__custom-block .mf-business__stack-outer {
    position: relative;
    z-index: 2;
    margin-top: -2.5rem;
}

@media (min-width: 768px) {
    .mf-biz-page__custom-block .mf-business__stack-outer {
        margin-top: -3.25rem;
    }
}

.mf-biz-page__custom-block .mf-biz-page__custom-offer-title {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
    line-height: 1.25;
}

.mf-biz-page__custom-offer-lead {
    margin: -0.35rem 0 1.05rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
}

.mf-biz-page__custom-offer-aside-lead {
    margin: 0.45rem 0 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.78);
}

.mf-biz-page__custom-block .mf-price-compare__cta.mf-biz-page__custom-offer-cta-mail {
    margin-top: 1rem;
    gap: 0.5rem;
}

.mf-biz-page__custom-block .mf-biz-page__custom-offer-cta-mail .mf-icon-footer,
.mf-biz-page__custom-block .mf-business__cta--ghost .mf-icon-footer {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.mf-biz-page__custom-block .mf-business__cta--ghost {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.65rem;
    padding: 0.85rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-align: center;
    gap: 0.5rem;
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: none;
    transition:
        transform 0.2s ease,
        background-color 0.15s ease,
        border-color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-biz-page__custom-block .mf-business__cta--ghost:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.07);
    border-color: #fff;
    color: #fff;
}

.mf-biz-page__custom-block .mf-business__cta--ghost:visited {
    color: #fff;
}

.mf-biz-page__custom-block .mf-business__aside .mf-business__fine-print {
    margin-top: 0.95rem;
}

.mf-biz-page__custom-compare {
    margin: 1.35rem auto 0;
    max-width: 44rem;
    text-align: center;
}

.mf-biz-page__custom-compare-line {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: rgba(13, 44, 72, 0.55);
}

.mf-biz-page__custom-compare-line + .mf-biz-page__custom-compare-line {
    margin-top: 0.45rem;
}

.mf-biz-page__custom-compare-line strong {
    font-weight: 700;
    color: rgba(13, 44, 72, 0.72);
}

.mf-biz-page__custom-compare-sep {
    display: inline-block;
    margin: 0 0.35rem;
    font-weight: 700;
    color: rgba(13, 44, 72, 0.35);
}

.mf-biz-page__preview-shell {
    margin-top: 0.5rem;
}

/* Business Funktionen: vertikale Liste mit mf-step-Karten (Startseite „Inserat erstellen“) */
.mf-biz-page__feat-steps-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 900px) {
    .mf-biz-page__feat-steps-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.75rem;
    }
}

/* Viele Karten: kein Icon-Atmen, Ruhe im Layout */
.mf-biz-page__feat-steps-grid .mf-step__icon svg {
    animation: none;
}

.mf-biz-page__aud-stack-inner .mf-biz-page__aud-head {
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .mf-biz-page__aud-stack-inner .mf-biz-page__aud-head {
        margin-bottom: 2.5rem;
    }
}

.mf-biz-page__aud-lead {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}

.mf-biz-page__aud-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.15rem;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
    .mf-biz-page__aud-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

.mf-biz-page__aud-step {
    margin: 0;
    height: 100%;
}

.mf-biz-page__aud-step .mf-step__stack-outer {
    height: 100%;
}

.mf-biz-page__aud-title {
    margin: 0 0 0.55rem;
    padding-left: 0.65rem;
    border-left: 3px solid var(--mf-turquoise);
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: var(--mf-navy);
}

.mf-biz-page__aud-desc {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(13, 44, 72, 0.68);
}

.mf-biz-page__block--vs {
    background: #fafaf8;
    position: relative;
    overflow: visible;
}

.mf-biz-page__block--vs .mf-pakete__wrap {
    position: relative;
    z-index: 1;
}

.mf-biz-page__vs-wrap {
    max-width: 1120px;
}

/* Preisvergleich: Kopf + zwei Karten + VS + Ersparnis-Banner */
.mf-biz-page__vs-head {
    margin: 0 auto 2rem;
    max-width: 42rem;
}

.mf-biz-page__cmp {
    position: relative;
    z-index: 1;
    max-width: 1040px;
    margin: 0 auto;
}

.mf-biz-page__cmp-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
}

@media (min-width: 880px) {
    .mf-biz-page__cmp-grid {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        gap: 0;
    }
}

/* Gestapelter Rahmen wie mf-pakete (Ribbon + stack-outer → stack-inner → body) */
.mf-biz-page__cmp-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.mf-biz-page__cmp-card--bad {
    order: 1;
}

.mf-biz-page__cmp-card--good {
    order: 3;
}

.mf-biz-page__cmp-card .mf-pakete__stack-outer {
    flex: 1 1 auto;
    width: 100%;
}

@media (min-width: 880px) {
    .mf-biz-page__cmp-card .mf-pakete__stack-outer {
        min-height: 100%;
    }
}

.mf-biz-page__cmp-card--bad .mf-biz-page__cmp-stack-outer {
    border-color: rgba(185, 28, 28, 0.24);
    background: #faf5f5;
    box-shadow: 0 1px 3px rgba(10, 37, 64, 0.06);
}

.mf-biz-page__cmp-ribbon--bad span {
    background: linear-gradient(145deg, #f97373 0%, #dc2626 48%, #b91c1c 100%);
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 2px 12px rgba(220, 38, 38, 0.35);
}

.mf-biz-page__cmp-vs {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0;
}

@media (min-width: 880px) {
    .mf-biz-page__cmp-vs {
        padding: 0 0.65rem;
    }
}

.mf-biz-page__cmp-vs span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--mf-navy);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(13, 44, 72, 0.12);
}

.mf-biz-page__cmp-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.65rem;
    border-radius: 9999px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.mf-biz-page__cmp-pill--bad {
    background: rgba(254, 226, 226, 0.9);
    color: #991b1b;
    border: 1px solid rgba(185, 28, 28, 0.28);
}

.mf-biz-page__cmp-pill--good {
    background: var(--mf-turquoise);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.mf-biz-page__cmp-pill-star {
    flex-shrink: 0;
}

.mf-biz-page__cmp-card-title {
    margin: 0 0 1rem;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mf-navy);
    line-height: 1.3;
}

.mf-biz-page__cmp-portals {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

.mf-biz-page__cmp-portal-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(10, 37, 64, 0.06);
}

.mf-biz-page__cmp-portal-row:last-child {
    border-bottom: none;
}

.mf-biz-page__cmp-portal-brand {
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.55rem;
    background: #fafafa;
    border-radius: 0.4rem;
    border: 1px solid rgba(10, 37, 64, 0.06);
}

.mf-biz-page__cmp-card--bad .mf-biz-page__cmp-portal-brand {
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
}

.mf-biz-page__cmp-portal-price {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(13, 44, 72, 0.72);
    white-space: nowrap;
}

.mf-biz-page__cmp-card--good .mf-biz-page__cmp-portal-brand {
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
}

.mf-biz-page__cmp-portal-ok {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #15803d;
    white-space: nowrap;
}

.mf-biz-page__cmp-check {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #22c55e;
    position: relative;
    flex-shrink: 0;
}

.mf-biz-page__cmp-check::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 7px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.mf-biz-page__cmp-total {
    margin: 1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(10, 37, 64, 0.1);
    text-align: center;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(1.65rem, 4vw, 2.15rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: #0a0a0a;
}

.mf-biz-page__cmp-total-val {
    font-weight: 800;
    letter-spacing: inherit;
    color: #0a0a0a;
}

.mf-biz-page__cmp-total-suffix {
    display: inline;
    margin-left: 0.3em;
    font-size: 0.48em;
    font-weight: 600;
    letter-spacing: 0.02em;
    vertical-align: baseline;
    color: rgba(13, 44, 72, 0.55);
}

.mf-biz-page__cmp-list {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.8125rem;
    line-height: 1.45;
}

.mf-biz-page__cmp-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.mf-biz-page__cmp-list li:last-child {
    margin-bottom: 0;
}

.mf-biz-page__cmp-list--bad {
    color: rgba(13, 44, 72, 0.75);
}

.mf-biz-page__cmp-list--good {
    color: rgba(13, 44, 72, 0.78);
}

.mf-biz-page__cmp-list--good .mf-pakete__check {
    margin-top: 0.12rem;
    color: #22c55e;
}

.mf-biz-page__cmp-portal-ok .mf-pakete__check {
    margin-top: 0;
    color: #22c55e;
}

.mf-biz-page__cmp-ico {
    flex-shrink: 0;
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.12rem;
    border-radius: 50%;
    position: relative;
}

.mf-biz-page__cmp-ico--x {
    background: rgba(220, 38, 38, 0.12);
    border: 1px solid rgba(220, 38, 38, 0.45);
}

.mf-biz-page__cmp-ico--x::before,
.mf-biz-page__cmp-ico--x::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 2px;
    background: #b91c1c;
    border-radius: 1px;
}

.mf-biz-page__cmp-ico--x::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.mf-biz-page__cmp-ico--x::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.mf-biz-page__cmp-ico--ok {
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.45);
}

.mf-biz-page__cmp-ico--ok::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 2px;
    width: 4px;
    height: 7px;
    border: solid #15803d;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.mf-biz-page__cmp-banner {
    margin-top: 1.35rem;
    padding: 1.35rem 1.25rem 1.5rem;
    border-radius: 0.75rem;
    background: var(--mf-turquoise);
    color: var(--mf-navy);
    text-align: center;
    box-shadow: 0 4px 18px rgba(4, 172, 195, 0.22);
}

/* Ersparnis: Premium-Karte (mf-business-Chrome, türkis/blau) */
.mf-biz-page__cmp-banner--premium {
    padding: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    border-radius: 0;
}

.mf-biz-page__savings-premium-stack {
    border-radius: 1.08rem;
    padding: 3px;
    background: linear-gradient(
        148deg,
        rgba(4, 172, 195, 0.45) 0%,
        rgba(13, 44, 72, 0.2) 45%,
        rgba(4, 172, 195, 0.35) 100%
    );
    box-shadow:
        0 4px 20px rgba(4, 172, 195, 0.18),
        0 1px 3px rgba(13, 44, 72, 0.08);
}

@media (min-width: 640px) {
    .mf-biz-page__savings-premium-stack {
        border-radius: 1.12rem;
        padding: 4px;
    }
}

.mf-biz-page__savings-premium-card.mf-business__card {
    background: linear-gradient(165deg, #2ec4d8 0%, var(--mf-turquoise) 42%, #039bb4 100%);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow:
        0 14px 40px rgba(4, 172, 195, 0.35),
        0 2px 12px rgba(13, 44, 72, 0.12);
    color: #fff;
}

.mf-biz-page__savings-premium-card.mf-business__card::after {
    opacity: 0.35;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.12) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.12) 1px, transparent 1px),
        linear-gradient(to right, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    -webkit-mask-image: radial-gradient(ellipse 70% 55% at 88% 10%, #000 0%, #000 40%, transparent 75%);
    mask-image: radial-gradient(ellipse 70% 55% at 88% 10%, #000 0%, #000 40%, transparent 75%);
}

.mf-biz-page__savings-premium-inner {
    position: relative;
    z-index: 1;
    text-align: center;
}

.mf-biz-page__cmp-banner-kicker {
    margin: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(10, 37, 64, 0.55);
}

.mf-biz-page__cmp-banner-sum {
    margin: 0.35rem 0 0;
    font-family: Montserrat, system-ui, sans-serif;
    font-size: clamp(1.85rem, 5vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--mf-navy);
}

.mf-biz-page__cmp-banner-sum-unit {
    font-size: 0.55em;
    font-weight: 700;
    margin-left: 0.15em;
    opacity: 0.85;
}

.mf-biz-page__cmp-banner-sub {
    margin: 0.65rem auto 0;
    max-width: 28rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgba(10, 37, 64, 0.68);
}

.mf-biz-page__cmp-banner-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.1rem;
    padding: 0.72rem 1.5rem;
    border-radius: 0.55rem;
    background: #fff;
    color: var(--mf-navy);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(10, 37, 64, 0.12);
    box-shadow: 0 1px 3px rgba(13, 44, 72, 0.08);
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.mf-biz-page__cmp-banner-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 44, 72, 0.12);
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-kicker {
    color: rgba(255, 255, 255, 0.88);
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-sum {
    color: #fff;
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-sum-unit {
    color: rgba(255, 255, 255, 0.95);
    opacity: 0.95;
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-sub {
    color: rgba(255, 255, 255, 0.92);
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-btn {
    background: #0a0a0a;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-btn:visited {
    color: #fff;
}

.mf-biz-page__savings-premium-card .mf-biz-page__cmp-banner-btn:hover {
    background: #1a1a1a;
    color: #fff;
    box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.mf-biz-page__vs-disclaimer {
    position: relative;
    z-index: 1;
    margin: 1.25rem auto 0;
    padding: 0;
    font-size: 0.75rem;
    line-height: 1.5;
    color: rgba(13, 44, 72, 0.48);
    text-align: center;
    max-width: 40rem;
}

.mf-biz-page .mf-business {
    border-top: 1px solid rgba(10, 37, 64, 0.08);
}

/* Dashboard · Immobilien (Liste, Formular, Wizard) */
.mf-app-page__title--row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.mf-dash-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    justify-content: flex-end;
}

.mf-inline-form {
    display: inline;
    margin: 0;
}

.mf-dash-meta {
    font-size: 0.72rem;
    color: var(--mf-dashboard-ui-ink);
}

@media (min-width: 768px) {
    .mf-dash-table-wrap--props .mf-dash-table__headings {
        grid-template-columns: 1fr 5.5rem 6.5rem minmax(12rem, 1.35fr);
    }

    .mf-dash-table-wrap--props .mf-dash-table__row {
        grid-template-columns: 1fr 5.5rem 6.5rem minmax(12rem, 1.35fr);
    }
}

.mf-dash-btn--danger {
    color: #9b1c1c;
    border-color: rgba(155, 28, 28, 0.25);
}

.mf-dash-btn--danger:hover:not(:disabled) {
    background: rgba(155, 28, 28, 0.06);
    border-color: rgba(155, 28, 28, 0.35);
}

.mf-dash-btn--danger:focus-visible {
    outline: 2px solid rgba(155, 28, 28, 0.35);
}

.mf-dash-table__thumb--has-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.mf-dash-grid-2col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 760px) {
    .mf-dash-grid-2col {
        grid-template-columns: 1fr 1fr;
    }
}

.mf-dash-pill--sync {
    background: rgba(13, 110, 90, 0.1);
    color: #0d5c4a;
    border: 1px solid rgba(13, 110, 90, 0.2);
}

.mf-dash-pill--err {
    background: rgba(155, 28, 28, 0.08);
    color: #8a2020;
    border: 1px solid rgba(155, 28, 28, 0.22);
}

.mf-prop-form__section {
    margin-bottom: 1.5rem;
}

.mf-prop-form__section-h {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--mf-navy);
    margin: 0 0 0.75rem;
}

.mf-prop-form__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem 1rem;
}

@media (min-width: 640px) {
    .mf-prop-form__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.mf-prop-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.mf-prop-form__field--full {
    grid-column: 1 / -1;
}

.mf-prop-form__label {
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(13, 44, 72, 0.78);
}

.mf-prop-form__input,
.mf-prop-form__select,
.mf-prop-form__textarea {
    font: inherit;
    font-size: 0.85rem;
    padding: 0.45rem 0.55rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(8, 42, 79, 0.16);
    background: #fff;
    color: var(--mf-navy);
}

.mf-prop-form__textarea {
    min-height: 6rem;
    resize: vertical;
}

.mf-prop-form__hint {
    font-size: 0.65rem;
    color: rgba(13, 44, 72, 0.45);
    margin: 0;
}

.mf-prop-form__error {
    font-size: 0.65rem;
    color: #9b1c1c;
    margin: 0;
}

.mf-profile-aside__form {
    margin: 0;
    padding: 0;
}

.mf-profile-aside__link--button {
    appearance: none;
    width: 100%;
    margin: 0;
    cursor: pointer;
    border: none;
    background: transparent;
    font: inherit;
    box-sizing: border-box;
}

.mf-profile__main--property-form {
    max-width: 56rem;
}

.mf-prop-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(8, 42, 79, 0.08);
}

.mf-dash-check {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.8rem;
    line-height: 1.35;
    color: rgba(13, 44, 72, 0.75);
}

.mf-dash-check input {
    margin-top: 0.2rem;
}

.mf-prop-img-list {
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.mf-prop-img-list__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mf-prop-img-list__thumb {
    flex-shrink: 0;
    width: 7rem;
    height: 5.25rem;
    border-radius: 0.4rem;
    overflow: hidden;
    border: 1px solid rgba(8, 42, 79, 0.1);
    background: #f4f6f9;
}

.mf-prop-img-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mf-prop-img-list__meta {
    font-size: 0.75rem;
    color: var(--mf-navy);
    flex: 1 1 10rem;
}

/* ─────────────────────────────────────────────────────────────────
   Inserat-Wizard (/dashboard/properties/create)
   Clean & funktional. Card-Pattern wie /profile, Premium-Stepper.
   ───────────────────────────────────────────────────────────────── */

.mf-page-prop-wizard .mf-dashboard-body__inner {
    background: transparent;
}

.mf-prop-wizard {
    max-width: min(52rem, 100%);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    color: #0f172a;
    font-family: Montserrat, system-ui, sans-serif;
}

.mf-prop-wizard.mf-prop-wizard--clean {
    max-width: none;
    width: 100%;
}

/* HTML-`hidden`-Attribut darf von keinem Wizard-Layout überschrieben werden */
.mf-prop-wizard [hidden] {
    display: none !important;
}

@media (min-width: 768px) {
    .mf-prop-wizard {
        gap: 1.5rem;
    }
}

/* Kompakter Seitenkopf + Fortschritt */
.mf-prop-wizard__top {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.85rem 1rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.85rem;
    box-shadow: 0 1px 3px 0 rgba(15, 23, 42, 0.05);
}

@media (min-width: 768px) {
    .mf-prop-wizard__top {
        padding: 0.9rem 1.15rem 1.05rem;
    }
}

.mf-prop-wizard__top-bar {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.mf-prop-wizard__back {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
    padding: 0.3rem 0.55rem 0.3rem 0.35rem;
    margin-left: -0.35rem;
    border-radius: 0.45rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.mf-prop-wizard__back:hover,
.mf-prop-wizard__back:focus-visible {
    color: var(--mf-dashboard-ui-ink);
    background: rgba(43, 127, 255, 0.06);
    outline: none;
}

.mf-prop-wizard__title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-prop-wizard__top-bar .mf-prop-wizard__tag--optional {
    flex-shrink: 0;
    margin-left: auto;
}

.mf-prop-wizard__flash {
    margin: 0;
}

.mf-prop-wizard__guide-step {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    color: #64748b;
}

.mf-prop-wizard__guide-sep {
    margin: 0 0.2rem;
    color: #cbd5e1;
}

.mf-prop-wizard__guide-label {
    font-weight: 600;
    color: #334155;
}

.mf-prop-wizard__guide-tip {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #94a3b8;
}

.mf-prop-wizard__dots {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    padding: 0.1rem 0 0;
}

.mf-prop-wizard__dot {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    margin: 0;
    padding: 0;
    border: 2px solid #e2e8f0;
    border-radius: 9999px;
    background: #f8fafc;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-prop-wizard__dot:hover {
    border-color: #cbd5e1;
    background: #fff;
}

.mf-prop-wizard__dot:focus-visible {
    outline: 2px solid var(--mf-dashboard-ui-ink);
    outline-offset: 2px;
}

.mf-prop-wizard__dot.is-active {
    border-color: var(--mf-dashboard-primary);
    background: var(--mf-dashboard-primary);
    color: #fff;
}

.mf-prop-wizard__dot.is-done {
    border-color: var(--mf-dashboard-primary);
    background: rgba(43, 127, 255, 0.12);
    color: var(--mf-dashboard-primary);
}

.mf-prop-wizard__dot-check {
    display: none;
}

.mf-prop-wizard__dot.is-done .mf-prop-wizard__dot-num {
    display: none;
}

.mf-prop-wizard__dot.is-done .mf-prop-wizard__dot-check {
    display: inline-flex;
}

.mf-prop-wizard__progress-track {
    height: 4px;
    border-radius: 9999px;
    background: #e5e7eb;
    overflow: hidden;
}

.mf-prop-wizard__progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--mf-dashboard-primary) 0%, var(--mf-dashboard-primary-hover) 100%);
    transition: width 0.28s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.mf-prop-wizard__guide-links {
    display: none;
    flex-wrap: wrap;
    gap: 0.3rem;
    justify-content: flex-start;
    padding-top: 0.15rem;
}

@media (min-width: 900px) {
    .mf-prop-wizard__guide-links {
        display: flex;
    }
}

.mf-prop-wizard__guide-link {
    margin: 0;
    padding: 0.3rem 0.65rem;
    border: 0;
    border-radius: 9999px;
    background: transparent;
    color: #94a3b8;
    font: inherit;
    font-size: 0.6875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.mf-prop-wizard__guide-link:hover {
    background: rgba(43, 127, 255, 0.06);
    color: #64748b;
}

.mf-prop-wizard__guide-link.is-active {
    background: rgba(43, 127, 255, 0.1);
    color: var(--mf-dashboard-primary);
}

.mf-prop-wizard__guide-link.is-done {
    color: #64748b;
}

.mf-prop-wizard__guide-link:focus-visible {
    outline: 2px solid var(--mf-dashboard-ui-ink);
    outline-offset: 2px;
}

/* Hilfe-Boxen */
.mf-prop-wizard__help {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    background: rgba(43, 127, 255, 0.06);
    border: 1px solid rgba(43, 127, 255, 0.12);
}

.mf-prop-wizard__help--soft {
    background: #f8fafc;
    border-color: #e2e8f0;
}

.mf-prop-wizard__help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background: #fff;
    color: var(--mf-dashboard-primary);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.mf-prop-wizard__help--soft .mf-prop-wizard__help-icon {
    color: #64748b;
}

.mf-prop-wizard__help p {
    margin: 0.15rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #475569;
}

/* Tags */
.mf-prop-wizard__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
}

.mf-prop-wizard__tag--optional {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

/* Form & Panels */
.mf-prop-wizard__form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
}

.mf-prop-wizard__panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .mf-prop-wizard__panel {
        gap: 1.25rem;
    }
}

.mf-prop-wizard--clean {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

.mf-prop-wizard--clean.mf-cust-show--clean .mf-cust-show__panel,
.mf-prop-wizard--clean.mf-cust-show--clean .mf-prop-simple-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.15rem 1.25rem;
    box-shadow: none;
}

.mf-prop-wizard--clean .mf-prop-wizard__stepper {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0 0 0.15rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.mf-prop-wizard--clean .mf-prop-wizard__stepper-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mf-prop-wizard--clean .mf-prop-wizard__form {
    gap: 1rem;
}

.mf-prop-wizard--clean .mf-prop-wizard__panel {
    gap: 0;
}

.mf-prop-wizard--clean .mf-prop-wizard__subsection-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--mf-admin-ink, #0f172a);
}

.mf-prop-wizard--clean .mf-prop-wizard__stepper-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.mf-prop-wizard--clean .mf-prop-wizard__stepper-intro {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    min-width: 0;
}

.mf-prop-wizard--clean .mf-prop-wizard__stepper-tools {
    flex: 1 1 16rem;
    max-width: 100%;
    margin-left: auto;
}

.mf-prop-wizard--clean .mf-prop-wizard__step-tool {
    width: 100%;
}

.mf-prop-wizard--clean .mf-prop-wizard__guide-links--icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding-top: 0.15rem;
}

.mf-prop-wizard--clean .mf-prop-wizard__guide-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 9999px;
    font-size: 0.75rem;
}

.mf-prop-wizard--clean .mf-prop-wizard__guide-link-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #94a3b8;
}

.mf-prop-wizard--clean .mf-prop-wizard__guide-link.is-active .mf-prop-wizard__guide-link-ico,
.mf-prop-wizard--clean .mf-prop-wizard__guide-link.is-done .mf-prop-wizard__guide-link-ico {
    color: currentColor;
}

.mf-prop-wizard--clean .mf-prop-wizard__guide-link-text {
    line-height: 1.2;
}

.mf-mkt-switch-wrap--toolbar {
    margin: 0;
    gap: 0;
    width: 100%;
}

.mf-mkt-switch--toolbar {
    max-width: none;
    width: 100%;
}

@media (min-width: 640px) {
    .mf-mkt-switch--toolbar {
        min-width: 18rem;
    }
}

.mf-prop-wizard--clean .mf-prop-wizard__nav {
    padding: 0.85rem 0 0;
    background: transparent;
    border: 0;
    border-top: 1px solid #e2e8f0;
    border-radius: 0;
    box-shadow: none;
    position: static;
}

.mf-prop-wizard--clean .mf-portal-picker {
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
}

/* Card (orientiert sich an /profile, etwas luftiger) */
.mf-prop-card {
    margin: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.85rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.mf-prop-card__head {
    padding: 1.1rem 1.25rem 0.65rem;
    border-bottom: 1px solid #f1f5f9;
}

@media (min-width: 768px) {
    .mf-prop-card__head {
        padding: 1.25rem 1.6rem 0.75rem;
    }
}

.mf-prop-wizard .mf-prop-card__title {
    font-size: 0.9375rem;
}

.mf-prop-card__title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.mf-prop-card__sub {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #4b5563;
}

.mf-prop-card__body {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    padding: 1.1rem 1.25rem 1.4rem;
}

@media (min-width: 768px) {
    .mf-prop-card__body {
        gap: 1.25rem;
        padding: 1.4rem 1.6rem 1.6rem;
    }
}

.mf-prop-card__label {
    display: block;
    margin: 0 0 0.4rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-prop-card__req {
    margin-left: 0.2rem;
    color: #b91c1c;
    font-weight: 700;
    line-height: 1;
}

.mf-prop-card__title .mf-prop-card__req {
    margin-left: 0.25rem;
    font-size: 0.95em;
    vertical-align: baseline;
}

.mf-prop-wizard__legend {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.mf-prop-wizard__legend .mf-prop-card__req {
    margin: 0;
}

.mf-prop-card__hint {
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.4;
}

.mf-prop-card__err {
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    color: #b91c1c;
    line-height: 1.4;
}

.mf-prop-wizard .mf-prop-card__input {
    padding: 0.65rem 0.85rem;
    font-size: 1rem;
}

.mf-prop-card__input {
    display: block;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #0f172a;
    font: inherit;
    font-size: 0.9375rem;
    line-height: 1.45;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
    appearance: none;
}

.mf-prop-card__input:hover {
    border-color: #cbd5e1;
}

.mf-prop-card__input:focus {
    outline: none;
    border-color: var(--mf-dashboard-primary);
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.18);
}

.mf-prop-card__textarea {
    min-height: 6.5rem;
    line-height: 1.55;
    resize: vertical;
}

select.mf-prop-card__input {
    cursor: pointer;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position:
        calc(100% - 1.05rem) calc(50% - 2.5px),
        calc(100% - 0.75rem) calc(50% - 2.5px);
    background-size: 5px 5px;
    background-repeat: no-repeat;
    padding-right: 2rem;
}

/* Form-Grid */
.mf-prop-wizard__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.25rem;
}

.mf-prop-wizard__field {
    margin: 0;
    min-width: 0;
}

@media (min-width: 600px) {
    .mf-prop-wizard__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mf-prop-wizard__field--full {
        grid-column: 1 / -1;
    }
}

/* Adress-Block: zwei feste Reihen — Straße/Hausnummer und PLZ/Ort */
.mf-address-autocomplete {
    margin-bottom: 1rem;
}

.mf-address-autocomplete__search-wrap {
    position: relative;
}

.mf-address-autocomplete__icon {
    position: absolute;
    top: 50%;
    left: 0.85rem;
    transform: translateY(-50%);
    color: #64748b;
    pointer-events: none;
    display: inline-flex;
}

.mf-address-autocomplete__input {
    padding-left: 2.5rem;
}

.mf-address-autocomplete--failed .mf-prop-card__hint {
    color: #b45309;
}

/* Google Places Dropdown – über Wizard-Navigation und Modals */
.pac-container {
    z-index: 10050 !important;
    margin-top: 0.35rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.55rem;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    font-family: inherit;
    overflow: hidden;
}

.pac-item {
    padding: 0.55rem 0.85rem;
    font-size: 0.875rem;
    line-height: 1.35;
    cursor: pointer;
}

.pac-item:hover,
.pac-item-selected {
    background: #f8fafc;
}

.pac-icon {
    margin-top: 0.15rem;
}

.pac-logo::after {
    margin: 0.35rem 0.65rem 0.45rem;
}

.mf-prop-wizard__addr {
    display: flex;
    flex-direction: column;
    gap: 1rem 1.25rem;
}

.mf-prop-wizard__addr-row {
    display: grid;
    gap: 1rem 1.25rem;
}

.mf-prop-wizard__addr-row--street {
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
}

.mf-prop-wizard__addr-row--zip {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}

.mf-prop-hide-address {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: 0.25rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(10, 37, 64, 0.1);
    border-radius: 0.75rem;
    background: #fafaf8;
    cursor: pointer;
}

.mf-prop-hide-address input {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
    accent-color: var(--mf-teal-deep);
    cursor: pointer;
}

.mf-prop-hide-address__text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.mf-prop-hide-address__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-navy);
}

.mf-prop-hide-address__hint {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

@media (min-width: 900px) {
    .mf-prop-wizard__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Vermarktungs-Switcher (Pill-Segment) */
.mf-mkt-switch-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 1rem;
}

.mf-mkt-switch-wrap__label {
    margin: 0;
}

.mf-prop-wizard--clean .mf-mkt-switch-wrap__label {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--mf-admin-ink, #0f172a);
}

.mf-prop-wizard--clean .mf-mkt-switch-wrap {
    gap: 0.75rem;
    margin-bottom: 0;
}

.mf-mkt-switch-wrap__hint {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.mf-mkt-switch {
    display: flex;
    align-items: stretch;
    gap: 0.2rem;
    width: 100%;
    max-width: 22rem;
    padding: 0.3rem;
    background: #f1f5f9;
    border: 1px solid #e8edf2;
    border-radius: 12px;
}

.mf-mkt-switch__item {
    flex: 1;
    margin: 0;
    cursor: pointer;
    min-width: 0;
}

.mf-mkt-switch__item.is-disabled {
    cursor: not-allowed;
}

.mf-mkt-switch__item.is-disabled .mf-mkt-switch__btn {
    opacity: 0.45;
    pointer-events: none;
}

.mf-mkt-switch__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.55rem 0.85rem;
    border-radius: 9px;
    font-size: 0.84rem;
    font-weight: 500;
    color: #64748b;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    user-select: none;
}

.mf-mkt-switch__btn svg {
    color: #cbd5e1;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.mf-mkt-switch__item:hover .mf-mkt-switch__btn {
    color: #334155;
    background: rgba(255, 255, 255, 0.5);
}

.mf-mkt-switch__item:hover .mf-mkt-switch__btn svg {
    color: #94a3b8;
}

.mf-mkt-switch__input:checked + .mf-mkt-switch__btn {
    color: #0f172a;
    font-weight: 600;
    background: #fff;
    box-shadow:
        0 1px 3px rgba(15, 23, 42, 0.07),
        0 1px 2px rgba(15, 23, 42, 0.04);
}

.mf-mkt-switch__input:checked + .mf-mkt-switch__btn svg {
    color: #94a3b8;
}

.mf-mkt-switch__input:focus-visible + .mf-mkt-switch__btn {
    outline: 2px solid var(--mf-dashboard-primary, #2b7fff);
    outline-offset: 1px;
}

/* Vermarktungs-Karten (Wizard: Ausstattung etc.) */
.mf-prop-wizard__choice-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

@media (min-width: 600px) {
    .mf-prop-wizard__choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
}

.mf-prop-wizard__choice {
    display: block;
    margin: 0;
    cursor: pointer;
}

.mf-prop-wizard__choice-card {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1.15rem 1.2rem;
    min-height: 5.5rem;
    border: 2px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #fff;
    transition: border-color 0.15s ease, background 0.15s ease;
    height: 100%;
}

.mf-prop-wizard__choice-card:hover {
    border-color: #cbd5e1;
}

.mf-prop-wizard__choice-input:checked + .mf-prop-wizard__choice-card {
    border-color: var(--mf-dashboard-primary);
    background: rgba(43, 127, 255, 0.05);
}

.mf-prop-wizard__choice-input:focus-visible + .mf-prop-wizard__choice-card {
    outline: 2px solid var(--mf-dashboard-ui-ink);
    outline-offset: 2px;
}

.mf-prop-wizard__choice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.55rem;
    background: rgba(43, 127, 255, 0.08);
    color: var(--mf-dashboard-ui-ink);
}

.mf-prop-wizard__choice-input:checked + .mf-prop-wizard__choice-card .mf-prop-wizard__choice-icon {
    background: var(--mf-dashboard-primary);
    color: #fff;
}

.mf-prop-wizard__choice-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.mf-prop-wizard__choice-kicker {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.mf-prop-wizard__choice-input:checked + .mf-prop-wizard__choice-card .mf-prop-wizard__choice-kicker {
    color: var(--mf-dashboard-primary);
}

.mf-prop-wizard__choice-title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.mf-prop-wizard__choice-desc {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

/* Ausstattungs-Merkmale */
.mf-prop-wizard__choice-grid--amenities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

@media (min-width: 560px) {
    .mf-prop-wizard__choice-grid--amenities {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
    }
}

@media (min-width: 900px) {
    .mf-prop-wizard__choice-grid--amenities {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

.mf-prop-wizard__choice-card--amenity {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.55rem;
    padding: 0.9rem 0.65rem;
    min-height: 5.5rem;
}

.mf-prop-wizard__choice-card--amenity .mf-prop-wizard__choice-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0;
    background: transparent;
}

.mf-prop-wizard__choice-input:checked + .mf-prop-wizard__choice-card--amenity .mf-prop-wizard__choice-icon {
    background: transparent;
    color: inherit;
}

.mf-prop-wizard__choice-card--amenity .mf-prop-wizard__choice-icon svg {
    display: block;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.mf-prop-wizard__amenity-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    flex-shrink: 0;
}

.mf-prop-wizard__choice-card--amenity .mf-prop-wizard__choice-text {
    align-items: center;
}

.mf-prop-wizard__choice-card--amenity .mf-prop-wizard__choice-title {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: #0f172a;
    transition: color 0.15s ease;
}

.mf-prop-wizard__choice-input:checked + .mf-prop-wizard__choice-card--amenity {
    background: #fff;
    border-color: var(--mf-dashboard-primary);
}

.mf-prop-wizard__choice-input:checked + .mf-prop-wizard__choice-card--amenity .mf-prop-wizard__choice-title {
    color: var(--mf-dashboard-primary);
}

/* Schritt 3: Unterabschnitte in einer Karte */
.mf-prop-card__body--flush {
    gap: 0;
    padding-top: 0.25rem;
}

.mf-prop-wizard__subsection {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.1rem 1.25rem 1.25rem;
}

@media (min-width: 768px) {
    .mf-prop-wizard__subsection {
        padding: 1.25rem 1.6rem 1.4rem;
    }
}

.mf-prop-wizard__subsection-head {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.mf-prop-wizard__subsection-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-prop-wizard__subsection-sub {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.mf-prop-wizard__section-split {
    height: 1px;
    margin: 0 1.25rem;
    background: #f1f5f9;
}

@media (min-width: 768px) {
    .mf-prop-wizard__section-split {
        margin: 0 1.6rem;
    }
}

.mf-prop-wizard__field-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mf-prop-wizard__field-group + .mf-prop-wizard__field-group {
    margin-top: 0.35rem;
}

.mf-prop-wizard__field-group-title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.mf-prop-wizard__grid--compact {
    gap: 0.85rem 1rem;
}

/* Wizard-Fehlermodal */
.mf-prop-wizard__alert-sheet {
    max-width: 460px;
}

.mf-prop-wizard__alert-head {
    align-items: flex-start;
    border-bottom: 0;
    padding-bottom: 0.35rem;
}

.mf-prop-wizard__alert-head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}

.mf-prop-wizard__alert-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}

.mf-prop-wizard__alert-body {
    padding-top: 0.15rem;
}

.mf-prop-wizard__alert-message {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #475569;
}

.mf-prop-wizard__alert-list {
    margin: 0;
    padding: 0 0 0 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #475569;
}

.mf-prop-wizard__alert-foot {
    border-top: 0;
    padding-top: 0.35rem;
}

/* Drop-Zone für Bilder */
.mf-prop-wizard__dropzone {
    position: relative;
    display: block;
    margin: 0;
    padding: 1.6rem 1.25rem;
    border: 2px dashed #d1d5db;
    border-radius: 0.75rem;
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    text-align: center;
}

.mf-prop-wizard__dropzone:hover,
.mf-prop-wizard__dropzone:focus-within,
.mf-prop-wizard__dropzone.is-drag {
    border-color: var(--mf-dashboard-primary);
    background: rgba(43, 127, 255, 0.04);
}

.mf-prop-wizard__dropzone-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.mf-prop-wizard__dropzone-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    background: rgba(43, 127, 255, 0.1);
    color: var(--mf-dashboard-ui-ink);
}

.mf-prop-wizard__dropzone-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-prop-wizard__dropzone-hint {
    font-size: 0.75rem;
    color: #6b7280;
}

.mf-prop-wizard__file-input {
    /* sr-only verhalten, aber im Label klickbar */
}

/* Vorschauen */
.mf-prop-wizard__previews {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
    gap: 0.75rem;
}

.mf-prop-wizard__previews-item {
    margin: 0;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #fff;
    position: relative;
}

.mf-prop-wizard__previews-img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #f1f5f9;
}

.mf-prop-wizard__previews-name {
    display: block;
    padding: 0.4rem 0.55rem;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-prop-wizard__previews-remove {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    border-radius: 9999px;
    background: rgba(15, 23, 42, 0.72);
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.mf-prop-wizard__previews-remove:hover {
    background: rgba(220, 38, 38, 0.92);
}

.mf-prop-wizard__previews-empty {
    margin: 0.85rem 0 0;
    font-size: 0.8125rem;
    color: #94a3b8;
}

/* Footer Navigation */
.mf-prop-wizard__nav {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0;
    padding: 1rem 1.1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    box-shadow: 0 8px 24px -12px rgba(15, 23, 42, 0.18);
    position: sticky;
    bottom: 0.85rem;
    z-index: 5;
}

.mf-prop-wizard__nav-next {
    margin: 0;
    text-align: center;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.mf-prop-wizard__nav-next[hidden] {
    display: none !important;
}

.mf-prop-wizard__nav-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.mf-prop-wizard__nav-side {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
}

.mf-prop-wizard__nav-side--right {
    margin-left: auto;
}

.mf-prop-wizard__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.65rem 1.15rem;
    min-height: 2.75rem;
    border-radius: 0.55rem;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.mf-prop-wizard__btn:focus-visible {
    outline: 2px solid var(--mf-dashboard-ui-ink);
    outline-offset: 2px;
}

.mf-prop-wizard__btn--ghost {
    background: #fff;
    border-color: #d1d5db;
    color: #374151;
}

.mf-prop-wizard__btn--ghost:hover {
    background: #f9fafb;
    border-color: #9ca3af;
    color: #0f172a;
}

.mf-prop-wizard__btn--primary {
    background: var(--mf-dashboard-primary);
    border-color: var(--mf-dashboard-primary-hover);
    color: #fff;
    min-width: 8.5rem;
}

.mf-prop-wizard__btn--primary:hover {
    background: var(--mf-dashboard-primary-hover);
}

.mf-prop-wizard__btn--primary:active {
    transform: translateY(1px);
}

.mf-prop-wizard__finish-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
}

/* Finaler Submit-Button: schwarz, deutlich vom „Weiter“ unterscheidbar */
.mf-prop-wizard__btn--submit {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff;
    min-width: 9.5rem;
}

.mf-prop-wizard__btn--submit:hover {
    background: #000;
    border-color: #000;
}

.mf-prop-wizard__btn--submit:active {
    transform: translateY(1px);
}

/* ==========================================================================
   Corporate Dashboard (mf-cdash)
   Cleane, ruhige Übersichtsseite mit Topbar, KPIs, Tabellen-Sektionen
   ========================================================================== */

.mf-cdash {
    --cdash-bg: #fff;
    --cdash-border: #e2e8f0;
    --cdash-border-soft: #f1f5f9;
    --cdash-text: #0f172a;
    --cdash-text-soft: #475569;
    --cdash-text-muted: #64748b;
    --cdash-text-faint: #94a3b8;
    --cdash-radius: 0.85rem;
    --cdash-primary: var(--mf-dashboard-primary, #2b7fff);
    --cdash-primary-soft: rgba(43, 127, 255, 0.08);
    --cdash-primary-ink: #1a5fd0;
    --cdash-success: #10b981;
    --cdash-success-soft: rgba(16, 185, 129, 0.1);
    --cdash-warn: #f59e0b;
    --cdash-warn-soft: rgba(245, 158, 11, 0.1);
    --cdash-danger: #ef4444;
    --cdash-danger-soft: rgba(239, 68, 68, 0.1);

    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    color: var(--cdash-text);
}

/* Page-Head (Eyebrow + Title) */
.mf-cdash__page-head {
    margin: 0 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.mf-cdash__page-eyebrow {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--cdash-text-faint);
    line-height: 1.2;
}

.mf-cdash__page-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--cdash-text);
}

/* Topbar */
.mf-cdash__topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--cdash-bg);
    border: 1px solid var(--cdash-border);
    border-radius: var(--cdash-radius);
}

/* Variante ohne eigenen Rahmen – das Badge bringt seinen eigenen Frame mit */
.mf-cdash__topbar--bare {
    background: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
}

.mf-cdash__topbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 0.85rem;
    min-width: 0;
}

.mf-cdash__topbar-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Konto-Badge (Initial-Square + Text) im Stil von „Connecting for X“ */
.mf-cdash__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.4rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    color: #374151;
    text-transform: none;
    letter-spacing: normal;
    max-width: 100%;
}

.mf-cdash__badge-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.25rem;
    background: #e2f7e9;
    color: #0a9e4c;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    flex-shrink: 0;
}

.mf-cdash__badge-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-cdash__badge-text strong {
    font-weight: 600;
    color: #1f2937;
}

/* Updated-Zeile */
.mf-cdash__updated {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0 0.25rem;
    margin: -0.5rem 0 -0.25rem;
    font-size: 0.75rem;
    color: var(--cdash-text-muted);
}

.mf-cdash__updated-text {
    line-height: 1.3;
}

.mf-cdash__updated-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--cdash-text-muted);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s ease;
}

.mf-cdash__updated-link:hover {
    color: var(--cdash-primary-ink);
}

/* Refresh-Icon: leichte Rotation beim Hover für „aktualisieren“-Affordance */
.mf-cdash__ico--refresh {
    transition: transform 0.45s cubic-bezier(0.4, 0.1, 0.3, 1);
    transform-origin: center;
}

.mf-cdash__refresh:hover .mf-cdash__ico--refresh,
.mf-cdash__refresh:focus-visible .mf-cdash__ico--refresh {
    transform: rotate(180deg);
}

.mf-cdash__refresh:active .mf-cdash__ico--refresh {
    transform: rotate(360deg);
    transition-duration: 0.6s;
}

/* KPI-Karten */
.mf-cdash__kpis {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

@media (min-width: 720px) {
    .mf-cdash__kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.mf-cdash__kpi {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    background: var(--cdash-bg);
    border: 1px solid var(--cdash-border);
    border-radius: var(--cdash-radius);
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.mf-cdash__kpi:hover {
    border-color: #cbd5e1;
}

/* KPI-Icons: weiß, graue Border, graues Icon (zurückhaltender, cleaner Look) */
.mf-cdash__kpi-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.65rem;
    background: #fff;
    color: #94a3b8;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
    transition: color 0.18s ease, border-color 0.18s ease;
}

.mf-cdash__kpi:hover .mf-cdash__kpi-ico {
    color: #475569;
    border-color: #cbd5e1;
}

/* Modifier-Klassen werden vereinheitlicht (kein farbiger Hintergrund mehr) */
.mf-cdash__kpi-ico--ok,
.mf-cdash__kpi-ico--info {
    background: #fff;
    color: #94a3b8;
    border-color: #e2e8f0;
}

.mf-cdash__kpi-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.mf-cdash__kpi-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--cdash-text-muted);
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.mf-cdash__kpi-value {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--cdash-text);
    font-variant-numeric: tabular-nums;
}

/* Sektionen */
.mf-cdash__section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mf-cdash__section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
    padding: 0 0.25rem;
}

.mf-cdash__section-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.mf-cdash__section-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--cdash-text);
    letter-spacing: -0.01em;
}

.mf-cdash__section-sub {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--cdash-text-muted);
    line-height: 1.4;
}

.mf-cdash__section-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.85rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    color: #374151;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.mf-cdash__section-link:hover {
    background: #f9fafb;
    color: #111827;
    border-color: #d1d5db;
}

.mf-cdash__section-link:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.mf-cdash__section-link svg {
    width: 14px;
    height: 14px;
    color: #9ca3af;
    flex-shrink: 0;
    transition: color 0.15s ease, transform 0.15s ease;
}

.mf-cdash__section-link:hover svg {
    color: #6b7280;
    transform: translateX(1px);
}

.mf-cdash__panel {
    background: var(--cdash-bg);
    border: 1px solid var(--cdash-border);
    border-radius: var(--cdash-radius);
    overflow: hidden;
}

/* Tabellen-Header (Spaltenüberschriften) */
.mf-cdash__table {
    display: flex;
    flex-direction: column;
}

.mf-cdash__table-head {
    display: none;
    align-items: center;
    gap: 1rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--cdash-border-soft);
    background: #fafbfc;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--cdash-text-faint);
}

@media (min-width: 768px) {
    .mf-cdash__table-head {
        display: grid;
        grid-template-columns: minmax(0, 2.4fr) minmax(0, 1.6fr) minmax(0, auto);
    }
}

.mf-cdash__table-h-actions {
    text-align: right;
}

.mf-cdash__table-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Zeilen */
.mf-cdash__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--cdash-border-soft);
    align-items: center;
    transition: background 0.15s ease;
}

.mf-cdash__row:last-child {
    border-bottom: none;
}

.mf-cdash__row:hover {
    background: #fafbfc;
}

@media (min-width: 768px) {
    .mf-cdash__row {
        grid-template-columns: minmax(0, 2.4fr) minmax(0, 1.6fr) minmax(0, auto);
        gap: 1rem;
    }
}

.mf-cdash__row-obj {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.mf-cdash__row-thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.55rem;
    background: #f1f5f9;
    color: var(--cdash-text-faint);
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid var(--cdash-border-soft);
}

.mf-cdash__row-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mf-cdash__row-textwrap {
    min-width: 0;
}

.mf-cdash__row-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cdash-text);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-cdash__row-meta {
    margin: 0.1rem 0 0;
    font-size: 0.75rem;
    color: var(--cdash-text-muted);
    line-height: 1.3;
}

.mf-cdash__row-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.mf-cdash__row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
}

/* Empty-State innerhalb einer Zeile */
.mf-cdash__row--empty {
    padding: 3rem 1.5rem;
    display: flex !important;
    align-items: center;
    justify-content: center;
    grid-template-columns: 1fr !important;
    border-bottom: 0;
}

.mf-cdash__row--empty:hover {
    background: transparent;
}

/* Empty-State: zentriert, vertikal gestapelt – Icon oben, Text mitte, CTA unten */
.mf-cdash__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 1rem;
    width: 100%;
    min-height: 220px;
    margin: 0 auto;
    max-width: 420px;
}

/* Falls Empty direkt im Panel (ohne row-Wrapper) liegt, gleiches Layout sicherstellen */
.mf-cdash__panel > .mf-cdash__empty {
    padding: 3rem 1.5rem;
}

.mf-cdash__empty-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #f1f5f9;
    color: #94a3b8;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}

.mf-cdash__empty-ico svg,
.mf-cdash__empty-ico .mf-cdash__ico {
    width: 26px;
    height: 26px;
}

.mf-cdash__empty > div {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
}

.mf-cdash__empty-t {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--cdash-text-soft);
}

.mf-cdash__empty-sub {
    margin: 0.25rem 0 0;
    font-size: 0.825rem;
    color: var(--cdash-text-muted);
    line-height: 1.5;
}

/* Anfragen-Liste */
.mf-cdash__inq-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mf-cdash__inq {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--cdash-border-soft);
}

.mf-cdash__inq:last-child {
    border-bottom: none;
}

.mf-cdash__inq-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.55rem;
    background: var(--cdash-primary-soft);
    color: var(--cdash-primary-ink);
    flex-shrink: 0;
}

.mf-cdash__inq-ico--muted {
    background: #f1f5f9;
    color: var(--cdash-text-faint);
}

.mf-cdash__inq-text {
    min-width: 0;
}

.mf-cdash__inq-t {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cdash-text);
    line-height: 1.3;
}

.mf-cdash__inq-meta {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--cdash-text-muted);
    line-height: 1.4;
}

/* Chips / Pills */
.mf-cdash__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.18rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.01em;
    border: 1px solid transparent;
    background: #f1f5f9;
    color: var(--cdash-text-soft);
    white-space: nowrap;
}

.mf-cdash__chip-dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 9999px;
    background: currentColor;
    flex-shrink: 0;
}

.mf-cdash__chip--ok {
    background: var(--cdash-success-soft);
    color: #047857;
    border-color: rgba(16, 185, 129, 0.25);
}

.mf-cdash__chip--ok-soft {
    background: rgba(16, 185, 129, 0.06);
    color: #059669;
    border-color: rgba(16, 185, 129, 0.18);
}

.mf-cdash__chip--info {
    background: var(--cdash-primary-soft);
    color: var(--cdash-primary-ink);
    border-color: rgba(43, 127, 255, 0.22);
}

.mf-cdash__chip--warn {
    background: var(--cdash-warn-soft);
    color: #b45309;
    border-color: rgba(245, 158, 11, 0.25);
}

.mf-cdash__chip--err {
    background: var(--cdash-danger-soft);
    color: #b91c1c;
    border-color: rgba(239, 68, 68, 0.25);
}

.mf-cdash__chip--muted {
    background: #f1f5f9;
    color: var(--cdash-text-muted);
    border-color: var(--cdash-border-soft);
}

.mf-cdash__chip--soft {
    background: #f8fafc;
    color: var(--cdash-text-soft);
    border-color: var(--cdash-border);
}

/* Buttons – mit erhöhter Spezifität, damit globaler `.mf-start a` Reset nicht durchschlägt.
   Anker: `.mf-cdash` ODER `.mf-cdash__modal` (für Modals außerhalb des cdash-Containers). */
.mf-cdash .mf-cdash__btn,
.mf-cdash a.mf-cdash__btn,
.mf-cdash__modal .mf-cdash__btn,
.mf-cdash__modal a.mf-cdash__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: 0.55rem;
    border: 1px solid var(--cdash-border);
    background: #fff;
    color: var(--cdash-text-soft);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
}

.mf-cdash .mf-cdash__btn:hover,
.mf-cdash a.mf-cdash__btn:hover,
.mf-cdash__modal .mf-cdash__btn:hover,
.mf-cdash__modal a.mf-cdash__btn:hover {
    background: #f8fafc;
    color: var(--cdash-text);
    border-color: #cbd5e1;
}

.mf-cdash .mf-cdash__btn:active,
.mf-cdash a.mf-cdash__btn:active,
.mf-cdash__modal .mf-cdash__btn:active,
.mf-cdash__modal a.mf-cdash__btn:active {
    transform: translateY(1px);
}

.mf-cdash .mf-cdash__btn--ghost,
.mf-cdash a.mf-cdash__btn--ghost,
.mf-cdash__modal .mf-cdash__btn--ghost,
.mf-cdash__modal a.mf-cdash__btn--ghost {
    background: transparent;
    border-color: var(--cdash-border);
    color: var(--cdash-text-soft);
}

.mf-cdash .mf-cdash__btn--ghost:hover,
.mf-cdash a.mf-cdash__btn--ghost:hover,
.mf-cdash__modal .mf-cdash__btn--ghost:hover,
.mf-cdash__modal a.mf-cdash__btn--ghost:hover {
    background: #f1f5f9;
    color: var(--cdash-text);
}

.mf-cdash .mf-cdash__btn--ghost .mf-cdash__ico,
.mf-cdash a.mf-cdash__btn--ghost .mf-cdash__ico,
.mf-cdash .mf-cdash__btn--ghost svg,
.mf-cdash a.mf-cdash__btn--ghost svg,
.mf-cdash__modal .mf-cdash__btn--ghost .mf-cdash__ico,
.mf-cdash__modal a.mf-cdash__btn--ghost .mf-cdash__ico {
    flex-shrink: 0;
    color: currentColor;
}

.mf-cdash .mf-cdash__btn--primary,
.mf-cdash a.mf-cdash__btn--primary,
.mf-cdash__modal .mf-cdash__btn--primary,
.mf-cdash__modal a.mf-cdash__btn--primary {
    background: var(--cdash-primary);
    border-color: var(--cdash-primary);
    color: #fff;
    box-shadow: 0 1px 2px rgba(43, 127, 255, 0.18);
}

.mf-cdash .mf-cdash__btn--primary:hover,
.mf-cdash a.mf-cdash__btn--primary:hover,
.mf-cdash__modal .mf-cdash__btn--primary:hover,
.mf-cdash__modal a.mf-cdash__btn--primary:hover {
    background: var(--cdash-primary-ink);
    border-color: var(--cdash-primary-ink);
    color: #fff;
}

.mf-cdash .mf-cdash__btn--primary .mf-cdash__ico,
.mf-cdash a.mf-cdash__btn--primary .mf-cdash__ico,
.mf-cdash__modal .mf-cdash__btn--primary .mf-cdash__ico,
.mf-cdash__modal a.mf-cdash__btn--primary .mf-cdash__ico {
    color: #fff;
}

/* ── Standalone-Button-Layer (greift unabhängig vom Vorfahren) ──
   Damit Buttons in Modals, Flash-Bars, Detail-Views etc. immer korrekt aussehen. */
.mf-cdash__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: 0.55rem;
    border: 1px solid var(--cdash-border, #e2e8f0);
    background: #fff;
    color: var(--cdash-text-soft, #475569);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
}

.mf-cdash__btn:hover {
    background: #f8fafc;
    color: var(--cdash-text, #0f172a);
    border-color: #cbd5e1;
}

.mf-cdash__btn:active {
    transform: translateY(1px);
}

.mf-cdash__btn--ghost {
    background: transparent !important;
    border-color: var(--cdash-border, #e2e8f0) !important;
    color: var(--cdash-text-soft, #475569) !important;
}

.mf-cdash__btn--ghost:hover {
    background: #f1f5f9 !important;
    color: var(--cdash-text, #0f172a) !important;
}

.mf-cdash__btn--primary {
    background: var(--cdash-primary, #2b7fff) !important;
    border-color: var(--cdash-primary, #2b7fff) !important;
    color: #fff !important;
    box-shadow: 0 1px 2px rgba(43, 127, 255, 0.18);
}

.mf-cdash__btn--primary:hover {
    background: var(--cdash-primary-ink, #1d4ed8) !important;
    border-color: var(--cdash-primary-ink, #1d4ed8) !important;
    color: #fff !important;
}

.mf-cdash__btn--primary .mf-cdash__ico,
.mf-cdash__btn--primary svg {
    color: #fff;
}

.mf-cdash__btn--danger {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
    box-shadow: 0 1px 2px rgba(220, 38, 38, 0.18);
}

.mf-cdash__btn--danger:hover {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #fff !important;
}

.mf-cdash__btn--danger .mf-cdash__ico,
.mf-cdash__btn--danger svg {
    color: #fff;
}

.mf-cdash .mf-cdash__btn--danger,
.mf-cdash button.mf-cdash__btn--danger,
.mf-cdash a.mf-cdash__btn--danger,
.mf-cdash__modal .mf-cdash__btn--danger,
.mf-cdash__modal button.mf-cdash__btn--danger,
.mf-cdash__modal a.mf-cdash__btn--danger {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
    box-shadow: 0 1px 2px rgba(220, 38, 38, 0.18);
}

.mf-cdash .mf-cdash__btn--danger:hover,
.mf-cdash button.mf-cdash__btn--danger:hover,
.mf-cdash a.mf-cdash__btn--danger:hover,
.mf-cdash__modal .mf-cdash__btn--danger:hover,
.mf-cdash__modal button.mf-cdash__btn--danger:hover,
.mf-cdash__modal a.mf-cdash__btn--danger:hover {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}

.mf-cdash .mf-cdash__btn--danger .mf-cdash__ico,
.mf-cdash a.mf-cdash__btn--danger .mf-cdash__ico,
.mf-cdash__modal .mf-cdash__btn--danger .mf-cdash__ico,
.mf-cdash__modal a.mf-cdash__btn--danger .mf-cdash__ico {
    color: #fff;
}

.mf-cdash .mf-cdash__btn--danger-ghost,
.mf-cdash button.mf-cdash__btn--danger-ghost {
    background: transparent;
    border: 1px solid #fca5a5;
    color: #b91c1c;
}

.mf-cdash .mf-cdash__btn--danger-ghost:hover,
.mf-cdash button.mf-cdash__btn--danger-ghost:hover {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
}

/* Trash-Icon-Knopf – kompakt, neutral, nur Icon */
.mf-cdash .mf-cdash__icon-btn,
.mf-cdash button.mf-cdash__icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 8px;
    border: 1px solid var(--cdash-border);
    background: #fff;
    color: var(--cdash-text-soft);
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.mf-cdash .mf-cdash__icon-btn:hover,
.mf-cdash button.mf-cdash__icon-btn:hover {
    background: #f8fafc;
    color: var(--cdash-text);
    border-color: #cbd5e1;
}

.mf-cdash .mf-cdash__icon-btn--danger:hover,
.mf-cdash button.mf-cdash__icon-btn--danger:hover {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

/* Icons innerhalb mf-cdash – inheritance der Containerfarbe */
.mf-cdash__ico {
    flex-shrink: 0;
    display: block;
    color: currentColor;
}

.mf-cdash__ico--sm {
    width: 14px;
    height: 14px;
}

/* Page-Head Anbindung an mf-app-page--cdash */
.mf-app-page--cdash .mf-app-page__content {
    gap: 1.5rem;
}

/* Layout: Sidebar + Main (analog zu .mf-profile__layout) */
.mf-cdash__layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .mf-cdash__layout {
        flex-direction: row;
        align-items: flex-start;
        gap: 2rem;
    }
}

.mf-cdash__main {
    min-width: 0;
    flex: 1 1 auto;
    width: 100%;
}

/* Placeholder-/Disabled-Sidebar-Items (z. B. „Statistiken – Bald") */
.mf-profile-aside__link.is-placeholder {
    cursor: default;
    color: var(--cdash-text-faint, #94a3b8);
    user-select: none;
}

.mf-profile-aside__link.is-placeholder:hover {
    background: transparent;
    color: var(--cdash-text-faint, #94a3b8);
}

.mf-profile-aside__link.is-placeholder .mf-profile-aside__link-ico {
    color: #cbd5e1;
}

.mf-profile-aside__soon {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.4rem;
    border-radius: 9999px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #94a3b8;
    text-transform: uppercase;
    line-height: 1.2;
}

/* =========================================================
 * mf-cdash extensions: view-switch / cards / kanban / modal
 * priority chips / form / amenity cards / tasks / customers
 * ========================================================= */

.mf-cdash__view-switch {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    padding: 4px;
}

.mf-cdash__view-switch a,
.mf-cdash__view-switch button {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 9999px;
    padding: 0.4rem 0.85rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #64748b;
    text-decoration: none;
    cursor: pointer;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: background 120ms ease, color 120ms ease;
}

.mf-cdash__view-switch a:hover,
.mf-cdash__view-switch button:hover {
    color: #0f172a;
}

.mf-cdash__view-switch a.is-active,
.mf-cdash__view-switch button.is-active {
    background: #f1f5f9;
    color: #0f172a;
    box-shadow: inset 0 0 0 1px #e2e8f0;
}

.mf-cdash__view-switch svg {
    width: 14px;
    height: 14px;
}

/* Filter-Pills */
.mf-cdash__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.mf-cdash__filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.8rem;
    border-radius: 9999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.mf-cdash__filter-pill:hover {
    background: #f8fafc;
    color: #0f172a;
}

.mf-cdash__filter-pill.is-active {
    background: #0f172a;
    color: #fff;
    border-color: #0f172a;
}

.mf-cdash__filter-pill .mf-cdash__filter-count {
    background: rgba(15, 23, 42, 0.08);
    color: inherit;
    border-radius: 9999px;
    padding: 0.05rem 0.45rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.mf-cdash__filter-pill.is-active .mf-cdash__filter-count {
    background: rgba(255, 255, 255, 0.18);
}

.mf-cdash__search {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    color: #0f172a;
    min-width: 180px;
}

.mf-cdash__search input {
    border: 0;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    color: inherit;
    flex: 1 1 auto;
    min-width: 0;
}

/* Inserateliste (/dashboard/properties): eigene Toolbar-Zeile, große Suche */
.mf-props-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.9rem;
    margin-bottom: 0.85rem;
}

.mf-props-toolbar__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.mf-props-toolbar__filters .mf-cdash__filter-pill {
    margin: 0;
}

.mf-props-toolbar__search.mf-cdash__search {
    align-self: stretch;
    width: 100%;
    max-width: none;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.95rem;
    border-radius: 14px;
    min-height: 2.95rem;
    font-size: 1rem;
    border-width: 1px;
    box-sizing: border-box;
}

.mf-props-toolbar__search.mf-cdash__search--hero input {
    font-size: 1.02rem;
    line-height: 1.35;
    min-height: 1.85rem;
}

/* Eigenes Close-Icon: natives Suchfeld-X (WK/Blink/Edge) unterdrücken */
.mf-props-toolbar__search input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
}

.mf-props-toolbar__search input[type="search"]::-webkit-search-decoration,
.mf-props-toolbar__search input[type="search"]::-webkit-search-cancel-button,
.mf-props-toolbar__search input[type="search"]::-webkit-search-results-button,
.mf-props-toolbar__search input[type="search"]::-webkit-search-results-decoration {
    display: none;
    -webkit-appearance: none;
}

.mf-props-toolbar__search input[type="search"]::-moz-search-cancel-button {
    display: none;
}

.mf-props-toolbar__search .mf-cdash__search-ico {
    flex: 0 0 auto;
    color: #94a3b8;
}

.mf-props-clear-input {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 10px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease;
}

.mf-props-clear-input:hover:not(.is-hidden-empty) {
    background: #e2e8f0;
    color: #0f172a;
}

.mf-props-clear-input.is-hidden-empty {
    display: none;
}

.mf-props-toolbar__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.mf-props-toolbar__counts {
    margin: 0;
    font-size: 0.86rem;
    color: #64748b;
    font-weight: 500;
}

.mf-props-toolbar__counts-n {
    font-weight: 800;
    color: #0f172a;
}

.mf-props-live {
    transition: opacity 160ms ease;
}

.mf-props-root.mf-props-root--busy .mf-props-live {
    opacity: 0.45;
}

.mf-props-pagination-wrap {
    padding: 0 0 0.85rem;
}

.mf-msg-pagination.mf-props-pagination {
    margin-left: 0;
    margin-right: 0;
}

.mf-props-pagination__total {
    color: #94a3b8;
}

/* Cards-Grid (Inserate als Karten) */
.mf-cdash__cards {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.mf-cdash__card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    transition: border-color 120ms ease, transform 120ms ease;
    text-decoration: none;
    color: inherit;
}

.mf-cdash__card:hover {
    border-color: #cbd5e1;
    transform: translateY(-1px);
}

.mf-cdash__card-cover {
    height: 140px;
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
    display: block;
    position: relative;
}

.mf-cdash__card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mf-cdash__card-cover--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 0.78rem;
    font-weight: 600;
}

.mf-cdash__card-body {
    padding: 0.85rem 1rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.mf-cdash__card-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Inseratliste: Klick auf Titel → Bearbeiten */
a.mf-cdash__obj-title-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: color 120ms ease;
}

a.mf-cdash__obj-title-link:hover,
a.mf-cdash__obj-title-link:focus-visible {
    color: #1d4ed8;
    outline: none;
}

a.mf-cdash__row-title.mf-cdash__obj-title-link {
    display: block;
}

.mf-cdash__card-meta {
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.3;
}

.mf-cdash__card-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.mf-cdash__card-foot {
    margin-top: auto;
    padding: 0.55rem 1rem 0.85rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-top: 1px solid #f1f5f9;
}

.mf-cdash__card-foot a,
.mf-cdash__card-foot button {
    font-size: 0.78rem;
    font-weight: 600;
    color: #2b7fff;
    text-decoration: none;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.mf-cdash__card-foot-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.mf-cdash__card-foot a:hover,
.mf-cdash__card-foot button:hover {
    text-decoration: underline;
}

/* ==========================================================================
   Kanban Board – farbige Status-Spalten, flache Farben (ohne Verläufe)
   ========================================================================== */

.mf-cdash__kanban {
    --mfk-radius: 12px;
    --mfk-card-radius: 10px;
    --mfk-col-bg: #f8fafc;
    --mfk-col-border: #e2e8f0;
    display: grid;
    grid-template-columns: repeat(5, minmax(260px, 1fr));
    gap: 1rem;
    overflow-x: auto;
    padding: 0.25rem 0.25rem 1rem;
    margin: 0 -0.25rem;
    scroll-padding-inline: 0.25rem;
    scrollbar-color: #cbd5e1 transparent;
}

.mf-cdash__kanban::-webkit-scrollbar {
    height: 10px;
}

.mf-cdash__kanban::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

@media (max-width: 1280px) {
    .mf-cdash__kanban {
        grid-template-columns: repeat(5, minmax(260px, 290px));
    }
}

.mf-cdash__kanban-col {
    --mfk-accent: #2563eb;
    --mfk-accent-soft: #eff6ff;
    --mfk-head-bg: #2563eb;
    background: var(--mfk-col-bg);
    border: 1px solid var(--mfk-col-border);
    border-radius: var(--mfk-radius);
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 320px;
    overflow: hidden;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.mf-cdash__kanban-col.is-drop-target {
    border-color: var(--mfk-accent);
    box-shadow: 0 0 0 3px var(--mfk-accent-soft);
}

.mf-cdash__kanban-col--lead {
    --mfk-accent: #2563eb;
    --mfk-accent-soft: #eff6ff;
    --mfk-head-bg: #2563eb;
    --mfk-col-bg: #f8fafc;
}

.mf-cdash__kanban-col--first_call {
    --mfk-accent: #ea580c;
    --mfk-accent-soft: #fff7ed;
    --mfk-head-bg: #ea580c;
    --mfk-col-bg: #fafaf9;
}

.mf-cdash__kanban-col--valuation {
    --mfk-accent: #7c3aed;
    --mfk-accent-soft: #f5f3ff;
    --mfk-head-bg: #7c3aed;
    --mfk-col-bg: #fafaf9;
}

.mf-cdash__kanban-col--mandate {
    --mfk-accent: #0891b2;
    --mfk-accent-soft: #ecfeff;
    --mfk-head-bg: #0891b2;
    --mfk-col-bg: #f8fafc;
}

.mf-cdash__kanban-col--closed {
    --mfk-accent: #16a34a;
    --mfk-accent-soft: #f0fdf4;
    --mfk-head-bg: #16a34a;
    --mfk-col-bg: #f8fafc;
}

.mf-cdash__kanban-col-head {
    background: var(--mfk-head-bg);
    color: #fff;
    border-bottom: 0;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.mf-cdash__kanban-col-head-text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.mf-cdash__kanban-col-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.01em;
    text-transform: none;
    line-height: 1.2;
}

.mf-cdash__kanban-col-meta {
    font-size: 0.74rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.mf-cdash__kanban-col-count {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 9999px;
    padding: 0.05rem 0.5rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
}

/* Spalten-Body */
.mf-cdash__kanban-col-body {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.75rem;
    flex: 1;
    min-height: 80px;
}

/* Karten */
.mf-cdash__kanban-card {
    position: relative;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: var(--mfk-card-radius);
    padding: 0.75rem 0.85rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    cursor: grab;
    box-shadow: none;
    transition: border-color 140ms ease, background 140ms ease;
}

.mf-cdash__kanban-card:hover {
    border-color: #cbd5e1;
    background: #fff;
    box-shadow: none;
    transform: none;
}

.mf-cdash__kanban-card:active {
    cursor: grabbing;
}

.mf-cdash__kanban-card.is-dragging {
    opacity: 0.45;
    transform: rotate(-1.5deg) scale(0.99);
    box-shadow: 0 16px 30px -16px rgba(15, 23, 42, 0.35);
}

.mf-cdash__kanban-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.mf-cdash__kanban-card-tag {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    background: var(--mfk-accent-soft);
    color: var(--mfk-accent);
    border: 0;
    border-radius: 6px;
}

.mf-cdash__kanban-card-grip {
    border: 0;
    background: transparent;
    color: #94a3b8;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: grab;
    transition: background 120ms ease, color 120ms ease;
}

.mf-cdash__kanban-card-grip:hover {
    background: #f1f5f9;
    color: #475569;
}

.mf-cdash__kanban-card-head {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
}

.mf-cdash__kanban-card-headtext {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mf-cdash__kanban-card-name {
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-cdash__kanban-card-meta {
    font-size: 0.74rem;
    color: #64748b;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-cdash__kanban-card-data {
    margin: 0;
    padding: 0.5rem 0 0;
    border-top: 1px dashed #e2e8f0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.3rem;
}

.mf-cdash__kanban-card-data > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.6rem;
    min-width: 0;
}

.mf-cdash__kanban-card-data dt {
    font-size: 0.7rem;
    color: #94a3b8;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    flex: 0 0 auto;
}

.mf-cdash__kanban-card-data dd {
    margin: 0;
    font-size: 0.74rem;
    color: #334155;
    font-weight: 600;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.mf-cdash__kanban-card-foot {
    margin-top: 0.1rem;
    padding-top: 0.55rem;
    border-top: 1px solid #f1f5f9;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
}

.mf-cdash__kanban-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.35rem 0.5rem;
    border-radius: 7px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    font-size: 0.74rem;
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.mf-cdash__kanban-card-btn:hover {
    background: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
    text-decoration: none;
}

.mf-cdash__kanban-card-btn svg {
    flex-shrink: 0;
}

.mf-cdash__kanban-card-btn .mf-cdash__ico {
    flex-shrink: 0;
}

/* Leere Spalte – freundlicher Drop-Hinweis */
.mf-cdash__kanban-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    text-align: center;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 1.6rem 0.6rem;
    border: 1.5px dashed #cbd5e1;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.55);
}

.mf-cdash__kanban-empty-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9999px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #94a3b8;
}

/* Avatar mit Initialen */
.mf-cdash__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    background: #e2f7e9;
    color: #0a9e4c;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    flex-shrink: 0;
}

.mf-cdash__avatar--sm {
    width: 26px;
    height: 26px;
    font-size: 0.7rem;
}

/* Modal */
.mf-cdash__modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    z-index: 60;
    overflow-y: auto;
    animation: mfCdashModalFade 0.18s ease-out;
}

@keyframes mfCdashModalFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mfCdashModalRise {
    from { opacity: 0; transform: translateY(12px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.mf-cdash__modal.is-open {
    display: flex;
}

.mf-cdash__modal-sheet {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 480px;
    border: 1px solid #e2e8f0;
    box-shadow:
        0 24px 56px -20px rgba(15, 23, 42, 0.35),
        0 8px 16px -8px rgba(15, 23, 42, 0.12);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin: auto;
    animation: mfCdashModalRise 0.22s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.mf-cdash__modal-sheet--lg {
    max-width: 720px;
}

/* Delete-Modal: kleiner, klar fokussiert (Screenshot 2) */
.mf-cdash__modal[data-modal="confirm-delete-property"] .mf-cdash__modal-sheet {
    max-width: 440px;
}

.mf-cdash__modal[data-modal="confirm-publish-property"] .mf-cdash__modal-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mf-publish-modal__lead {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #475569;
}

.mf-unpublish-modal__text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #475569;
}

.mf-cdash__modal[data-modal="confirm-unpublish-property"] .mf-cdash__modal-head {
    padding-bottom: 0.35rem;
    border-bottom: 0;
}

.mf-cdash__modal[data-modal="confirm-unpublish-property"] .mf-cdash__modal-body {
    padding-top: 0.35rem;
    padding-bottom: 1rem;
}

.mf-cdash__btn--sm {
    padding: 0.4rem 0.75rem;
    font-size: 0.8125rem;
    min-height: 2rem;
}

.mf-cdash__modal[data-modal="confirm-delete-property"] .mf-cdash__modal-head {
    padding: 1.1rem 1.25rem 0.4rem;
    border-bottom: 0;
}

.mf-cdash__modal[data-modal="confirm-delete-property"] .mf-cdash__modal-body {
    padding: 0.4rem 1.25rem 1rem;
}

.mf-cdash__modal-sub {
    margin: 0.25rem 0 0;
    font-size: 0.85rem;
    color: var(--cdash-text-soft);
    line-height: 1.5;
}

.mf-cdash__modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem 0.85rem;
    border-bottom: 1px solid #f1f5f9;
}

.mf-cdash__modal-head > div {
    min-width: 0;
}

.mf-cdash__modal-title,
h1.mf-cdash__modal-title,
h2.mf-cdash__modal-title,
h3.mf-cdash__modal-title,
h4.mf-cdash__modal-title {
    margin: 0;
    padding: 0;
    font-size: 1.02rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    letter-spacing: -0.005em;
}

.mf-cdash__modal-close {
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #94a3b8;
    padding: 0.4rem;
    margin: -0.4rem -0.4rem 0 0;
    border-radius: 8px;
    flex-shrink: 0;
    line-height: 0;
    transition: background 120ms ease, color 120ms ease;
}

.mf-cdash__modal-close:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.mf-cdash__modal-body {
    padding: 1.15rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.mf-cdash__modal-foot {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.55rem;
    padding: 0.85rem 1.25rem 1rem;
    border-top: 1px solid #f1f5f9;
    background: #fbfcfd;
}

/* Form-/Bestätigungs-Modals: weißer Footer, Abbrechen mit grauem Rand */
.mf-cdash__modal--plain-foot .mf-cdash__modal-foot {
    background: #fff;
    border-top: 0;
    padding: 0.5rem 1.25rem 1.1rem;
}

.mf-cdash__modal--plain-foot.mf-cdash__modal--task .mf-cdash__modal-foot {
    padding: 0.5rem 1.35rem 1.1rem;
}

.mf-cdash__modal--plain-foot .mf-cdash__modal-foot .mf-cdash__btn--ghost {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
}

.mf-cdash__modal--plain-foot .mf-cdash__modal-foot .mf-cdash__btn--ghost:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.mf-cdash__modal-foot .mf-cdash__btn {
    min-height: 38px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
}

/* Form-Layout im Modal: Feld-Labels größer, mehr Atmung */
.mf-cdash__modal .mf-cdash__field-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    letter-spacing: 0.01em;
}

.mf-cdash__modal .mf-cdash__input,
.mf-cdash__modal .mf-cdash__select,
.mf-cdash__modal .mf-cdash__textarea {
    font-size: 0.9rem;
    padding: 0.6rem 0.8rem;
    border-radius: 9px;
    border-color: #e2e8f0;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.mf-cdash__modal .mf-cdash__input:focus,
.mf-cdash__modal .mf-cdash__select:focus,
.mf-cdash__modal .mf-cdash__textarea:focus {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.15);
}

/* Forms im cdash-Style */
.mf-cdash__form {
    display: grid;
    gap: 0.75rem;
}

.mf-cdash__form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
}

@media (min-width: 640px) {
    .mf-cdash__form-row--2 {
        grid-template-columns: 1fr 1fr;
    }

    .mf-cdash__form-row--3 {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.mf-cdash__field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.mf-cdash__field-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.mf-cdash__field-label .mf-required {
    color: #dc2626;
}

.mf-cdash__input,
.mf-cdash__select,
.mf-cdash__textarea {
    appearance: none;
    width: 100%;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    font-size: 0.88rem;
    color: #0f172a;
    line-height: 1.3;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.mf-cdash__textarea {
    min-height: 92px;
    resize: vertical;
}

.mf-cdash__input:focus,
.mf-cdash__select:focus,
.mf-cdash__textarea:focus {
    outline: none;
    border-color: #2b7fff;
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.18);
}

.mf-cdash__field-help {
    font-size: 0.7rem;
    color: #94a3b8;
}

.mf-cdash__field-error {
    font-size: 0.72rem;
    color: #dc2626;
    font-weight: 600;
}

/* Priority-Chips */
.mf-cdash__priority {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: 0;
    border: 1px solid transparent;
    box-shadow: none;
}

.mf-cdash__priority::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    background: currentColor;
    flex-shrink: 0;
}

.mf-cdash__priority--low {
    background: #f8fafc;
    color: #64748b;
    border-color: #e2e8f0;
}

.mf-cdash__priority--normal {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.mf-cdash__priority--high {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}

.mf-cdash__priority--urgent {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

/* Status-Chip für Customer-Status */
.mf-cdash__status {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.18rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.25;
    border: 1px solid transparent;
}

.mf-cdash__status::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    background: currentColor;
}

.mf-cdash__status--lead {
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
}

.mf-cdash__status--first_call {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.mf-cdash__status--valuation {
    background: #ecfeff;
    color: #0e7490;
    border-color: #a5f3fc;
}

.mf-cdash__status--mandate {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}

.mf-cdash__status--closed {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

/* Today-Tasks-Section */
.mf-cdash__tasks-list {
    display: flex;
    flex-direction: column;
}

.mf-cdash__task-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #f1f5f9;
}

.mf-cdash__task-row:last-child {
    border-bottom: 0;
}

.mf-cdash__task-toggle {
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    border: 1.5px solid #cbd5e1;
    background: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: all 120ms ease;
    flex-shrink: 0;
}

.mf-cdash__task-toggle:hover {
    border-color: #94a3b8;
}

.mf-cdash__task-toggle.is-done {
    background: #15803d;
    border-color: #15803d;
    color: #fff;
}

.mf-cdash__task-toggle.is-done svg {
    display: block;
}

.mf-cdash__task-toggle svg {
    width: 12px;
    height: 12px;
    display: none;
}

.mf-cdash__task-text {
    flex: 1 1 auto;
    min-width: 0;
}

.mf-cdash__task-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
}

.mf-cdash__task-row.is-done .mf-cdash__task-title {
    text-decoration: line-through;
    color: #94a3b8;
}

.mf-cdash__task-meta {
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.3;
    margin-top: 0.15rem;
}

.mf-cdash__task-meta.is-overdue {
    color: #b45309;
    font-weight: 600;
}

.mf-cdash__task-aside {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Tasks Index – 3 Spalten */
.mf-cdash__tasks-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 1024px) {
    .mf-cdash__tasks-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Amenity-Cards für Wizard Step 3 */
.mf-cdash__amenity-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.55rem;
}

@media (min-width: 640px) {
    .mf-cdash__amenity-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .mf-cdash__amenity-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.mf-cdash__amenity {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.85rem 0.5rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    text-align: center;
    cursor: pointer;
    transition: border-color 120ms ease, background 120ms ease;
    min-height: 92px;
}

.mf-cdash__amenity:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.mf-cdash__amenity input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.mf-cdash__amenity-ico {
    color: #94a3b8;
    transition: color 120ms ease;
}

.mf-cdash__amenity-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.2;
}

.mf-cdash__amenity:has(input:checked) {
    border-color: #0f172a;
    background: #0f172a;
}

.mf-cdash__amenity:has(input:checked) .mf-cdash__amenity-ico,
.mf-cdash__amenity:has(input:checked) .mf-cdash__amenity-label {
    color: #fff;
}

/* Inquiries-Quick-List */
.mf-cdash__inq-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #f1f5f9;
}

@media (min-width: 768px) {
    .mf-cdash__inq-row {
        grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto;
        align-items: center;
    }
}

.mf-cdash__inq-row:last-child {
    border-bottom: 0;
}

.mf-cdash__inq-row-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-cdash__inq-row-meta {
    font-size: 0.75rem;
    color: #64748b;
}

/* Pricing/Subscription-Cards (Reuse für /profile/subscriptions) */
.mf-cdash__plans {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.85rem;
}

.mf-cdash__plan {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.mf-cdash__plan.is-current {
    border-color: #0f172a;
    box-shadow: inset 0 0 0 1px #0f172a;
}

.mf-cdash__plan-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.mf-cdash__plan-badge {
    background: #0f172a;
    color: #fff;
    border-radius: 9999px;
    padding: 0.1rem 0.5rem;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.mf-cdash__plan-price {
    font-size: 1.6rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.mf-cdash__plan-price small {
    font-size: 0.7rem;
    font-weight: 500;
    color: #64748b;
    margin-left: 0.25rem;
}

.mf-cdash__plan-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.mf-cdash__plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    font-size: 0.8rem;
    color: #334155;
}

.mf-cdash__plan-features li::before {
    content: "✓";
    color: #15803d;
    font-weight: 700;
    flex-shrink: 0;
}

/* Active subscription card */
.mf-cdash__sub-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
}

@media (min-width: 768px) {
    .mf-cdash__sub-card {
        grid-template-columns: 2fr 1fr;
        align-items: center;
    }
}

.mf-cdash__sub-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
}

.mf-cdash__sub-info-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    margin-bottom: 0.2rem;
}

.mf-cdash__sub-info-value {
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
}


/* ─── Edit-Page (mf-cdash--edit) ──────────────────────────────────── */
.mf-cdash--edit {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mf-cdash__edit-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #fff;
    border: 1px solid var(--cdash-border);
    border-radius: 14px;
    padding: 1rem 1.25rem;
}

.mf-cdash__edit-head-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    flex: 1;
}

.mf-cdash__edit-back {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--cdash-border);
    border-radius: 10px;
    background: #fff;
    color: var(--cdash-text-soft);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease;
}

.mf-cdash__edit-back:hover {
    background: #f8fafc;
    color: var(--cdash-text);
}

.mf-cdash__edit-cover {
    flex-shrink: 0;
    width: 88px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    background: #f1f5f9;
    border: 1px solid var(--cdash-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
}

.mf-cdash__edit-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mf-cdash__edit-head-text {
    min-width: 0;
}

.mf-cdash__edit-title {
    margin: 0 0 0.2rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    word-break: break-word;
}

.mf-cdash__edit-meta {
    margin: 0 0 0.55rem;
    font-size: 0.88rem;
    color: var(--cdash-text-soft);
}

.mf-cdash__edit-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.mf-cdash__edit-head-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Sprung-Tabs (sticky) */
.mf-cdash__edit-tabs {
    position: sticky;
    top: 76px;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    background: rgba(252, 253, 252, 0.95);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--cdash-border);
    border-radius: 12px;
}

.mf-cdash__edit-tabs a {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    color: var(--cdash-text-soft);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease;
}

.mf-cdash__edit-tabs a:hover {
    background: #f1f5f9;
    color: var(--cdash-text);
}

.mf-cdash__edit-tabs a.is-active {
    background: #eff6ff;
    color: #1d4ed8;
}

/* Sektion */
.mf-cdash__edit-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mf-cdash__edit-section {
    padding: 1.1rem 1.25rem 1.25rem;
    scroll-margin-top: 140px;
}

.mf-cdash__edit-sec-head {
    margin-bottom: 0.9rem;
}

.mf-cdash__edit-sec-title {
    margin: 0 0 0.2rem;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-cdash__edit-sec-sub {
    margin: 0;
    font-size: 0.85rem;
    color: var(--cdash-text-soft);
}

/* Form-Grid */
.mf-cdash__form--grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

.mf-cdash__form--grid .mf-cdash__field {
    grid-column: span 6;
}

.mf-cdash__form--grid .mf-cdash__field--full {
    grid-column: 1 / -1;
}

@media (max-width: 720px) {
    .mf-cdash__form--grid .mf-cdash__field,
    .mf-cdash__form--grid .mf-cdash__field--full {
        grid-column: 1 / -1 !important;
    }
}

/* Dropzone */
.mf-cdash__dropzone {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border: 1.5px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
    transition: background 120ms ease, border-color 120ms ease;
}

.mf-cdash__dropzone:hover,
.mf-cdash__dropzone.is-drop {
    background: #eff6ff;
    border-color: #93c5fd;
}

.mf-cdash__dropzone.has-files {
    border-style: solid;
    border-color: #86efac;
    background: #f0fdf4;
}

.mf-cdash__dropzone-ico {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--cdash-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2b7fff;
}

.mf-cdash__dropzone-text {
    display: flex;
    flex-direction: column;
}

.mf-cdash__dropzone-text strong {
    font-size: 0.95rem;
    color: #0f172a;
}

.mf-cdash__dropzone-text span {
    font-size: 0.85rem;
    color: var(--cdash-text-soft);
}

.mf-cdash__dropzone-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Bilder-Grid */
.mf-cdash__img-grid {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.85rem;
}

.mf-cdash__img-tile {
    position: relative;
    margin: 0;
    border: 1px solid var(--cdash-border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.mf-cdash__img-tile img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    display: block;
}

.mf-cdash__img-tile-empty {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 0.85rem;
    background: #f1f5f9;
}

.mf-cdash__img-tile-cap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.7rem;
}

.mf-cdash__img-tile-name {
    font-size: 0.8rem;
    color: var(--cdash-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
}

.mf-cdash__img-tile-del {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    margin: 0;
    z-index: 1;
}

/* Danger Zone */
.mf-cdash__edit-section--danger {
    border-color: #fecaca;
    background: linear-gradient(180deg, #fff 0%, #fef2f2 100%);
}

.mf-cdash__edit-section--danger .mf-cdash__edit-sec-title {
    color: #b91c1c;
}

.mf-cdash__danger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.85rem 1rem;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff;
}

/* Sticky Save-Bar (unten) */
.mf-cdash__edit-savebar {
    position: sticky;
    bottom: 0;
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 1rem;
    background: #ffffffeb;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--cdash-border);
    border-radius: 12px;
    box-shadow: 0 8px 24px -16px rgba(15, 23, 42, 0.18);
    z-index: 4;
}

.mf-cdash__edit-savebar-text {
    font-size: 0.85rem;
    color: var(--cdash-text-soft);
}

.mf-cdash__edit-savebar-actions {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 720px) {
    .mf-cdash__edit-savebar {
        flex-direction: column;
        align-items: stretch;
    }
    .mf-cdash__edit-savebar-text {
        text-align: center;
    }
    .mf-cdash__edit-savebar-actions {
        justify-content: stretch;
    }
    .mf-cdash__edit-savebar-actions .mf-cdash__btn {
        flex: 1;
    }
}

/* Alias-Klassen für edit.blade.php (kürzere Schreibweise) */
.mf-cdash__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.mf-cdash__hint {
    font-size: 0.72rem;
    color: #94a3b8;
    margin-top: 0.2rem;
}

.mf-cdash__err {
    font-size: 0.72rem;
    color: #dc2626;
    font-weight: 600;
    margin-top: 0.2rem;
}

.mf-cdash__req {
    color: #dc2626;
    font-weight: 700;
    margin-left: 0.1rem;
}

/* ─────────────────────────────────────────────────────────────────
   Subscription-Hero (Aktives Abo) — wie Dashboard-Panel, dezent
   ───────────────────────────────────────────────────────────────── */
.mf-sub-hero {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    padding: 1.25rem 1.35rem;
    color: #0f172a;
    background: #fff;
    border: 1px solid var(--cdash-border-soft, #e2e8f0);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    isolation: isolate;
}

.mf-sub-hero.is-canceled {
    background: #fff;
    border-color: #e2e8f0;
}

.mf-sub-hero__bg {
    display: none;
}

.mf-sub-hero__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}

.mf-sub-hero__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.mf-sub-hero__head-left {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.mf-sub-hero__brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.mf-sub-hero__brand img {
    width: 2.1rem;
    height: auto;
    object-fit: contain;
}

.mf-sub-hero__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
}

.mf-sub-hero__title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

.mf-sub-hero__sub {
    margin: 0.35rem 0 0;
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.45;
}

.mf-sub-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.55rem;
    border-radius: 5px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.mf-sub-hero__chip--ok {
    background: #ecfdf5;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.mf-sub-hero__chip--warn {
    background: #fffbeb;
    color: #b45309;
    border: 1px solid #fde68a;
}

.mf-sub-hero__chip--muted {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.mf-sub-hero__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.mf-sub-hero__cell {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.mf-sub-hero__cell-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
}

.mf-sub-hero__cell-label svg {
    flex-shrink: 0;
    color: #94a3b8;
}

.mf-sub-hero__cell-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.mf-sub-hero__cell-value small {
    font-size: 0.82rem;
    font-weight: 500;
    color: #64748b;
    margin-left: 0.15rem;
}

.mf-sub-hero__cell-meta {
    font-size: 0.75rem;
    color: #64748b;
}

.mf-sub-hero__bar {
    margin-top: 0.45rem;
    width: 100%;
    height: 6px;
    border-radius: 9999px;
    background: #e2e8f0;
    overflow: hidden;
}

.mf-sub-hero__bar-fill {
    height: 100%;
    background: var(--cdash-primary, #2b7fff);
    border-radius: 9999px;
    transition: width 0.4s ease;
}

.mf-sub-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.mf-sub-hero__btn-light {
    background: #fff !important;
    border-color: #e2e8f0 !important;
    color: #334155 !important;
}

.mf-sub-hero__btn-light:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.mf-sub-hero__btn-cancel {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.4rem;
    background: none;
    border: none;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 500;
    color: #94a3b8;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
    cursor: pointer;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.mf-sub-hero__btn-cancel:hover {
    color: #b91c1c;
    text-decoration-color: currentColor;
}

.mf-sub-hero__cancel {
    margin-left: auto;
}

@media (max-width: 720px) {
    .mf-sub-hero {
        padding: 1.1rem 1.1rem;
    }
    .mf-sub-hero__title {
        font-size: 1.2rem;
    }
    .mf-sub-hero__cancel {
        margin-left: 0;
        width: 100%;
    }
    .mf-sub-hero__btn-cancel {
        width: 100%;
    }
}

/* Profil / Abrechnung */
.mf-billing-pakete {
    margin-bottom: 1rem;
}

.mf-billing-pakete .mf-pakete__grid {
    grid-template-columns: minmax(0, 22rem);
}

.mf-billing-pakete .mf-pakete__body {
    position: relative;
}

.mf-billing-status {
    margin: 0 0 1.5rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    line-height: 1.45;
}

.mf-billing-status--ok {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.mf-billing-status--warn {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

.mf-billing-empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--mf-admin-border, #e4e9ef);
}

.mf-billing-empty__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--mf-admin-ink, #0f2744);
}

.mf-billing-empty__sub {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    color: var(--mf-admin-muted, #64748b);
}

.mf-billing-manage {
    padding-top: 0.25rem;
}

.mf-billing-manage__title {
    margin: 0 0 0.85rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mf-admin-ink, #0f2744);
}

.mf-billing-manage__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.mf-billing-manage__actions form {
    margin: 0;
}

.mf-billing-manage__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.85rem;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--mf-admin-border, #e4e9ef);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--mf-admin-ink-soft, #334155);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mf-billing-manage__btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: var(--mf-admin-ink, #0f2744);
}

.mf-billing-manage__btn--cancel {
    color: #b91c1c;
}

.mf-billing-manage__btn--cancel:hover {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.mf-billing-manage__hint {
    margin: 0.65rem 0 0;
    font-size: 0.75rem;
    color: var(--mf-admin-faint, #94a3b8);
    line-height: 1.45;
}

.mf-billing-cancel-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--mf-admin-ink-soft, #334155);
    cursor: pointer;
}

.mf-billing-cancel-check input {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

@media (max-width: 640px) {
    .mf-billing-manage__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .mf-billing-manage__btn {
        justify-content: center;
    }
}

/* Profil /subscriptions: Paket-Sektion wie Business, linksbündig im Dashboard */
.mf-sub-profile-pakete {
    padding: 0;
    border-top: none;
    background: transparent;
}

.mf-sub-profile-pakete .mf-pakete__wrap {
    max-width: none;
    margin: 0;
}

.mf-sub-profile-pakete .mf-pakete__head,
.mf-sub-profile-pakete .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}

.mf-sub-profile-pakete .mf-pakete__head {
    margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
    .mf-sub-profile-pakete .mf-pakete__head {
        margin-bottom: 1.5rem;
    }
}

.mf-sub-profile-pakete .mf-pakete__grid {
    padding-top: 0;
    align-items: stretch;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .mf-sub-profile-pakete .mf-pakete__grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    }
}

@media (min-width: 900px) {
    .mf-sub-profile-pakete .mf-pakete__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Im schmalen Profil: kein negativer Offset der „Popular“-Karte (vermeidet Überlappung) */
.mf-sub-profile-pakete .mf-pakete__card--popular {
    margin-top: 0;
}

@media (min-width: 900px) {
    .mf-sub-profile-pakete .mf-pakete__card--popular {
        margin-top: 0;
    }
}

.mf-sub-profile-pakete .mf-pakete__card:has(.mf-pakete__ribbon) {
    padding-top: 0.65rem;
}

.mf-sub-profile-pakete .mf-pakete__body:has(.mf-sub-profile-pakete__badge-current) .mf-pakete__name {
    padding-right: 5.75rem;
}

.mf-sub-profile-pakete__card--downgrade .mf-pakete__stack-outer {
    opacity: 0.88;
}

.mf-sub-profile-pakete__card--downgrade .mf-pakete__stack-inner {
    background: #f8fafc;
}

.mf-sub-profile-pakete__no-downgrade {
    margin: 0;
    padding: 0.75rem 0 0;
    border-top: 1px solid #e2e8f0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.mf-sub-profile-pakete .mf-pakete__lead {
    margin-left: 0;
    margin-right: 0;
    max-width: 40rem;
}

.mf-sub-profile-pakete__mode {
    margin-top: 1rem;
}

.mf-sub-profile-pakete__mode .mf-sub-mode-toggle {
    margin-bottom: 0;
}

/* Dashboard /dashboard ohne Abo: Kopfbereich wie Landing zentriert */
.mf-dash-no-sub__pakete .mf-sub-profile-pakete .mf-pakete__head,
.mf-dash-no-sub__pakete .mf-sub-profile-pakete .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.mf-dash-no-sub__pakete .mf-sub-profile-pakete .mf-pakete__lead {
    margin-left: auto;
    margin-right: auto;
}

.mf-dash-no-sub__pakete .mf-sub-profile-pakete__mode {
    display: flex;
    justify-content: center;
}

/* Business-Pakete (Klein / Mittel / Groß) */
.mf-biz-pakete__head--center,
.mf-biz-pakete__head--center .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.mf-biz-pakete__head--center .mf-pakete__lead {
    margin-left: auto;
    margin-right: auto;
}

.mf-dash-no-sub__pakete .mf-biz-pakete--dash .mf-pakete__head,
.mf-dash-no-sub__pakete .mf-biz-pakete--dash .mf-steps__eyebrow-wrap.mf-pakete__eyebrow-wrap {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.mf-dash-no-sub__pakete .mf-biz-pakete--dash .mf-pakete__lead {
    margin-left: auto;
    margin-right: auto;
}

.mf-biz-pakete__kicker {
    white-space: pre-line;
}

.mf-biz-pakete__portals-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.65rem 0 0.45rem;
    padding: 0.35rem 0.65rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #166534;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}

.mf-biz-pakete__portals {
    margin-bottom: 0.85rem;
}

.mf-biz-pakete__price-vat {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.mf-biz-pakete__price-was {
    margin-right: 0.35rem;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: line-through;
}

.mf-biz-pakete__features .mf-cdash__ico,
.mf-biz-pakete__features svg {
    color: #ea580c;
}

.mf-biz-pakete__contact {
    margin: 0.85rem 0 0;
    padding: 0.75rem 0.85rem;
    border-radius: 0.65rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.mf-biz-pakete__contact-label {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    color: #64748b;
}

.mf-biz-pakete__contact-name {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-biz-pakete__contact-phone {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #475569;
}

.mf-sub-profile-pakete__badge-current {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    padding: 0.28rem 0.6rem;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 600;
    color: var(--cdash-primary-ink, #1a5fd0);
    background: var(--cdash-primary-soft, rgba(43, 127, 255, 0.08));
    border: 1px solid rgba(43, 127, 255, 0.22);
    line-height: 1.25;
}

@media (min-width: 640px) {
    .mf-sub-profile-pakete__badge-current {
        top: 1.1rem;
        right: 1.15rem;
        font-size: 12px;
    }
}

.mf-sub-profile-pakete__cta--disabled,
.mf-sub-profile-pakete__cta--disabled:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    pointer-events: none;
}

.mf-sub-profile-pakete__fine {
    margin-top: 1.25rem;
    text-align: left;
}

/* Kontingent-Zeile: neutral wie Dashboard, nicht Business-Türkis */
.mf-sub-profile-pakete .mf-biz-page__pakete-slots {
    margin: 0.65rem 0 1rem;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    font-size: 0.875rem;
    line-height: 1.4;
    text-align: left;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.mf-sub-profile-pakete .mf-biz-page__pakete-slots strong {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ─────────────────────────────────────────────────────────────────
   Subscription-Plans — Marketing-Pricing-Cards
   ───────────────────────────────────────────────────────────────── */
.mf-sub-plans {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.mf-sub-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem 1.5rem 1.4rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.mf-sub-plan:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 16px 40px -16px rgba(15, 23, 42, 0.18);
}

.mf-sub-plan.is-highlight {
    border-color: #2b7fff;
    box-shadow:
        0 0 0 3px rgba(43, 127, 255, 0.12),
        0 16px 40px -16px rgba(43, 127, 255, 0.3);
    background:
        linear-gradient(180deg, #f0f7ff 0%, #fff 35%);
    transform: translateY(-4px);
}

.mf-sub-plan.is-current {
    border-color: #15803d;
    box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);
    background:
        linear-gradient(180deg, #f0fdf4 0%, #fff 30%);
}

.mf-sub-plan__ribbon {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #2b7fff 0%, #1d4ed8 100%);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.32rem 0.8rem;
    border-radius: 9999px;
    box-shadow: 0 6px 18px -6px rgba(43, 127, 255, 0.45);
    white-space: nowrap;
}

.mf-sub-plan__ribbon--current {
    background: linear-gradient(135deg, #15803d 0%, #166534 100%);
    box-shadow: 0 6px 18px -6px rgba(21, 128, 61, 0.45);
}

.mf-sub-plan__head {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.mf-sub-plan__name {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.mf-sub-plan__kicker {
    margin: 0;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.45;
}

.mf-sub-plan__price {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.85rem 0;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.mf-sub-plan__price-value {
    display: inline-flex;
    align-items: baseline;
    gap: 0.1rem;
    font-size: 2.25rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.025em;
    line-height: 1.05;
}

.mf-sub-plan__price-value small {
    font-size: 1.1rem;
    font-weight: 700;
    color: #475569;
}

.mf-sub-plan__price-cycle {
    font-size: 0.78rem;
    color: #64748b;
    font-weight: 600;
}

.mf-sub-plan__price-month {
    font-size: 0.74rem;
    color: #94a3b8;
}

.mf-sub-plan__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    flex: 1;
}

.mf-sub-plan__features li {
    position: relative;
    padding-left: 1.5rem;
    font-size: 0.82rem;
    color: #334155;
    line-height: 1.45;
}

.mf-sub-plan__features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15rem;
    width: 18px;
    height: 18px;
    border-radius: 9999px;
    background: #ecfdf5;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 7'/></svg>");
    background-size: 12px 12px;
    background-position: center;
    background-repeat: no-repeat;
}

.mf-sub-plan__features li strong {
    color: #0f172a;
    font-weight: 700;
}

.mf-sub-plan__cta {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    align-items: stretch;
}

.mf-sub-plan__cta form {
    display: block;
}

.mf-sub-plan__cta-btn {
    width: 100%;
    padding: 0.7rem 1rem !important;
    font-size: 0.88rem !important;
    border-radius: 10px !important;
}

.mf-sub-plan__cta button[disabled] {
    width: 100%;
    padding: 0.7rem 1rem;
    font-size: 0.88rem;
    border-radius: 10px;
    cursor: default;
    opacity: 0.7;
}

.mf-sub-plan__cta-meta {
    margin: 0;
    font-size: 0.7rem;
    color: #94a3b8;
    text-align: center;
}

/* ─────────────────────────────────────────────────────────────────
   Invoices-Tabelle — modern, klar lesbar
   ───────────────────────────────────────────────────────────────── */
.mf-inv-table-wrap {
    overflow-x: auto;
}

/* Profil-Rechnungen: volle Kartenbreite, kein horizontaler Scroll */
.mf-inv-page__table-wrap.mf-inv-table-wrap {
    container-type: inline-size;
    overflow-x: visible;
    width: 100%;
    min-width: 0;
}

.mf-inv-page .mf-inv-table {
    width: 100%;
    max-width: none;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.85rem;
}

.mf-inv-table thead {
    background: #f8fafc;
}

.mf-inv-table th {
    padding: 0.85rem 0.8rem;
    text-align: left;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}

.mf-inv-table__th--num {
    width: 56px;
}

/* Spalten = 100 % der Boxbreite (colgroup hält th/td exakt synchron) */
.mf-inv-table__col--date {
    width: 17%;
}

.mf-inv-table__col--invoice {
    width: 29%;
}

.mf-inv-table__col--amount {
    width: 14%;
}

.mf-inv-table__col--status {
    width: 15%;
}

.mf-inv-table__col--actions {
    width: 25%;
}

.mf-inv-table__th--amount {
    text-align: right;
}

.mf-inv-table__th--status {
    text-align: center;
}

.mf-inv-table__th--actions {
    text-align: right;
}

.mf-inv-table tbody tr {
    transition: background 120ms ease;
}

.mf-inv-table tbody tr:hover {
    background: #fafbfc;
}

.mf-inv-table td {
    padding: 0.95rem 0.8rem;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9;
    color: #0f172a;
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

.mf-inv-table tbody tr:last-child td {
    border-bottom: 0;
}

.mf-inv-table__td--num {
    color: #94a3b8;
    font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", monospace;
    font-size: 0.78rem;
    font-weight: 600;
}

.mf-inv-table__date-stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2rem;
    min-height: 2.85rem;
}

.mf-inv-table__date {
    display: block;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.25;
    white-space: nowrap;
}

.mf-inv-table__date-long {
    display: block;
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.25;
}

.mf-inv-table__invoice-num {
    display: block;
    font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", monospace;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #334155;
    line-height: 1.35;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.mf-inv-table__td--date {
    vertical-align: middle;
}

.mf-inv-table__td--invoice {
    vertical-align: middle;
}

.mf-inv-table__td--status {
    text-align: center;
    vertical-align: middle;
}

.mf-inv-table__amount {
    text-align: right;
    vertical-align: middle;
    font-weight: 700;
    font-size: 0.95rem;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.mf-inv-table__actions {
    text-align: right;
    vertical-align: middle;
}

.mf-inv-table__td--actions {
    vertical-align: middle;
}

.mf-inv-table__actions-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    vertical-align: middle;
    width: 100%;
    max-width: 100%;
}

.mf-inv-table__actions .mf-cdash__btn + .mf-cdash__btn {
    margin-left: 0;
}

.mf-inv-table__btn {
    padding: 0.42rem 0.62rem !important;
    font-size: 0.76rem !important;
}

/* Download: gleicher Stil wie Topbar, Icon rechts vom Text */
.mf-cdash.mf-inv-page .mf-inv-table__btn-download.mf-inv-page__topbar-billing {
    flex-direction: row;
}

.mf-inv-table__btn-download {
    white-space: nowrap;
}

@media (max-width: 980px) and (min-width: 901px) {
    .mf-inv-table__btn-download span {
        display: none;
    }

    .mf-inv-table__btn-download {
        padding-left: 0.55rem !important;
        padding-right: 0.55rem !important;
    }
}

@container (max-width: 620px) {
    .mf-inv-table thead,
    .mf-inv-table colgroup {
        display: none;
    }

    .mf-inv-page .mf-inv-table,
    .mf-inv-table tbody,
    .mf-inv-table tr,
    .mf-inv-table td {
        display: block;
        width: 100%;
    }

    .mf-inv-table tbody tr {
        padding: 0.85rem 1rem;
        border-bottom: 1px solid #f1f5f9;
    }

    .mf-inv-table tbody tr:last-child {
        border-bottom: 0;
    }

    .mf-inv-table td {
        display: grid;
        grid-template-columns: minmax(7.25rem, 34%) minmax(0, 1fr);
        align-items: center;
        gap: 0.75rem;
        padding: 0.42rem 0;
        border: 0;
        text-align: left;
    }

    .mf-inv-table td::before {
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #94a3b8;
    }

    .mf-inv-table__date-stack {
        min-height: 0;
    }

    .mf-inv-table__amount,
    .mf-inv-table__td--status,
    .mf-inv-table__actions {
        text-align: left;
    }

    .mf-inv-table__actions-inner {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .mf-inv-table__btn-download span {
        display: inline;
    }
}

@media (max-width: 720px) {
    .mf-inv-page__table-wrap.mf-inv-table-wrap {
        container-type: normal;
    }

    .mf-inv-table thead,
    .mf-inv-table colgroup {
        display: none;
    }

    .mf-inv-page .mf-inv-table,
    .mf-inv-table tbody,
    .mf-inv-table tr,
    .mf-inv-table td {
        display: block;
        width: 100%;
    }

    .mf-inv-table tbody tr {
        padding: 0.85rem 1rem;
        border-bottom: 1px solid #f1f5f9;
    }

    .mf-inv-table tbody tr:last-child {
        border-bottom: 0;
    }

    .mf-inv-table td {
        display: grid;
        grid-template-columns: minmax(7.25rem, 34%) minmax(0, 1fr);
        align-items: center;
        gap: 0.75rem;
        padding: 0.42rem 0;
        border: 0;
        text-align: left;
    }

    .mf-inv-table td::before {
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #94a3b8;
    }

    .mf-inv-table__date-stack {
        min-height: 0;
    }

    .mf-inv-table__amount,
    .mf-inv-table__td--status,
    .mf-inv-table__actions {
        text-align: left;
    }

    .mf-inv-table__actions-inner {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .mf-inv-table__btn-download span {
        display: inline;
    }
}

/* Profil /profile/invoices — Dashboard-ähnliche Breite & Toolbar */
.mf-inv-profile {
    width: 100%;
}

.mf-inv-page__kpis {
    margin-bottom: 0.25rem;
}

@media (min-width: 720px) {
    .mf-inv-page__kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.mf-inv-page__kpi-link {
    font-size: 0.875rem;
    font-weight: 600;
}

.mf-inv-page__kpi-link a {
    text-decoration: none;
}

.mf-inv-page__section {
    margin-top: 0;
}

/* Rechnungsverlauf: gleiche Kartenstruktur wie /profile (mf-profile-card) */
.mf-inv-page__profile-card-body {
    gap: 0;
    min-width: 0;
}

.mf-inv-page__quick-filters {
    margin: 0 0 0.85rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.mf-inv-page__quick-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.mf-inv-page__quick-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.5rem;
}

.mf-inv-page__quick-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.38rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    color: #475569;
    background: #fff;
    border: 1px solid #e2e8f0;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease;
}

.mf-inv-page__quick-pill:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
}

.mf-inv-page__quick-pill.is-active {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.mf-inv-page__quick-pill.is-active:hover {
    background: #dbeafe;
    border-color: #60a5fa;
    color: #1e40af;
}

.mf-inv-page__filter--narrow {
    min-width: min(100%, 10.5rem);
}

.mf-inv-page__input-date {
    margin: 0;
    padding: 0.5rem 0.65rem;
    border-radius: 0.55rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
    min-height: 2.5rem;
    width: 100%;
    box-sizing: border-box;
}

.mf-inv-page__input-date:focus {
    outline: none;
    border-color: var(--mf-dashboard-primary, #2b7fff);
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.2);
}

.mf-profile-card__body.mf-inv-page__profile-card-body > .mf-inv-page__toolbar {
    margin: 0 0 1.25rem;
    padding: 0 0 1rem;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 0;
}

.mf-inv-page__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1rem 1.25rem;
}

.mf-inv-page__filter {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: min(100%, 220px);
}

.mf-inv-page__filter-label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--cdash-text-faint, #64748b);
}

.mf-inv-page__select {
    margin: 0;
    padding: 0.55rem 0.75rem;
    border-radius: 0.55rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
    min-width: 12rem;
    cursor: pointer;
}

.mf-inv-page__select:focus {
    outline: none;
    border-color: var(--mf-dashboard-primary, #2b7fff);
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.2);
}

.mf-inv-page__toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.mf-inv-page__table-wrap {
    margin: 0 -0.15rem;
}

.mf-profile-card__foot.mf-inv-page__profile-card-foot {
    margin-top: 0;
}

.mf-inv-page__profile-card-foot .mf-inv-page__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    width: 100%;
}

.mf-inv-page__page-btn--disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

/* Topbar: „Zahlung & Abo verwalten“ — weiß, graues Icon */
.mf-cdash.mf-inv-page .mf-inv-page__topbar-billing.mf-cdash__btn,
.mf-cdash.mf-inv-page a.mf-inv-page__topbar-billing.mf-cdash__btn {
    background: #fff;
    color: #334155;
    border-color: #e2e8f0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.mf-cdash.mf-inv-page .mf-inv-page__topbar-billing.mf-cdash__btn:hover,
.mf-cdash.mf-inv-page a.mf-inv-page__topbar-billing.mf-cdash__btn:hover {
    background: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.mf-cdash.mf-inv-page .mf-inv-page__topbar-billing.mf-cdash__btn .mf-cdash__ico,
.mf-cdash.mf-inv-page a.mf-inv-page__topbar-billing.mf-cdash__btn .mf-cdash__ico {
    color: #64748b;
}

.mf-cdash.mf-inv-page .mf-inv-page__topbar-billing.mf-cdash__btn:hover .mf-cdash__ico,
.mf-cdash.mf-inv-page a.mf-inv-page__topbar-billing.mf-cdash__btn:hover .mf-cdash__ico {
    color: #475569;
}

/* ─────────────────────────────────────────────────────────────────
   Task-Link-Combobox (mf-tlc) — Searchable Select
   ───────────────────────────────────────────────────────────────── */
.mf-tlc {
    position: relative;
    width: 100%;
}

.mf-tlc__wrap {
    position: relative;
    display: block;
    width: 100%;
}

.mf-tlc__trigger {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.55rem 0.75rem;
    padding-right: 2.25rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    cursor: pointer;
    text-align: left;
    transition: border-color 120ms ease, box-shadow 120ms ease;
    font-size: 0.88rem;
    color: #0f172a;
    min-height: 42px;
}

.mf-tlc__trigger:hover {
    border-color: #cbd5e1;
}

.mf-tlc.is-open .mf-tlc__trigger {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.15);
}

.mf-tlc__trigger-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: #f1f5f9;
    color: #64748b;
    flex-shrink: 0;
}

.mf-tlc__trigger-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.mf-tlc__trigger-text strong {
    font-size: 0.88rem;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-tlc__trigger-text small {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-top: 0.1rem;
}

.mf-tlc__placeholder {
    color: #94a3b8;
    font-weight: 500;
    font-size: 0.88rem;
}

.mf-tlc__chev {
    color: #94a3b8;
    transition: transform 200ms ease;
    flex-shrink: 0;
    line-height: 0;
}

.mf-tlc.is-open .mf-tlc__chev {
    transform: rotate(180deg);
}

.mf-tlc__clear {
    position: absolute;
    top: 50%;
    right: 2.1rem;
    transform: translateY(-50%);
    appearance: none;
    background: transparent;
    border: 0;
    color: #94a3b8;
    cursor: pointer;
    padding: 0.3rem;
    border-radius: 6px;
    line-height: 0;
    flex-shrink: 0;
    z-index: 2;
    transition: background 120ms ease, color 120ms ease;
}

.mf-tlc__clear:hover {
    background: #fee2e2;
    color: #b91c1c;
}

/* Popover */
.mf-tlc__pop {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow:
        0 16px 40px -16px rgba(15, 23, 42, 0.25),
        0 4px 8px -4px rgba(15, 23, 42, 0.12);
    z-index: 100;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 360px;
    animation: mfTlcPop 160ms ease-out;
}

.mf-tlc__pop[hidden] {
    display: none;
}

@keyframes mfTlcPop {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.mf-tlc__search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f1f5f9;
    color: #94a3b8;
    flex-shrink: 0;
}

.mf-tlc__search input {
    flex: 1;
    border: 0;
    background: transparent;
    outline: none;
    font-size: 0.88rem;
    color: #0f172a;
    padding: 0.1rem 0;
}

.mf-tlc__search input::placeholder {
    color: #94a3b8;
}

.mf-tlc__list {
    flex: 1;
    overflow-y: auto;
    padding: 0.35rem 0;
}

.mf-tlc__group {
    padding: 0.2rem 0 0.4rem;
}

.mf-tlc__group + .mf-tlc__group {
    border-top: 1px solid #f8fafc;
    margin-top: 0.2rem;
}

.mf-tlc__group-h {
    padding: 0.4rem 0.85rem 0.25rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
}

.mf-tlc__opt {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.55rem 0.85rem;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    transition: background 100ms ease;
    line-height: 1.3;
}

.mf-tlc__opt:hover,
.mf-tlc__opt.is-active {
    background: #f1f5f9;
}

.mf-tlc__opt.is-selected {
    background: #eff6ff;
}

.mf-tlc__opt-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    background: #f1f5f9;
    color: #64748b;
    flex-shrink: 0;
}

.mf-tlc__opt.is-selected .mf-tlc__opt-ico {
    background: #dbeafe;
    color: #1d4ed8;
}

.mf-tlc__opt-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.mf-tlc__opt-text strong {
    font-size: 0.88rem;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-tlc__opt-text small {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-top: 0.05rem;
}

.mf-tlc__opt-check {
    color: #2b7fff;
    opacity: 0;
    flex-shrink: 0;
    transition: opacity 120ms ease;
    line-height: 0;
}

.mf-tlc__opt.is-selected .mf-tlc__opt-check {
    opacity: 1;
}

.mf-tlc__opt[hidden] {
    display: none;
}

.mf-tlc__group[data-empty] {
    display: none;
}

.mf-tlc__empty {
    padding: 1rem 1.25rem;
    text-align: center;
    font-size: 0.82rem;
    color: #94a3b8;
}

.mf-tlc__empty--initial {
    padding: 1.5rem 1.25rem;
}

/* "Keine Verknüpfung"-Option in der Liste (oberster Eintrag) */
.mf-tlc__opt--none .mf-tlc__opt-ico--none {
    background: #fef2f2;
    color: #b91c1c;
}

.mf-tlc__opt--none.is-selected {
    background: #fff7f7;
}

.mf-tlc__opt--none.is-selected .mf-tlc__opt-ico--none {
    background: #fee2e2;
    color: #991b1b;
}

.mf-tlc__opt--none + .mf-tlc__group {
    border-top: 1px solid #f1f5f9;
    margin-top: 0.2rem;
}

/* ==========================================================================
   Customer Show – Detail-Profil
   ========================================================================== */

.mf-cust-show__crumbs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: #64748b;
    margin: 0 0 0.85rem;
}

.mf-cust-show__crumbs a {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #475569;
    text-decoration: none;
    border-radius: 6px;
    padding: 0.2rem 0.45rem;
    transition: background 120ms ease, color 120ms ease;
}

.mf-cust-show__crumbs a:hover {
    background: #f1f5f9;
    color: #0f172a;
    text-decoration: none;
}

.mf-cust-show__crumbs-sep {
    color: #cbd5e1;
}

.mf-cust-show__crumbs-current {
    color: #0f172a;
    font-weight: 600;
}

/* Hero */
.mf-cust-show__hero {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.25rem 1.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mf-cust-show__hero-main {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.mf-cust-show__avatar {
    width: 56px;
    height: 56px;
    font-size: 1.05rem;
    background: #e2e8f0;
    color: #475569;
    box-shadow: none;
}

.mf-cust-show__hero-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.mf-cust-show__hero-titlerow {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.mf-cust-show__hero-name {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.015em;
    line-height: 1.15;
}

.mf-cust-show__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 5px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.4;
}

.mf-cust-show__chip--ghost {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.mf-cust-show__chip--soft {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.mf-cust-show__hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.85rem;
    color: #64748b;
}

.mf-cust-show__metalink {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: #475569;
    text-decoration: none;
    transition: color 120ms ease;
}

.mf-cust-show__metalink:hover {
    color: #0f172a;
    text-decoration: none;
}

.mf-cust-show__metalink--static {
    cursor: default;
}

.mf-cust-show__metalink--static:hover {
    color: #475569;
}

.mf-cust-show__hero-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* KPI-Karten (Dashboard-Stil) */
.mf-cust-show__stats {
    margin: 0.85rem 0 1.1rem;
}

@media (min-width: 640px) {
    .mf-cust-show__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .mf-cust-show__stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Body Grid */
.mf-cust-show__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1rem;
}

@media (max-width: 1080px) {
    .mf-cust-show__grid {
        grid-template-columns: 1fr;
    }
}

.mf-cust-show__col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

/* Panels */
.mf-cust-show__panel {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.1rem 1.2rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.mf-cust-show__panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.95rem;
    flex-wrap: wrap;
}

.mf-cust-show__panel-title {
    font-size: 0.92rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.15rem;
    letter-spacing: -0.01em;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.mf-cust-show__panel-title > svg {
    color: #94a3b8;
    flex-shrink: 0;
}

.mf-cust-show__panel-sub {
    font-size: 0.76rem;
    color: #94a3b8;
    margin: 0;
    font-weight: 500;
}

.mf-cust-show__panel-link {
    font-size: 0.76rem;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
}

.mf-cust-show__panel-link:hover {
    color: #1e40af;
    text-decoration: underline;
}

.mf-cust-show__panel-btn {
    padding: 0.4rem 0.7rem;
    font-size: 0.78rem;
}

.mf-cust-show__panel-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.mf-cust-show__task-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.55rem 0.7rem;
    margin-bottom: 0.15rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.mf-cust-show__task-link-label {
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
}

.mf-cust-show__panel-link[data-modal-open] {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font: inherit;
}

/* Dashboard-Tabs (Metronic-Stil: Unterstrich) */
.mf-dtabs {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border-bottom: 1px solid #e2e8f0;
    overflow-x: auto;
    scrollbar-width: none;
}

.mf-dtabs::-webkit-scrollbar {
    display: none;
}

.mf-dtabs__tab {
    appearance: none;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 0.85rem;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 500;
    color: #64748b;
    cursor: pointer;
    white-space: nowrap;
    margin-bottom: -1px;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.mf-dtabs__tab svg {
    color: #94a3b8;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.mf-dtabs__tab:hover {
    color: #0f172a;
}

.mf-dtabs__tab:hover svg {
    color: #64748b;
}

.mf-dtabs__tab.is-active {
    color: var(--mf-dashboard-primary, #2b7fff);
    border-bottom-color: var(--mf-dashboard-primary, #2b7fff);
    font-weight: 600;
}

.mf-dtabs__tab.is-active svg {
    color: var(--mf-dashboard-primary, #2b7fff);
}

[data-dtab-pane][hidden] {
    display: none !important;
}

[data-dtab-pane] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

/* Inserat bearbeiten – Dashboard-Layout */
.mf-prop-edit .mf-prop-simple-section__num {
    display: none;
}

.mf-prop-edit__cover {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background-color: #f1f5f9;
    background-size: cover;
    background-position: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    flex-shrink: 0;
}

.mf-prop-edit__portals-label {
    margin: 0.85rem 0 0.5rem;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.mf-prop-edit .mf-cust-show__col--side .mf-portal-picker {
    grid-template-columns: 1fr;
}

.mf-prop-edit.mf-cust-show--clean .mf-cdash__panel,
.mf-prop-edit.mf-cust-show--clean .mf-prop-simple-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.15rem;
    box-shadow: none;
}

.mf-prop-edit.mf-cust-show--clean .mf-portal-picker {
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
}

.mf-prop-edit.mf-cust-show--clean .mf-prop-edit__cust:first-of-type {
    border-top: 0;
}

.mf-prop-edit__cust {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.6rem 0.25rem;
    border-top: 1px solid #f1f5f9;
    text-decoration: none;
    border-radius: 8px;
    transition: background 120ms ease;
}

.mf-prop-edit__cust:first-of-type {
    border-top: 0;
}

.mf-prop-edit__cust:hover {
    background: #f8fafc;
    text-decoration: none;
}

.mf-prop-edit__cust-text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.mf-prop-edit__cust-text strong {
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-prop-edit__cust-text span {
    font-size: 0.72rem;
    color: #94a3b8;
}

.mf-prop-edit__cust-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    padding: 0.38rem 0.7rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    font-size: 0.76rem;
    font-weight: 500;
    color: #475569;
    line-height: 1;
    transition: border-color 120ms ease, color 120ms ease, background 120ms ease;
}

.mf-prop-edit__cust-action svg {
    color: #94a3b8;
    flex-shrink: 0;
    transition: color 120ms ease;
}

.mf-prop-edit__cust:hover .mf-prop-edit__cust-action {
    border-color: #cbd5e1;
    color: #0f172a;
    background: #f8fafc;
}

.mf-prop-edit__cust:hover .mf-prop-edit__cust-action svg {
    color: #64748b;
}

/* Empty States */
.mf-cust-show__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
    padding: 1.4rem 0.5rem;
    color: #94a3b8;
    font-size: 0.85rem;
}

.mf-cust-show__empty p {
    margin: 0;
}

.mf-cust-show__empty--compact {
    padding: 0.85rem 0.5rem;
    font-size: 0.78rem;
}

.mf-cust-show__empty-ico {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: #f1f5f9;
    color: #94a3b8;
}

.mf-cust-show__empty--compact .mf-cust-show__empty-ico {
    width: 36px;
    height: 36px;
}

/* Timeline */
.mf-cust-show__timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.mf-cust-show__timeline::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: #e2e8f0;
    border-radius: 9999px;
}

.mf-cust-show__tl-item {
    position: relative;
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 0.7rem;
    padding: 0 0 0.85rem;
}

.mf-cust-show__tl-item:last-child {
    padding-bottom: 0;
}

.mf-cust-show__tl-dot {
    position: relative;
    z-index: 1;
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 4px #fff;
    margin-top: 2px;
}

.mf-cust-show__tl-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    min-width: 0;
}

.mf-cust-show__tl-dot--neutral {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #64748b;
    box-shadow: 0 0 0 4px #fff;
}

.mf-cust-show__tl-card--neutral {
    background: #fff;
    border-color: #e2e8f0;
}

.mf-cust-show__tl-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.mf-cust-show__tl-head strong {
    font-size: 0.85rem;
    color: #0f172a;
    font-weight: 600;
    letter-spacing: -0.005em;
}

.mf-cust-show__tl-head time {
    font-size: 0.7rem;
    color: #94a3b8;
    font-weight: 500;
}

.mf-cust-show__tl-body {
    margin: 0.3rem 0 0;
    color: #334155;
    font-size: 0.8rem;
    line-height: 1.45;
    white-space: pre-wrap;
}

.mf-cust-show__tl-sub {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.72rem;
    color: #94a3b8;
}

.mf-cust-show__tl-actor {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.35rem;
}

.mf-cust-show__tl-actor-name {
    font-size: 0.74rem;
    font-weight: 600;
    color: #475569;
}

.mf-dash-user-avatar {
    position: relative;
    border-radius: 9999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #475569;
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1;
}

.mf-dash-user-avatar--mini {
    width: 22px;
    height: 22px;
    font-size: 0.65rem;
}

.mf-dash-user-avatar--sm {
    width: 28px;
    height: 28px;
    font-size: 0.72rem;
}

.mf-dash-user-avatar--md {
    width: 36px;
    height: 36px;
    font-size: 0.78rem;
}

.mf-dash-user-avatar__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mf-dash-user-avatar__fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.mf-msg-item__avatar.mf-dash-user-avatar {
    background: #cbd5e1;
    color: #334155;
}

/* Messages */
.mf-cust-show__msg {
    border-top: 1px solid #f1f5f9;
    padding: 0.85rem 0;
}

.mf-cust-show__msg:last-child {
    padding-bottom: 0;
}

.mf-cust-show__msg:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.mf-cust-show__msg-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.4rem;
}

.mf-cust-show__msg-head strong {
    font-size: 0.82rem;
    color: #0f172a;
    font-weight: 600;
}

.mf-cust-show__msg-time {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-left: auto;
    font-weight: 500;
}

.mf-cust-show__msg-body {
    margin: 0;
    color: #334155;
    font-size: 0.85rem;
    line-height: 1.5;
    white-space: pre-wrap;
}

.mf-cust-show__note-compose {
    margin-top: 1.15rem;
    padding-top: 1.1rem;
    border-top: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.mf-cust-show__note-compose-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
}

.mf-cust-show__note-compose-input {
    min-height: 5.5rem;
    resize: vertical;
}

.mf-cust-show__note-compose-foot {
    display: flex;
    justify-content: flex-end;
}

.mf-cust-show__note-compose-error {
    margin: 0;
    font-size: 0.78rem;
    color: #dc2626;
}

/* Property Card */
.mf-cust-show__property {
    overflow: hidden;
}

.mf-cust-show__prop {
    display: grid;
    grid-template-columns: 96px 1fr auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.6rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease, background 140ms ease;
}

.mf-cust-show__prop:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
    box-shadow: 0 6px 18px -10px rgba(15, 23, 42, 0.18);
    transform: translateY(-1px);
    text-decoration: none;
}

.mf-cust-show__prop-cover {
    width: 96px;
    height: 72px;
    border-radius: 8px;
    background-color: #f1f5f9;
    background-size: cover;
    background-position: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1;
}

.mf-cust-show__prop-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.mf-cust-show__prop-tags {
    display: flex;
    gap: 0.3rem;
    margin-bottom: 0.1rem;
    flex-wrap: wrap;
}

.mf-cust-show__prop-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.mf-cust-show__prop-addr {
    font-size: 0.74rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-cust-show__prop-price {
    font-size: 0.8rem;
    color: #1d4ed8;
    font-weight: 700;
}

.mf-cust-show__prop-arrow {
    color: #cbd5e1;
    transition: color 140ms ease, transform 140ms ease;
}

.mf-cust-show__prop:hover .mf-cust-show__prop-arrow {
    color: #1d4ed8;
    transform: translateX(2px);
}

/* Definition list (Stammdaten) */
.mf-cust-show__dl {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.mf-cust-show__dl > div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 0.5rem;
    padding: 0.55rem 0;
    border-top: 1px solid #f1f5f9;
}

.mf-cust-show__dl > div:first-child {
    border-top: 0;
    padding-top: 0;
}

.mf-cust-show__dl > div:last-child {
    padding-bottom: 0;
}

.mf-cust-show__dl dt {
    font-size: 0.74rem;
    color: #94a3b8;
    font-weight: 500;
    text-transform: none;
}

.mf-cust-show__dl dd {
    margin: 0;
    font-size: 0.82rem;
    color: #0f172a;
    font-weight: 500;
    line-height: 1.4;
    word-break: break-word;
}

/* Tasks Mini */
.mf-cust-show__task {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    align-items: flex-start;
    padding: 0.5rem 0;
    border-top: 1px solid #f1f5f9;
}

.mf-cust-show__task:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.mf-cust-show__task .mf-cdash__task-toggle-form {
    margin: 0;
    padding-top: 0.1rem;
}

.mf-cust-show__task.is-done .mf-cust-show__task-body strong {
    text-decoration: line-through;
    color: #94a3b8;
}

.mf-cust-show__task-body {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.mf-cust-show__task-body strong {
    font-size: 0.82rem;
    color: #0f172a;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-cust-show__task-body span {
    font-size: 0.72rem;
    color: #94a3b8;
}

/* Customer Show – Clean (Metronic-Stil) */
.mf-cust-show--clean {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mf-cust-show__statusbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.9rem 1.15rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 1rem;
}

.mf-cust-show__statusbar-main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.mf-cust-show__statusbar-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
}

.mf-cust-show__status-select {
    appearance: none;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.45rem 2rem 0.45rem 0.75rem;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.65rem center;
    min-width: 11rem;
    cursor: pointer;
}

.mf-cust-show__status-select:disabled {
    opacity: 0.6;
    cursor: wait;
}

.mf-cust-show__statusbar-time {
    font-size: 0.78rem;
    color: #94a3b8;
    white-space: nowrap;
}

.mf-cust-show__status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
}

/* Pill-Tabs (Metronic: weiße aktive Pill in grauem Container) */
.mf-dtabs-wrap--pill {
    background: #f1f5f9;
    border: 1px solid #e8edf2;
    border-radius: 14px;
    padding: 0.35rem;
    margin-bottom: 1.25rem;
}

.mf-dtabs-wrap--pill .mf-dtabs {
    border-bottom: none;
    gap: 0.2rem;
    padding: 0;
}

.mf-dtabs--pill .mf-dtabs__tab {
    border-bottom: none;
    margin-bottom: 0;
    padding: 0.55rem 1.05rem;
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 500;
    color: #64748b;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.mf-dtabs--pill .mf-dtabs__tab svg {
    color: #cbd5e1;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.mf-dtabs--pill .mf-dtabs__tab:hover {
    color: #334155;
    background: rgba(255, 255, 255, 0.5);
}

.mf-dtabs--pill .mf-dtabs__tab:hover svg {
    color: #94a3b8;
}

.mf-dtabs--pill .mf-dtabs__tab.is-active {
    color: #0f172a;
    font-weight: 600;
    background: #fff;
    box-shadow:
        0 1px 3px rgba(15, 23, 42, 0.07),
        0 1px 2px rgba(15, 23, 42, 0.04);
}

.mf-dtabs--pill .mf-dtabs__tab.is-active svg {
    color: #94a3b8;
}

.mf-dtabs--pill .mf-dtabs__tab.is-active:hover {
    background: #fff;
    color: #0f172a;
}

.mf-cust-show__infogrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1rem;
}

@media (min-width: 900px) {
    .mf-cust-show__infogrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.mf-cust-show__infofield {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.8rem 0.95rem;
    min-width: 0;
}

.mf-cust-show__infofield dt {
    margin: 0 0 0.35rem;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
}

.mf-cust-show__infofield-head {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.mf-cust-show__infofield-ico {
    color: #cbd5e1;
    flex-shrink: 0;
}

.mf-cust-show__infofield dd {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
    line-height: 1.35;
    word-break: break-word;
}

.mf-cust-show__infolink {
    color: inherit;
    text-decoration: none;
}

.mf-cust-show__infolink:hover {
    color: var(--mf-dashboard-primary, #2b7fff);
    text-decoration: underline;
}

.mf-cust-show__status-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    margin-right: 0.35rem;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

.mf-cust-show__preview {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 0.85rem;
}

.mf-cust-show__preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 1.1rem;
    border-bottom: 1px solid #f1f5f9;
}

.mf-cust-show__preview-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-cust-show__preview-link {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--mf-dashboard-primary, #2b7fff);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    text-decoration: none;
}

a.mf-cust-show__preview-link {
    color: var(--mf-dashboard-primary, #2b7fff);
}

.mf-cust-show__preview-link svg {
    flex-shrink: 0;
    color: currentColor;
}

.mf-cust-show__preview-link:hover {
    text-decoration: underline;
}

.mf-cust-show__preview-sub {
    margin: 0 0 0.75rem;
    font-size: 0.8rem;
    color: #94a3b8;
}

/* Kunden-Quelle mit Portal-Logo */
.mf-cust-source {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

.mf-cust-source--compact {
    display: inline-flex;
    gap: 0.35rem;
}

.mf-cust-source__logo {
    display: block;
    width: auto;
    max-width: 6.5rem;
    height: 1.35rem;
    object-fit: contain;
    object-position: left center;
    flex-shrink: 0;
}

.mf-cust-source--compact .mf-cust-source__logo {
    max-width: 4.5rem;
    height: 1rem;
}

.mf-cust-source__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    height: 1.65rem;
    padding: 0 0.35rem;
    border-radius: 6px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    flex-shrink: 0;
}

.mf-cust-source--compact .mf-cust-source__badge {
    min-width: 1.4rem;
    height: 1.4rem;
    font-size: 0.58rem;
}

.mf-cust-source__badge--maklerfrei {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.mf-cust-source__badge--immoscout24 {
    background: #fff7e6;
    color: #b45309;
}

.mf-cust-source__badge--immowelt {
    background: #f0f9eb;
    color: #3f7d1a;
}

.mf-cust-source__badge--kleinanzeigen {
    background: #e7f6ee;
    color: #15803d;
}

.mf-cust-source__badge--email {
    background: #eff6ff;
    color: #1d4ed8;
}

.mf-cust-source__badge--default {
    background: #f1f5f9;
    color: #64748b;
}

.mf-cust-source__label {
    min-width: 0;
}

.mf-prop-edit__cust-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    min-width: 0;
}

/* Inquiry-Kanal: Logo / Badge (Anfragen, Kunden-Quelle) */
.mf-inq-channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex-shrink: 0;
    min-width: 0;
}

.mf-inq-channel__logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.mf-inq-channel__label {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    min-width: 0;
}

.mf-inq-channel--default .mf-inq-channel__logo {
    max-width: 6.5rem;
    height: 1.35rem;
}

.mf-inq-channel--compact {
    gap: 0.35rem;
}

.mf-inq-channel--compact .mf-inq-channel__logo {
    max-width: 4.5rem;
    height: 1rem;
}

.mf-inq-channel--compact .mf-inq-channel__badge {
    min-width: 1.4rem;
    height: 1.4rem;
    font-size: 0.58rem;
}

.mf-inq-channel--inbox {
    width: 36px;
    height: 36px;
    padding: 0.3rem;
    border-radius: 9px;
    background: #fff;
    border: 1px solid #e8edf2;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mf-inq-channel--inbox .mf-inq-channel__logo {
    max-width: 100%;
    max-height: 1.15rem;
}

.mf-inq-channel--inbox .mf-inq-channel__badge {
    width: 100%;
    height: 100%;
    min-width: 0;
    border-radius: 6px;
    font-size: 0.68rem;
}

.mf-inq-channel--scope {
    width: 100%;
    height: 100%;
    min-height: 1rem;
}

.mf-inq-channel--scope .mf-inq-channel__logo {
    max-width: 3.5rem;
    max-height: 0.95rem;
}

.mf-inq-channel--scope .mf-inq-channel__badge {
    min-width: 1.35rem;
    height: 1.35rem;
    font-size: 0.58rem;
}

.mf-inq-channel--scope-filter {
    width: 2.6rem;
    height: 1rem;
}

.mf-inq-channel--scope-filter .mf-inq-channel__logo {
    width: 100%;
    max-width: 2.6rem;
    height: 0.8rem;
}

.mf-inq-channel--scope-filter .mf-inq-channel__badge {
    min-width: 1.2rem;
    height: 1.2rem;
    font-size: 0.54rem;
}

.mf-inq-channel--chat {
    width: 36px;
    height: 36px;
    padding: 0.35rem;
    border-radius: 8px;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.mf-inq-channel--chat .mf-inq-channel__logo {
    max-width: 100%;
    max-height: 1.1rem;
}

.mf-inq-channel--chat .mf-inq-channel__badge {
    width: 100%;
    height: 100%;
    min-width: 0;
    border-radius: 6px;
    font-size: 0.68rem;
}

.mf-tasks-scope__ico--channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 1.15rem;
    flex-shrink: 0;
    color: inherit;
}

.mf-tasks-scope--channel {
    padding: 0.45rem 0.55rem;
    gap: 0.35rem;
    min-width: 0;
}

.mf-tasks-scope--channel-email {
    gap: 0.2rem;
}

.mf-tasks-scope--channel-email .mf-tasks-scope__ico--channel {
    width: auto;
    min-width: 0;
}

.mf-tasks-scope--channel-email .mf-inq-channel--scope-filter {
    width: auto;
}

.mf-tasks-scope--channel .mf-tasks-scope__label {
    font-size: 0.78rem;
    white-space: nowrap;
}

.mf-tasks-scope.is-active .mf-tasks-scope__ico--channel .mf-inq-channel--scope-filter {
    background: #fff;
    border-radius: 5px;
    padding: 0.12rem 0.2rem;
    width: auto;
    min-width: 2.4rem;
}

.mf-tasks-scope--channel-email.is-active .mf-tasks-scope__ico--channel .mf-inq-channel--scope-filter {
    min-width: 0;
    padding: 0.1rem 0.15rem;
}

.mf-inq-inbox__item-badge--fallback {
    background: #94a3b8;
    color: #fff;
}

.mf-cust-show__preview-body {
    padding: 0.85rem 1.1rem 1rem;
}

.mf-cust-show__preview-text {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #334155;
    white-space: pre-wrap;
}

.mf-cust-show__preview-meta {
    font-size: 0.75rem;
    color: #94a3b8;
}

.mf-cust-show__preview-empty {
    margin: 0;
    font-size: 0.84rem;
    color: #94a3b8;
}

.mf-cust-show__timeline--compact .mf-cust-show__tl-item {
    padding-bottom: 0.65rem;
}

.mf-cust-show__panel--flat {
    box-shadow: none;
}

.mf-cust-show--clean [data-dtab-pane] {
    gap: 0.85rem;
}

/* ==========================================================================
   Customer Chat (Portal-Anfragen)
   ========================================================================== */

.mf-chat {
    --chat-accent: #2563eb;
    --chat-bg: #eff6ff;
    --chat-fg: #1d4ed8;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    min-height: 540px;
}

.mf-chat__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    color: #0f172a;
}

.mf-chat__head-left {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.mf-chat__channel-badge {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: var(--chat-accent);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0;
    flex-shrink: 0;
}

.mf-chat__head-text {
    min-width: 0;
}

.mf-chat__title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.mf-chat__sub {
    font-size: 0.78rem;
    margin: 0.1rem 0 0;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-chat__head-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 500;
    color: #475569;
    background: transparent;
    padding: 0.2rem 0;
    border-radius: 0;
}

.mf-chat__head-dot {
    width: 7px;
    height: 7px;
    border-radius: 9999px;
    background: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
    animation: mfChatPulse 2s infinite;
}

@keyframes mfChatPulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18); }
    50% { box-shadow: 0 0 0 6px rgba(22, 163, 74, 0.05); }
}

/* Body */
.mf-chat__body {
    flex: 1;
    padding: 1rem 1.1rem;
    background:
        radial-gradient(circle at 20% 0%, rgba(59, 130, 246, 0.04) 0%, transparent 40%),
        radial-gradient(circle at 80% 100%, rgba(16, 185, 129, 0.04) 0%, transparent 40%),
        #fafbfc;
    overflow-y: auto;
    max-height: 540px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    scrollbar-color: #cbd5e1 transparent;
}

.mf-chat__body::-webkit-scrollbar {
    width: 8px;
}

.mf-chat__body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

/* Row */
.mf-chat__row {
    display: flex;
    gap: 0.55rem;
    align-items: flex-end;
    max-width: 100%;
}

.mf-chat__row--out {
    flex-direction: row-reverse;
}

.mf-chat__avatar {
    width: 30px;
    height: 30px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #94a3b8, #475569);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mf-chat__avatar--me {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.mf-chat__avatar.mf-dash-user-avatar {
    width: 30px;
    height: 30px;
    font-size: 0.75rem;
    background: #dbeafe;
    color: #1d4ed8;
}

.mf-chat__avatar.mf-dash-user-avatar .mf-dash-user-avatar__img,
.mf-chat__avatar.mf-dash-user-avatar .mf-dash-user-avatar__fallback {
    width: 100%;
    height: 100%;
}

.mf-chat__bubble-wrap {
    display: flex;
    flex-direction: column;
    max-width: min(78%, 540px);
    min-width: 0;
}

.mf-chat__row--out .mf-chat__bubble-wrap {
    align-items: flex-end;
}

.mf-chat__bubble {
    padding: 0.6rem 0.85rem;
    border-radius: 14px;
    font-size: 0.86rem;
    line-height: 1.5;
    color: #0f172a;
    word-break: break-word;
    box-shadow: 0 1px 1px rgba(15, 23, 42, 0.04);
}

.mf-chat__bubble--in {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-bottom-left-radius: 4px;
}

.mf-chat__bubble--out {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: #fff;
    border-bottom-right-radius: 4px;
}

.mf-chat__bubble-body {
    margin: 0;
    white-space: pre-wrap;
}

.mf-chat__bubble-meta {
    margin-top: 0.25rem;
    padding: 0 0.2rem;
    font-size: 0.68rem;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.mf-chat__bubble-sep {
    color: #cbd5e1;
}

.mf-chat__bubble-channel {
    color: #64748b;
    font-weight: 600;
}

/* Empty State */
.mf-chat__empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    color: #94a3b8;
    font-size: 0.85rem;
    text-align: center;
    padding: 2.2rem 1rem;
}

.mf-chat__empty p {
    margin: 0;
}

.mf-chat__empty-ico {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: #f1f5f9;
    color: #94a3b8;
}

/* Compose */
.mf-chat__compose {
    border-top: 1px solid #e2e8f0;
    padding: 0.7rem 1rem 0.85rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.mf-chat__compose-channel {
    font-size: 0.74rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.mf-chat__compose-channel strong {
    color: var(--chat-fg);
    font-weight: 700;
}

.mf-chat__compose-channel-meta {
    color: #94a3b8;
}

.mf-chat__compose-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: flex-end;
}

.mf-chat__compose-input {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: #0f172a;
    background: #fafbfc;
    resize: vertical;
    min-height: 44px;
    max-height: 180px;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
    font-family: inherit;
}

.mf-chat__compose-input:focus {
    outline: none;
    border-color: var(--chat-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

.mf-chat__compose-send {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: #fff;
    font-size: 0.86rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 14px -6px rgba(29, 78, 216, 0.55);
    transition: transform 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
    height: 44px;
}

.mf-chat__compose-send:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px -6px rgba(29, 78, 216, 0.65);
}

.mf-chat__compose-send:active {
    transform: translateY(0);
}

.mf-chat__compose-send:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

.mf-chat__compose-send svg {
    flex-shrink: 0;
}

.mf-chat__compose-hint {
    margin: 0;
    font-size: 0.68rem;
    color: #94a3b8;
    line-height: 1.45;
}

.mf-chat__compose-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 0.55rem;
}

.mf-chat__ai-btn {
    margin: 0;
}

.mf-inquiry-ai-modal__textarea {
    width: 100%;
    min-height: 6.5rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    background: #fff;
    color: #0f172a;
    font: inherit;
    font-size: 0.875rem;
    line-height: 1.5;
    resize: vertical;
}

.mf-inquiry-ai-modal__textarea:focus {
    outline: none;
    border-color: #94a3b8;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.18);
}

.mf-inquiry-ai-modal__hint {
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.45;
}

.mf-inquiry-ai-modal__optional {
    color: #94a3b8;
    font-weight: 500;
}

/* ==========================================================================
   Tasks – Scopes/Filter/Table
   ========================================================================== */

/* Scope-Pillen */
.mf-tasks-scopes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
}

.mf-tasks-scope {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.85rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    color: #475569;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 600;
    transition: all 140ms ease;
    line-height: 1.2;
}

.mf-tasks-scope:hover {
    border-color: #cbd5e1;
    color: #0f172a;
    background: #f8fafc;
    text-decoration: none;
}

.mf-tasks-scope__ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    transition: color 140ms ease;
}

.mf-tasks-scope:hover .mf-tasks-scope__ico {
    color: #475569;
}

.mf-tasks-scope__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    padding: 0 0.4rem;
    height: 20px;
    border-radius: 9999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
}

/* Active */
.mf-tasks-scope.is-active {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 6px 14px -8px rgba(15, 23, 42, 0.45);
}

.mf-tasks-scope.is-active .mf-tasks-scope__ico {
    color: #fff;
}

.mf-tasks-scope.is-active .mf-tasks-scope__count {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

/* Tonal accent: danger (Überfällig) */
.mf-tasks-scope--danger.is-active {
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
    box-shadow: 0 6px 14px -8px rgba(220, 38, 38, 0.55);
}

.mf-tasks-scope--danger:not(.is-active) .mf-tasks-scope__ico {
    color: #ef4444;
}

.mf-tasks-scope--danger:not(.is-active) .mf-tasks-scope__count {
    background: #fee2e2;
    color: #b91c1c;
}

/* Filterbar */
.mf-tasks-filter {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    margin: 0 0 0.85rem;
    padding: 0.75rem 0.85rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.mf-tasks-filter__search.mf-props-toolbar__search.mf-cdash__search {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    margin: 0;
}

.mf-tasks-filter__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.mf-tasks-filter__group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.mf-tasks-filter__select {
    height: 38px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    padding: 0 2rem 0 0.7rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #334155;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    appearance: none;
    cursor: pointer;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}

.mf-tasks-filter__select:hover {
    border-color: #cbd5e1;
}

.mf-tasks-filter__select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

.mf-tasks-filter__reset {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0 0.7rem;
    height: 38px;
    border-radius: 9px;
    background: transparent;
    color: #ef4444;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background 140ms ease, border-color 140ms ease;
}

.mf-tasks-filter__reset:hover {
    background: #fee2e2;
    border-color: #fecaca;
    text-decoration: none;
    color: #b91c1c;
}

/* Tabelle */
.mf-tasks-table-wrap {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.mf-tasks-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

.mf-tasks-table thead {
    background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
    border-bottom: 1px solid #e2e8f0;
}

.mf-tasks-table th {
    text-align: left;
    padding: 0.7rem 0.85rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.mf-tasks-table__col-toggle {
    width: 44px;
}

.mf-tasks-table__col-act {
    width: 44px;
}

.mf-tasks-table__sort {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: inherit;
    text-decoration: none;
    transition: color 120ms ease;
}

.mf-tasks-table__sort:hover {
    color: #0f172a;
    text-decoration: none;
}

.mf-tasks-table__sort.is-active {
    color: #2563eb;
}

.mf-tasks-table__dir {
    font-size: 0.6rem;
}

.mf-tasks-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background 120ms ease;
}

.mf-tasks-table tbody tr:last-child {
    border-bottom: 0;
}

.mf-tasks-table tbody tr:hover {
    background: #f8fafc;
}

.mf-tasks-table td {
    padding: 0.75rem 0.85rem;
    vertical-align: middle;
    color: #334155;
}

/* Row-Status */
.mf-tasks-table__row.is-done td {
    color: #94a3b8;
}

.mf-tasks-table__row.is-done .mf-tasks-table__title strong,
.mf-tasks-table__row.is-done .mf-tasks-table__title span {
    text-decoration: line-through;
    color: #94a3b8;
}

.mf-tasks-table__row.is-cancelled td {
    color: #cbd5e1;
}

.mf-tasks-table__row.is-overdue:not(.is-done):not(.is-cancelled) {
    box-shadow: inset 3px 0 0 rgba(239, 68, 68, 0.72);
}

/* Toggle-Cell */
.mf-tasks-table__cell-toggle {
    text-align: center;
    padding: 0.5rem 0.5rem !important;
}

.mf-tasks-table__cell-toggle form {
    display: inline-flex;
}

/* Title-Button */
.mf-tasks-table__title {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    color: inherit;
    width: 100%;
    min-width: 0;
    font: inherit;
    transition: color 120ms ease;
}

.mf-tasks-table__title:hover {
    color: #1d4ed8;
}

.mf-tasks-table__title > span {
    font-size: 0.88rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
}

.mf-tasks-table__title:hover > span {
    color: #1d4ed8;
}

.mf-tasks-table__title small {
    font-size: 0.72rem;
    color: #94a3b8;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

/* Status-Chips */
.mf-tasks-table__status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.25;
    border: 1px solid transparent;
    white-space: nowrap;
    box-shadow: none;
}

.mf-tasks-table__status::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    background: currentColor;
    flex-shrink: 0;
}

.mf-tasks-table__status--open {
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
}

.mf-tasks-table__status--in_progress {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}

.mf-tasks-table__status--done {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

.mf-tasks-table__status--cancelled {
    background: #f1f5f9;
    color: #64748b;
    border-color: #e2e8f0;
}

/* Due / NoDue */
.mf-tasks-table__due {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    line-height: 1.25;
}

.mf-tasks-table__due strong {
    font-size: 0.84rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-tasks-table__due small {
    font-size: 0.7rem;
    color: #94a3b8;
}

.mf-tasks-table__due.is-overdue strong {
    color: #b91c1c;
}

.mf-tasks-table__due.is-overdue small {
    color: #ef4444;
}

.mf-tasks-table__nodue {
    font-size: 0.78rem;
    color: #94a3b8;
    font-style: italic;
}

/* Link */
.mf-tasks-table__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #334155;
    text-decoration: none;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    padding: 0.25rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 500;
    transition: all 120ms ease;
    max-width: 220px;
}

.mf-tasks-table__link:hover {
    background: #fff;
    border-color: #cbd5e1;
    color: #0f172a;
    text-decoration: none;
}

.mf-tasks-table__link span:not([class]) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-tasks-table__link-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    flex-shrink: 0;
}

.mf-tasks-table__link-ico--property {
    color: #2563eb;
}

.mf-tasks-table__link-ico--customer {
    color: #7c3aed;
}

.mf-tasks-table__nolink {
    color: #cbd5e1;
    font-size: 0.85rem;
}

/* Created */
.mf-tasks-table__created {
    color: #94a3b8;
    font-size: 0.78rem;
    white-space: nowrap;
}

/* Action Cell */
.mf-tasks-table__cell-act {
    text-align: right;
    padding-right: 0.85rem !important;
}

.mf-tasks-table__act {
    width: 30px;
    height: 30px;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 7px;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 120ms ease;
}

.mf-tasks-table__act:hover {
    color: #1d4ed8;
    border-color: #bfdbfe;
    background: #eff6ff;
}

/* Mobile-Anpassungen */
@media (max-width: 900px) {
    .mf-tasks-table thead {
        display: none;
    }

    .mf-tasks-table,
    .mf-tasks-table tbody,
    .mf-tasks-table tr,
    .mf-tasks-table td {
        display: block;
        width: 100%;
    }

    .mf-tasks-table tbody tr {
        padding: 0.85rem 1rem;
        position: relative;
    }

    .mf-tasks-table td {
        padding: 0.25rem 0;
        border: 0;
    }

    .mf-tasks-table__cell-toggle {
        position: absolute;
        top: 0.85rem;
        right: 0.85rem;
    }

    .mf-tasks-table__cell-act {
        position: absolute;
        top: 0.85rem;
        right: 3.5rem;
    }
}

/* Empty-State Standalone */
.mf-cdash__empty--standalone {
    padding: 3rem 1.5rem;
}

/* ==========================================================================
   Inquiry-Inbox – Split-View (Liste + Chat)
   ========================================================================== */

.mf-inq-inbox {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    min-height: 620px;
}

@media (max-width: 1080px) {
    .mf-inq-inbox {
        grid-template-columns: 1fr;
    }
}

/* Liste */
.mf-inq-inbox__list {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mf-inq-inbox__list-head {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
}

.mf-inq-inbox__list-head h3 {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mf-inq-inbox__items {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    max-height: 720px;
    flex: 1;
    scrollbar-color: #cbd5e1 transparent;
}

.mf-inq-inbox__items::-webkit-scrollbar {
    width: 8px;
}

.mf-inq-inbox__items::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

.mf-inq-inbox__item {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 0.6rem;
    padding: 0.85rem 0.95rem;
    border-bottom: 1px solid #f1f5f9;
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: background 120ms ease;
    cursor: pointer;
}

.mf-inq-inbox__item:hover {
    background: #f8fafc;
    text-decoration: none;
}

.mf-inq-inbox__item.is-active {
    background: #eff6ff;
}

.mf-inq-inbox__item.is-active::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #2563eb;
}

.mf-inq-inbox__item.is-unread {
    background: #fff;
}

.mf-inq-inbox__item.is-unread .mf-inq-inbox__item-name {
    color: #0f172a;
    font-weight: 700;
}

.mf-inq-inbox__item.is-unread .mf-inq-inbox__item-preview {
    color: #334155;
    font-weight: 500;
}

.mf-inq-inbox__item-badge {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 700;
    flex-shrink: 0;
    box-shadow: 0 4px 10px -6px rgba(15, 23, 42, 0.3);
}

.mf-inq-inbox__item-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.mf-inq-inbox__item-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    min-width: 0;
}

.mf-inq-inbox__item-row--sub {
    color: #64748b;
}

.mf-inq-inbox__item-name {
    font-size: 0.88rem;
    font-weight: 600;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: -0.005em;
}

.mf-inq-inbox__item-time {
    font-size: 0.7rem;
    color: #94a3b8;
    font-weight: 500;
    flex-shrink: 0;
}

.mf-inq-inbox__item-prop {
    font-size: 0.72rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mf-inq-inbox__item-unread {
    background: #2563eb;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.05rem 0.4rem;
    border-radius: 9999px;
    min-width: 18px;
    text-align: center;
    line-height: 1.4;
}

.mf-inq-inbox__item-preview {
    font-size: 0.76rem;
    color: #94a3b8;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    margin-top: 0.1rem;
}

.mf-inq-inbox__item-prefix {
    color: #64748b;
    font-weight: 600;
}

.mf-inq-inbox__item-preview--empty {
    font-style: italic;
    color: #cbd5e1;
}

/* Chat-Pane */
.mf-inq-inbox__chat {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.mf-inq-inbox__chat .mf-chat {
    flex: 1;
    min-height: 540px;
}

/* Toolbar (über dem Chat) */
.mf-inq-inbox__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.55rem 0.85rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
    flex-wrap: wrap;
}

.mf-inq-inbox__bar-left,
.mf-inq-inbox__bar-right {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.mf-inq-inbox__bar-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #334155;
    text-decoration: none;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    padding: 0.25rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 500;
    transition: all 120ms ease;
}

.mf-inq-inbox__bar-link:hover {
    background: #fff;
    border-color: #cbd5e1;
    color: #0f172a;
    text-decoration: none;
}

.mf-inq-inbox__bar-link svg {
    color: #2563eb;
    flex-shrink: 0;
}

.mf-inq-inbox__bar-icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    transition: all 120ms ease;
}

.mf-inq-inbox__bar-icon:hover {
    color: #1d4ed8;
    border-color: #bfdbfe;
    background: #eff6ff;
    text-decoration: none;
}

/* Empty (kein Chat ausgewaehlt) */
.mf-inq-inbox__empty {
    flex: 1;
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 3rem 2rem;
    text-align: center;
    color: #64748b;
    min-height: 540px;
}

.mf-inq-inbox__empty-ico {
    width: 64px;
    height: 64px;
    border-radius: 9999px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.mf-inq-inbox__empty-t {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.mf-inq-inbox__empty-sub {
    margin: 0;
    font-size: 0.86rem;
    color: #64748b;
    max-width: 380px;
    line-height: 1.5;
}

/* ==========================================================================
   Customer-Show: Nachrichten-Verlauf (paginierte Liste)
   ========================================================================== */

/* Filter-Pills */
.mf-msg-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0 0 0.85rem;
    padding: 0.4rem;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
}

.mf-msg-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.7rem;
    border-radius: 7px;
    background: transparent;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 120ms ease;
    border: 1px solid transparent;
}

.mf-msg-filter:hover {
    color: #0f172a;
    background: #fff;
    text-decoration: none;
}

.mf-msg-filter.is-active {
    background: #fff;
    color: #0f172a;
    border-color: #e2e8f0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mf-msg-filter--in.is-active {
    color: #0f172a;
}

.mf-msg-filter--out.is-active {
    color: #0f172a;
}

.mf-msg-filter__count {
    background: #f1f5f9;
    color: #64748b;
    padding: 0 0.4rem;
    border-radius: 9999px;
    font-size: 0.68rem;
    font-weight: 700;
    min-width: 18px;
    text-align: center;
    line-height: 1.5;
}

.mf-msg-filter.is-active .mf-msg-filter__count {
    background: #f1f5f9;
    color: #475569;
}

.mf-msg-filter--out.is-active .mf-msg-filter__count {
    background: #f1f5f9;
    color: #475569;
}

/* Liste */
.mf-msg-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.mf-msg-item {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 0.7rem;
    padding: 0.85rem 0;
    border-top: 1px solid #f1f5f9;
}

.mf-msg-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.mf-msg-item:last-child {
    padding-bottom: 0;
}

.mf-msg-item__avatar {
    width: 36px;
    height: 36px;
    border-radius: 9999px;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mf-msg-item__avatar--me {
    background: #cbd5e1;
    color: #334155;
}

.mf-msg-item__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.mf-msg-item__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.mf-msg-item__head-left {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

.mf-msg-item__direction-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.mf-msg-item--in .mf-msg-item__direction-chip {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.mf-msg-item--out .mf-msg-item__direction-chip {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.mf-msg-item__author {
    font-size: 0.86rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.005em;
}

.mf-msg-item__channel {
    font-size: 0.7rem;
    color: #94a3b8;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 5px;
    padding: 0.05rem 0.4rem;
    font-weight: 600;
}

.mf-msg-item__time {
    font-size: 0.72rem;
    color: #94a3b8;
    font-weight: 500;
    flex-shrink: 0;
}

.mf-msg-item__body {
    margin: 0;
    color: #334155;
    font-size: 0.88rem;
    line-height: 1.55;
    white-space: pre-wrap;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 0.65rem 0.85rem;
    border-radius: 8px;
}

.mf-msg-item--in .mf-msg-item__body {
    background: #fff;
}

.mf-msg-item--out .mf-msg-item__body {
    background: #fff;
}

.mf-msg-item__read {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.7rem;
    color: #15803d;
    font-weight: 600;
}

/* Pagination */
.mf-msg-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-top: 1.2rem;
    padding-top: 0.85rem;
    border-top: 1px solid #f1f5f9;
    flex-wrap: wrap;
}

.mf-msg-pagination__info {
    font-size: 0.76rem;
    color: #64748b;
    font-weight: 500;
}

.mf-msg-pagination__nav {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.mf-msg-pagination__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 120ms ease;
}

.mf-msg-pagination__btn:hover:not(.is-disabled) {
    border-color: #1d4ed8;
    color: #1d4ed8;
    background: #eff6ff;
    text-decoration: none;
}

.mf-msg-pagination__btn.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.mf-msg-pagination__pages {
    font-size: 0.78rem;
    color: #64748b;
    padding: 0 0.5rem;
    font-weight: 500;
}

.mf-msg-pagination__pages strong {
    color: #0f172a;
    font-weight: 700;
}

/* ─── Customer Activities: "Mehr anzeigen"-Loader ───────────────── */
.mf-act-loadmore {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
}
.mf-act-loadmore[hidden] { display: none !important; }
.mf-act-loadmore__btn {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #334155;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.55rem 1rem;
    border-radius: 9999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.05s ease;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}
.mf-act-loadmore__btn:hover:not(:disabled) {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
}
.mf-act-loadmore__btn:active:not(:disabled) { transform: translateY(1px); }
.mf-act-loadmore__btn:disabled {
    opacity: 0.6;
    cursor: progress;
}
.mf-act-loadmore__btn svg {
    width: 14px;
    height: 14px;
    color: #94a3b8;
}
.mf-act-loadmore__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 18px;
    padding: 0 6px;
    background: #f1f5f9;
    color: #475569;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
}
.mf-act-loadmore__spinner {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #e2e8f0;
    border-top-color: #2563eb;
    animation: mfActLoadSpin 0.8s linear infinite;
}
.mf-act-loadmore__spinner[hidden] { display: none; }
@keyframes mfActLoadSpin {
    to { transform: rotate(360deg); }
}

/* ─── Dashboard KPI: Sub-Hint (z. B. "letzte 30 Tage") ───────────── */
.mf-cdash__kpi-hint {
    display: block;
    margin-top: 2px;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--cdash-text-muted, #64748b);
    line-height: 1.2;
    letter-spacing: 0.01em;
}

/* ─── Dashboard Anfragen-Liste: Link-Item, Chip, CTA-Chevron ────── */
.mf-cdash__inq {
    display: block;
    padding: 0;
}
.mf-cdash__inq-link {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    width: 100%;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    border-radius: 0;
    transition: background-color 0.15s ease;
}
.mf-cdash__inq-link:hover {
    background: #f8fafc;
}
.mf-cdash__inq-link:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: -2px;
    background: #f1f5f9;
}
.mf-cdash__inq-link .mf-cdash__inq-text {
    flex: 1 1 auto;
    min-width: 0;
}
.mf-cdash__inq-chip {
    display: inline-flex;
    align-items: center;
    margin-left: 0.4rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.3;
    color: #334155;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    letter-spacing: 0.01em;
    vertical-align: middle;
}
.mf-cdash__inq-cta {
    margin-left: auto;
    align-self: center;
    padding-left: 0.75rem;
    color: #94a3b8;
    flex-shrink: 0;
    transition: color 0.15s ease, transform 0.15s ease;
}
.mf-cdash__inq-link:hover .mf-cdash__inq-cta {
    color: #475569;
    transform: translateX(2px);
}

.mf-cdash__inq--empty {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
}

.mf-cdash__inq--empty .mf-cdash__inq-text {
    flex: 1 1 auto;
    min-width: 0;
}

/* ════════════════════════════════════════════════════════════════
   Task-Modals (Neue Aufgabe / Aufgabe bearbeiten) – breiter,
   ohne abschneidende Overflows, klarer Footer-Split, Brand-Datepicker
   ════════════════════════════════════════════════════════════════ */

.mf-cdash__modal--task .mf-cdash__modal-sheet {
    max-width: 580px;
    overflow: visible;
}

.mf-cdash__modal--task .mf-cdash__modal-body {
    overflow: visible;
    max-height: none;
    padding: 1.1rem 1.35rem;
}

.mf-cdash__modal--task .mf-cdash__modal-head {
    padding: 1.05rem 1.35rem 0.85rem;
}

/* Footer-Split: links Lösch-Aktion, rechts Speichern/Abbrechen */
.mf-cdash__modal-foot--split {
    justify-content: space-between !important;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mf-cdash__modal-foot-left {
    margin: 0;
    flex-shrink: 0;
}

.mf-cdash__modal-foot-right {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
    margin-left: auto;
}

/* Danger-Ghost-Button (für "Löschen") */
.mf-cdash__btn--danger-ghost,
.mf-cdash__modal .mf-cdash__btn--danger-ghost,
.mf-cdash__modal button.mf-cdash__btn--danger-ghost {
    background: transparent !important;
    color: #b91c1c !important;
    border: 1px solid #fca5a5 !important;
    box-shadow: none !important;
    padding: 0.5rem 0.8rem !important;
    font-weight: 600 !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.mf-cdash__btn--danger-ghost:hover,
.mf-cdash__modal .mf-cdash__btn--danger-ghost:hover,
.mf-cdash__modal button.mf-cdash__btn--danger-ghost:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #f87171 !important;
}

.mf-cdash__btn--danger-ghost svg {
    color: currentColor;
    flex-shrink: 0;
}

/* ───────────────────────────────────────────────────────────────
   Datepicker (Flatpickr) – Brand-Theme
   ─────────────────────────────────────────────────────────────── */

.mf-datepicker {
    cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.75 3v2.25M17.25 3v2.25M3 7.5h18M5.25 6h13.5A2.25 2.25 0 0 1 21 8.25v10.5A2.25 2.25 0 0 1 18.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6Z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 16px;
    padding-right: 2.2rem !important;
}

.flatpickr-input.mf-datepicker { display: none !important; }

.flatpickr-input ~ .form-control[readonly],
input.mf-datepicker.flatpickr-alt-input,
input.flatpickr-alt-input {
    cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6.75 3v2.25M17.25 3v2.25M3 7.5h18M5.25 6h13.5A2.25 2.25 0 0 1 21 8.25v10.5A2.25 2.25 0 0 1 18.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6Z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 16px;
    padding-right: 2.2rem;
    font-size: 0.9rem;
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    padding-left: 0.8rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    color: #0f172a;
    font-weight: 500;
    transition: border-color 120ms ease, box-shadow 120ms ease;
    width: 100%;
}

input.flatpickr-alt-input:focus,
input.flatpickr-alt-input.active {
    outline: none;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(43, 127, 255, 0.15);
}

.flatpickr-calendar {
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow:
        0 24px 56px -20px rgba(15, 23, 42, 0.25),
        0 8px 16px -8px rgba(15, 23, 42, 0.1) !important;
    font-family: inherit !important;
    overflow: hidden;
    padding: 6px 4px 4px;
    background: #ffffff !important;
    z-index: 200 !important;
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after,
.flatpickr-calendar.arrowBottom::before,
.flatpickr-calendar.arrowBottom::after {
    border-bottom-color: #e2e8f0;
}

.flatpickr-months {
    padding: 0.55rem 0.4rem 0.4rem;
    background: #ffffff;
    border-bottom: 1px solid #f1f5f9;
    border-radius: 12px 12px 0 0;
}

.flatpickr-month {
    color: #0f172a !important;
    fill: #0f172a !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    color: #0f172a !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: #f1f5f9 !important;
}

.flatpickr-current-month .numInputWrapper:hover {
    background: #f1f5f9 !important;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    color: #475569 !important;
    fill: #475569 !important;
    padding: 8px !important;
    border-radius: 8px;
    transition: background 0.15s ease, color 0.15s ease;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    color: #0f172a !important;
    fill: #0f172a !important;
    background: #f1f5f9;
}

.flatpickr-weekdays {
    background: #ffffff !important;
    height: 32px !important;
}

.flatpickr-weekday {
    color: #94a3b8 !important;
    font-weight: 600 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #ffffff !important;
}

.dayContainer { padding: 4px 0; }

.flatpickr-day {
    border-radius: 9px !important;
    color: #334155 !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    height: 36px !important;
    line-height: 36px !important;
    max-width: 36px !important;
    border: 1px solid transparent !important;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #cbd5e1 !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border-color: transparent !important;
}

.flatpickr-day.today {
    background: #ffffff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    font-weight: 700 !important;
}

.flatpickr-day.today:hover {
    background: #eff6ff !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected.today {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 10px -3px rgba(37, 99, 235, 0.45);
}

.flatpickr-day.flatpickr-disabled {
    color: #cbd5e1 !important;
}

/* Time-Picker */
.flatpickr-time {
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 6px !important;
    margin-top: 4px !important;
}

.flatpickr-time input {
    font-size: 0.95rem !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    background: transparent !important;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus {
    background: #f1f5f9 !important;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
    color: #475569 !important;
    font-weight: 600 !important;
}

/* Datepicker IM Modal: NICHT vom Modal-Overflow gekürzt */
.mf-cdash__modal-sheet .flatpickr-calendar {
    z-index: 200 !important;
}

/* =========================================================
 * Admin Dashboard Shell – linke Navigation (Referenz-Layout)
 * ========================================================= */

body.mf-admin-layout {
    --mf-admin-sidebar-w: 15.75rem;
    --mf-admin-bg: #eef1f4;
    --mf-admin-surface: #ffffff;
    --mf-admin-ink: #0f2744;
    --mf-admin-ink-soft: #334155;
    --mf-admin-muted: #64748b;
    --mf-admin-faint: #94a3b8;
    --mf-admin-border: #e4e9ef;
    --mf-admin-primary: #0f2744;
    --mf-admin-primary-hover: #1a3354;
    --mf-admin-nav-active: #eef2f6;
    background: var(--mf-admin-bg);
}

body.mf-admin-layout .mf-dashboard-header,
body.mf-admin-layout .mf-footer__bar--auth {
    display: none !important;
}

body.mf-admin-layout .mf-dashboard-body,
body.mf-admin-layout .mf-dashboard-body__inner {
    max-width: none;
    padding: 0;
    margin: 0;
}

.mf-admin-shell {
    display: flex;
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    position: relative;
}

.mf-admin-shell__backdrop {
    position: fixed;
    inset: 0;
    z-index: 55;
    background: rgba(15, 39, 68, 0.35);
    backdrop-filter: blur(2px);
}

.mf-admin-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 60;
    width: var(--mf-admin-sidebar-w);
    height: 100vh;
    height: 100dvh;
    background: var(--mf-admin-surface);
    border-right: 1px solid var(--mf-admin-border);
    transform: translateX(-105%);
    transition: transform 220ms ease;
}

.mf-admin-sidebar.is-open {
    transform: translateX(0);
}

@media (min-width: 1024px) {
    .mf-admin-sidebar {
        transform: none;
    }
}

.mf-admin-sidebar__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem 0.9rem 1rem;
}

.mf-admin-sidebar__top {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.mf-admin-sidebar__brand-block {
    padding: 0.15rem 0.55rem 0.85rem;
}

.mf-admin-sidebar__brand {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0 0 0.55rem;
    text-decoration: none;
}

.mf-admin-sidebar__account-wrap {
    margin: 0 0 0.75rem;
}

.mf-admin-sidebar__brand-img {
    display: block;
    height: 1.55rem;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.mf-admin-sidebar__label {
    margin: 0 0 0.65rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mf-admin-faint);
}

.mf-admin-nav {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.mf-admin-nav__link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.58rem 0.7rem;
    border-radius: 0.55rem;
    border: 1px solid transparent;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--mf-admin-muted);
    text-decoration: none;
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.mf-admin-nav__link:hover {
    color: var(--mf-admin-ink-soft);
    background: #f8fafc;
}

.mf-admin-nav__link.is-active {
    color: var(--mf-admin-ink);
    font-weight: 600;
    background: var(--mf-admin-nav-active);
    border-color: var(--mf-admin-border);
}

.mf-admin-nav__ico {
    flex-shrink: 0;
    color: currentColor;
    opacity: 0.72;
}

.mf-admin-nav__link.is-active .mf-admin-nav__ico {
    opacity: 1;
}

.mf-admin-nav__link.is-disabled {
    opacity: 0.45;
    color: #94a3b8;
    cursor: not-allowed;
    pointer-events: none;
    background: transparent;
    border-color: transparent;
}

.mf-admin-nav__link.is-disabled .mf-admin-nav__ico {
    opacity: 0.5;
}

.mf-admin-sidebar__foot {
    flex-shrink: 0;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--mf-admin-border);
}

.mf-admin-user-menu {
    position: relative;
}

.mf-admin-sidebar__user-btn {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    min-width: 0;
    padding: 0.45rem 0.4rem;
    border: 1px solid var(--mf-admin-border);
    border-radius: 0.65rem;
    background: #f8fafc;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease;
}

.mf-admin-sidebar__user-btn:hover,
.mf-admin-user-menu.is-open .mf-admin-sidebar__user-btn {
    background: #fff;
    border-color: var(--mf-admin-border);
}

.mf-admin-sidebar__user-chevron {
    flex-shrink: 0;
    margin-left: auto;
    color: var(--mf-admin-faint);
    transition: transform 180ms ease, color 180ms ease;
}

.mf-admin-user-menu.is-open .mf-admin-sidebar__user-chevron {
    transform: rotate(180deg);
    color: var(--mf-admin-muted);
}

.mf-admin-user-popover {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(100% + 0.45rem);
    z-index: 80;
    padding: 0.35rem;
    border-radius: 0.75rem;
    border: 1px solid var(--mf-admin-border);
    background: var(--mf-admin-surface);
    box-shadow:
        0 4px 6px -1px rgba(15, 39, 68, 0.06),
        0 12px 28px -6px rgba(15, 39, 68, 0.14);
}

.mf-admin-user-popover__item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-radius: 0.45rem;
    background: transparent;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--mf-admin-ink-soft);
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease;
}

.mf-admin-user-popover__ico {
    flex-shrink: 0;
    color: var(--mf-admin-muted);
    opacity: 0.85;
}

a.mf-admin-user-popover__item:hover,
button.mf-admin-user-popover__item:hover {
    background: #f8fafc;
    color: var(--mf-admin-ink);
}

a.mf-admin-user-popover__item:hover .mf-admin-user-popover__ico,
button.mf-admin-user-popover__item:hover .mf-admin-user-popover__ico {
    color: var(--mf-admin-ink-soft);
    opacity: 1;
}

.mf-admin-user-popover__item--danger {
    color: #dc2626;
}

.mf-admin-user-popover__item--danger:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.mf-admin-user-popover__sep {
    height: 1px;
    margin: 0.25rem 0.35rem;
    background: var(--mf-admin-border);
}

.mf-admin-user-popover__logout {
    margin: 0;
}

.mf-admin-sidebar__avatar {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 9999px;
    background: rgba(15, 39, 68, 0.08);
    border: 1px solid rgba(15, 39, 68, 0.12);
    color: var(--mf-admin-ink);
    font-size: 0.72rem;
    font-weight: 700;
    overflow: hidden;
}

.mf-admin-sidebar__avatar-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mf-admin-sidebar__user-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.1rem;
}

.mf-admin-sidebar__user-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-admin-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-admin-sidebar__user-mail {
    font-size: 0.6875rem;
    color: var(--mf-admin-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-admin-main {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
}

@media (min-width: 1024px) {
    .mf-admin-main {
        margin-left: var(--mf-admin-sidebar-w);
    }

    body.mf-admin-layout--no-sidebar .mf-admin-main {
        margin-left: 0;
    }
}

.mf-admin-page {
    width: 100%;
    max-width: 88rem;
    margin: 0 auto;
    padding: 1.25rem 1rem 2.5rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .mf-admin-page {
        padding: 1.75rem 1.75rem 3rem;
    }
}

@media (min-width: 1280px) {
    .mf-admin-page {
        padding: 2rem 2.25rem 3.5rem;
    }
}

.mf-admin-page__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.mf-admin-page__head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.mf-admin-page__lead {
    flex-shrink: 0;
    align-self: center;
}

.mf-admin-page__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    align-self: center;
    border: 1px solid var(--mf-admin-border);
    border-radius: 0.75rem;
    background: var(--mf-admin-surface);
    color: var(--mf-admin-ink);
    box-shadow: 0 1px 2px rgba(15, 39, 68, 0.04);
}

.mf-admin-page__avatar {
    width: 2.35rem;
    height: 2.35rem;
    font-size: 0.78rem;
}

.mf-admin-page__menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    margin-top: 0.15rem;
    border: 1px solid var(--mf-admin-border);
    border-radius: 0.55rem;
    background: var(--mf-admin-surface);
    color: var(--mf-admin-ink);
    cursor: pointer;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .mf-admin-page__menu-btn {
        display: none;
    }
}

.mf-admin-page__eyebrow {
    margin: 0 0 0.2rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mf-admin-faint);
}

.mf-admin-page__title {
    margin: 0;
    font-size: clamp(1.25rem, 1.6vw, 1.5rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--mf-admin-ink);
}

.mf-admin-page__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.875rem;
    color: var(--mf-admin-muted);
}

.mf-admin-page__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-left: auto;
}

.mf-admin-page__body {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Admin-Kontext: Profil-Primärbuttons wie „Neues Inserat“ (cdash-primary) */
body.mf-admin-layout .mf-profile-btn-primary:not(.mf-2fa-destructive) {
    background: var(--cdash-primary, #2b7fff);
    border-color: var(--cdash-primary, #2b7fff);
    color: #fff;
    box-shadow: 0 1px 2px rgba(43, 127, 255, 0.18);
    filter: none;
}

body.mf-admin-layout .mf-profile-btn-primary:not(.mf-2fa-destructive):hover:not(:disabled) {
    background: var(--cdash-primary-ink, #1d4ed8);
    border-color: var(--cdash-primary-ink, #1d4ed8);
    filter: none;
}

body.mf-admin-layout .mf-profile-btn-primary:not(.mf-2fa-destructive) svg,
body.mf-admin-layout .mf-profile-btn-primary:not(.mf-2fa-destructive) .mf-cdash__ico {
    color: #fff;
}

/* Admin-Kontext: Profil-Sekundärbuttons wie cdash-ghost */
body.mf-admin-layout .mf-profile-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: 0.55rem;
    border: 1px solid var(--cdash-border, #e2e8f0);
    background: transparent;
    color: var(--cdash-text-soft, #475569);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

body.mf-admin-layout .mf-profile-btn-secondary:hover {
    background: #f1f5f9;
    color: var(--cdash-text, #0f172a);
    border-color: #cbd5e1;
}

body.mf-admin-layout .mf-profile-btn-secondary svg,
body.mf-admin-layout .mf-profile-btn-secondary .mf-cdash__ico {
    color: currentColor;
}

/* KPI-Karten im Referenz-Stil */
.mf-admin-stats {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 0.85rem;
}

@media (min-width: 640px) {
    .mf-admin-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.mf-admin-stat {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border-radius: 0.85rem;
    background: var(--mf-admin-surface);
    border: 1px solid var(--mf-admin-border);
    box-shadow: 0 1px 2px rgba(15, 39, 68, 0.04);
}

.mf-admin-stat__ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.65rem;
    background: #f1f5f9;
    color: var(--mf-admin-ink);
    flex-shrink: 0;
}

.mf-admin-stat__text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.mf-admin-stat__label {
    font-size: 0.8125rem;
    color: var(--mf-admin-muted);
}

.mf-admin-stat__value {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--mf-admin-ink);
    letter-spacing: -0.02em;
}

.mf-admin-stat__value small {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--mf-admin-muted);
    margin-left: 0.15rem;
}

.mf-listing-quota {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 0.85rem;
    background: var(--mf-admin-surface);
    border: 1px solid var(--mf-admin-border);
    box-shadow: 0 1px 2px rgba(15, 39, 68, 0.04);
}

.mf-listing-quota__main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.mf-listing-quota__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mf-listing-quota__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-admin-ink);
}

.mf-listing-quota__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #15803d;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}

.mf-listing-quota__badge.is-full {
    color: #b45309;
    background: #fffbeb;
    border-color: #fde68a;
}

.mf-listing-quota__bar {
    width: 100%;
    height: 7px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.mf-listing-quota__bar-fill {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb, #3b82f6);
    transition: width 0.35s ease;
}

.mf-listing-quota.is-full .mf-listing-quota__bar-fill {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.mf-listing-quota__meta {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--mf-admin-muted);
    line-height: 1.45;
}

.mf-listing-quota__meta strong {
    font-weight: 600;
    color: var(--mf-admin-ink-soft);
}

.mf-listing-quota__meta-free {
    color: #15803d;
    font-weight: 500;
}

.mf-listing-quota.is-full .mf-listing-quota__meta-free {
    color: var(--mf-admin-muted);
}

.mf-listing-quota__figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 4.75rem;
    padding: 0.35rem 0.65rem;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid var(--mf-admin-border);
    text-align: center;
    flex-shrink: 0;
}

.mf-listing-quota.is-full .mf-listing-quota__figure {
    background: #fffbeb;
    border-color: #fde68a;
}

.mf-listing-quota__figure-n {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--mf-admin-ink);
}

.mf-listing-quota.is-full .mf-listing-quota__figure-n {
    color: #b45309;
}

.mf-listing-quota__figure-l {
    margin-top: 0.2rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--mf-admin-muted);
    line-height: 1.25;
}

@media (max-width: 520px) {
    .mf-listing-quota {
        flex-direction: column;
        gap: 0.85rem;
    }

    .mf-listing-quota__figure {
        flex-direction: row;
        justify-content: flex-start;
        gap: 0.5rem;
        min-width: 0;
        width: 100%;
        padding: 0.55rem 0.75rem;
    }

    .mf-listing-quota__figure-n {
        font-size: 1.35rem;
    }

    .mf-listing-quota__figure-l {
        margin-top: 0;
        align-self: center;
        text-align: left;
    }
}

/* Dezenter 2FA-Hinweis auf der Dashboard-Übersicht */
.mf-2fa-hint {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem 0.7rem 1rem;
    margin-bottom: 1rem;
    border-radius: 0.85rem;
    background: var(--mf-admin-surface, #fff);
    border: 1px solid var(--mf-admin-border, #e2e8f0);
    box-shadow: 0 1px 2px rgba(15, 39, 68, 0.04);
}

.mf-2fa-hint[hidden] {
    display: none !important;
}

.mf-2fa-hint__ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
    background: #eff6ff;
    color: #2b7fff;
    flex-shrink: 0;
}

.mf-2fa-hint__text {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--mf-admin-muted, #64748b);
}

.mf-2fa-hint__text strong {
    font-weight: 600;
    color: var(--mf-admin-ink, #0f172a);
}

.mf-2fa-hint__btn {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0.4rem 0.85rem;
    border-radius: 0.6rem;
    border: 1px solid var(--mf-admin-border, #e2e8f0);
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--mf-admin-ink, #0f172a);
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.mf-2fa-hint__btn:hover {
    border-color: #2b7fff;
    color: #2b7fff;
    background: #f8fbff;
}

.mf-2fa-hint__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.15s ease, background 0.15s ease;
}

.mf-2fa-hint__close:hover {
    color: var(--mf-admin-ink, #0f172a);
    background: #f1f5f9;
}

@media (max-width: 560px) {
    .mf-2fa-hint {
        flex-wrap: wrap;
    }

    .mf-2fa-hint__text {
        flex-basis: calc(100% - 5rem);
    }

    .mf-2fa-hint__btn {
        margin-left: 2.75rem;
    }
}

.mf-ai-text-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}

.mf-ai-text-label-row .mf-cdash__label,
.mf-ai-text-label-row .mf-prop-card__label {
    margin-bottom: 0;
}

.mf-ai-text-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid #0f172a;
    border-radius: 999px;
    background: #0f172a;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.mf-ai-text-btn:hover:not(:disabled) {
    background: #1e293b;
    border-color: #1e293b;
}

.mf-ai-text-btn:disabled,
.mf-ai-text-btn.is-loading {
    opacity: 0.72;
    cursor: wait;
}

.mf-ai-text-status.is-error {
    color: #b91c1c;
}

.mf-text-word-count {
    margin: 0.35rem 0 0;
    text-align: right;
    font-size: 0.8125rem;
    color: #64748b;
}

.mf-text-word-count.is-empty {
    opacity: 0.85;
}

/* KI-Text-Modal (Tonalität & Inhaltslänge) */
.mf-ai-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.mf-ai-modal[hidden] {
    display: none !important;
}

.mf-ai-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.mf-ai-modal__card {
    position: relative;
    width: 100%;
    max-width: 26rem;
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.22);
    padding: 1.35rem 1.4rem 1.25rem;
}

.mf-ai-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1.1rem;
}

.mf-ai-modal__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.mf-ai-modal__sub {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.mf-ai-modal__x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.15s ease, background 0.15s ease;
}

.mf-ai-modal__x:hover {
    color: #0f172a;
    background: #f1f5f9;
}

.mf-ai-modal__field + .mf-ai-modal__field {
    margin-top: 1rem;
}

.mf-ai-modal__label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.4rem;
}

.mf-ai-modal__select {
    position: relative;
}

.mf-ai-modal__select-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 42px;
    padding: 0 0.875rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    font-size: 0.875rem;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease;
}

.mf-ai-modal__select-btn:hover,
.mf-ai-modal__select-btn.is-open {
    border-color: #cbd5e1;
}

.mf-ai-modal__chev {
    margin-left: 0.5rem;
    flex-shrink: 0;
    color: #94a3b8;
    transition: transform 0.15s ease;
}

.mf-ai-modal__select-btn.is-open .mf-ai-modal__chev {
    transform: rotate(180deg);
}

.mf-ai-modal__dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 40;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.14);
}

.mf-ai-modal__dropdown[hidden] {
    display: none !important;
}

.mf-ai-modal__list {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    max-height: 15rem;
    overflow-y: auto;
}

.mf-ai-modal__opt {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.6rem 0.875rem;
    border: 0;
    background: transparent;
    font-size: 0.875rem;
    color: #334155;
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease;
}

.mf-ai-modal__opt:hover {
    background: #f8fafc;
}

.mf-ai-modal__opt.is-selected {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 600;
}

.mf-ai-modal__opt-label {
    flex: 1;
}

.mf-ai-modal__opt-hint {
    color: #94a3b8;
    font-weight: 400;
}

.mf-ai-modal__opt-check {
    flex-shrink: 0;
    color: #475569;
    display: inline-flex;
}

.mf-ai-modal__opt-check[hidden] {
    display: none !important;
}

.mf-ai-modal__lengths {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.mf-ai-modal__len {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    padding: 0.55rem 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.mf-ai-modal__len:hover {
    border-color: #cbd5e1;
}

.mf-ai-modal__len.is-selected {
    border-color: #0f172a;
    background: #f8fafc;
    box-shadow: inset 0 0 0 1px #0f172a;
}

.mf-ai-modal__len-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-ai-modal__len-hint {
    font-size: 0.7rem;
    color: #94a3b8;
}

.mf-ai-modal__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.35rem;
}

.mf-ai-modal__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.95rem;
    border-radius: 0.7rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mf-ai-modal__btn--ghost {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
}

.mf-ai-modal__btn--ghost:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.mf-ai-modal__btn--dark {
    border: 1px solid #0f172a;
    background: #0f172a;
    color: #fff;
}

.mf-ai-modal__btn--dark:hover {
    background: #1e293b;
    border-color: #1e293b;
}

body.mf-ai-modal-open {
    overflow: hidden;
}

.mf-ai-title-modal__list {
    list-style: none;
    margin: 0;
    padding: 0 1.25rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: min(24rem, 60vh);
    overflow: auto;
}

.mf-ai-title-modal__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.mf-ai-title-modal__item:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.mf-ai-title-modal__num {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 0.75rem;
    font-weight: 700;
}

.mf-ai-title-modal__text {
    flex: 1;
    font-size: 0.9375rem;
    line-height: 1.45;
    color: #0f172a;
}

/* Warn-Banner */
.mf-admin-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.mf-admin-alert__text {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.mf-admin-alert__link {
    flex-shrink: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #b45309;
    text-decoration: none;
    white-space: nowrap;
}

.mf-admin-alert__link:hover {
    text-decoration: underline;
}

/* Layout-Anpassungen innerhalb Admin-Shell */
body.mf-admin-layout .mf-app-page,
body.mf-admin-layout .mf-app-page__shell {
    max-width: none;
    width: 100%;
    padding: 0;
    margin: 0;
    background: transparent;
}

body.mf-admin-layout .mf-cdash__layout {
    display: block;
    max-width: none;
}

body.mf-admin-layout .mf-cdash__main,
body.mf-admin-layout .mf-app-page__content {
    width: 100%;
    max-width: none;
}

body.mf-admin-layout .mf-cdash__topbar--bare {
    display: none;
}

body.mf-admin-layout .mf-cdash__panel,
body.mf-admin-layout .mf-cdash__section .mf-cdash__panel {
    border-radius: 0.85rem;
    border-color: var(--mf-admin-border);
    box-shadow: 0 1px 2px rgba(15, 39, 68, 0.04);
}

body.mf-admin-layout .mf-profile {
    padding: 0;
}

body.mf-admin-layout .mf-profile__layout {
    gap: 1.5rem;
}

@media (min-width: 768px) {
    body.mf-admin-layout .mf-profile-aside {
        top: 0;
    }
}

/* ── Inserat bearbeiten (vereinfacht) ── */
.mf-cdash--edit-simple .mf-cdash__edit-head--simple {
    margin-bottom: 1rem;
}

.mf-cdash__edit-form--simple {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mf-prop-simple-section {
    padding: 1.25rem 1.35rem 1.4rem;
}

.mf-prop-simple-section > .mf-cdash__form,
.mf-prop-simple-section > .mf-cdash__field,
.mf-prop-simple-section > .mf-portal-picker,
.mf-prop-simple-section > .mf-cdash__dropzone,
.mf-prop-simple-section > .mf-prop-wizard__choice-grid,
.mf-prop-simple-section > .mf-cdash__hint {
    margin-top: 0;
}

.mf-prop-simple-section > .mf-cdash__hint {
    margin-top: 0.65rem;
}

.mf-prop-simple-section > .mf-cdash__img-grid.mf-prop-simple-section__img-grid {
    margin-top: 2rem;
}

.mf-cdash__img-tile.is-primary {
    border-color: var(--cdash-accent, #2563eb);
    box-shadow: 0 0 0 1px var(--cdash-accent, #2563eb);
}

.mf-cdash__img-primary-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--cdash-accent, #2563eb);
}

.mf-cdash__img-primary-badge::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: currentColor;
}

.mf-cdash__img-primary-form {
    margin: 0;
    width: 100%;
}

.mf-cdash__img-primary-btn {
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 500;
    color: #64748b;
    text-align: left;
    cursor: pointer;
    transition: color 0.15s ease;
}

.mf-cdash__img-primary-btn:hover {
    color: var(--cdash-accent, #2563eb);
}

.mf-prop-simple-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.15rem;
}

.mf-prop-simple-section__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    font-size: 0.8125rem;
    font-weight: 700;
    flex-shrink: 0;
}

.mf-prop-simple-section__ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    margin-top: 0.05rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
    flex-shrink: 0;
}

.mf-cdash__label--ico {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.mf-cdash__label--ico svg {
    flex-shrink: 0;
    color: var(--mf-admin-muted, #64748b);
}

.mf-prop-simple-section__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mf-admin-ink, #0f172a);
}

.mf-prop-simple-section__sub {
    margin: 0.2rem 0 0;
    font-size: 0.875rem;
    color: var(--mf-admin-muted, #64748b);
}

.mf-prop-simple-section > .mf-prop-wizard__subsection,
.mf-prop-simple-section > .mf-prop-wizard__section-split {
    margin-left: -0.15rem;
    margin-right: -0.15rem;
}

.mf-prop-simple-section > .mf-prop-wizard__section-split {
    margin-top: 0.25rem;
    margin-bottom: 0.5rem;
}

.mf-cdash--edit-simple .mf-prop-wizard__choice-grid:not(.mf-prop-wizard__choice-grid--amenities) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mf-prop-wizard__choice-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.mf-cdash--edit-simple .mf-prop-wizard__choice-grid--compact .mf-prop-wizard__choice-card {
    padding: 0.95rem 1rem;
}

.mf-prop-simple-section__subtitle {
    margin: 1.25rem 0 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-admin-ink, #0f172a);
}

.mf-prop-simple-section > .mf-prop-simple-section__subtitle:first-of-type {
    margin-top: 0.25rem;
}

.mf-portal-picker {
    display: grid;
    gap: 0.75rem;
    width: 100%;
}

@media (min-width: 540px) {
    .mf-portal-picker {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 960px) {
    .mf-portal-picker {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.mf-portal-picker__item {
    cursor: pointer;
    display: flex;
    min-height: 0;
}

.mf-portal-picker__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7rem;
    width: 100%;
    min-height: 100%;
    padding: 1rem 1.05rem 1.05rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.mf-portal-picker__item.is-selected .mf-portal-picker__card,
.mf-portal-picker__input:checked + .mf-portal-picker__card {
    border-color: #2563eb;
    background: rgba(37, 99, 235, 0.04);
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.12);
}

.mf-portal-picker__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.45rem;
    border-radius: 0.55rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.mf-portal-picker__badge--maklerfrei {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.mf-portal-picker__badge--immoscout24 {
    background: #fff7e6;
    color: #b45309;
}

.mf-portal-picker__badge--immowelt {
    background: #f0f9eb;
    color: #3f7d1a;
}

.mf-portal-picker__badge--kleinanzeigen {
    background: #e7f6ee;
    color: #15803d;
}

.mf-portal-picker__badge--has-logo {
    background: none;
    border: none;
    border-radius: 0;
    min-width: 0;
    width: 100%;
    max-width: 9rem;
    height: auto;
    min-height: 0;
    padding: 0;
}

.mf-portal-picker__logo {
    display: block;
    width: 100%;
    max-width: 7.5rem;
    height: 1.75rem;
    object-fit: contain;
    object-position: left center;
}

.mf-portal-picker__text {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    flex: 1;
    padding-right: 1.25rem;
}

.mf-portal-picker__title {
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.25;
    color: #0f172a;
}

.mf-portal-picker__desc {
    font-size: 0.75rem;
    line-height: 1.4;
    color: #64748b;
}

.mf-portal-picker__check {
    display: none;
    position: absolute;
    top: 0.7rem;
    right: 0.7rem;
    color: #2563eb;
}

.mf-portal-picker__item.is-selected .mf-portal-picker__check,
.mf-portal-picker__input:checked + .mf-portal-picker__card .mf-portal-picker__check {
    display: inline-flex;
}

.mf-cdash__row-meta--portals {
    color: #64748b;
    font-size: 0.8125rem;
}

.mf-portal-picker__foot {
    margin-top: 0.75rem;
    margin-bottom: 0;
}

.mf-portal-links {
    display: grid;
    gap: 0.65rem;
    margin-top: 1rem;
}

.mf-portal-links--compact {
    gap: 0.45rem;
    margin-top: 0.5rem;
}

.mf-portal-links__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    background: #f8fafc;
}

.mf-portal-links__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

.mf-portal-links__logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

.mf-portal-links__label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.mf-portal-links__status {
    font-size: 0.6875rem;
}

.mf-portal-links__action {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #2563eb;
    text-decoration: none;
    white-space: nowrap;
}

.mf-portal-links__action:hover {
    text-decoration: underline;
}

.mf-portal-links__pending {
    font-size: 0.75rem;
    color: #64748b;
}

.mf-prop-edit__portal-links {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.mf-prop-simple-section > .mf-cdash__field + .mf-cdash__field {
    margin-top: 1rem;
}


/* ============================================================
   KI-Immobilienbewertung (mf-val-*)
   ============================================================ */

/* --- Wizard --- */
.mf-val-wizard {
    max-width: 760px;
    margin: 0 auto;
    padding-bottom: 3rem;
}

.mf-val-wizard--card {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 2rem 3rem 2.25rem;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 18px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-direction: column;
    min-height: 480px;
}

.mf-val-wizard--card .mf-val-wizard__form {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.mf-val-wizard--card .mf-val-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.mf-val-wizard--card .mf-val-step__hint {
    margin-top: -1rem;
}

.mf-val-wizard--card .mf-val-wizard__nav {
    margin-top: auto;
}

.mf-val-wizard--card .mf-val-tiles--3,
.mf-val-wizard--card .mf-val-tiles--4 {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.mf-val-wizard--card .mf-val-tile {
    padding: 1.6rem 0.85rem 1.35rem;
}

.mf-val-wizard--card .mf-val-tile__icon {
    width: 72px;
    height: 72px;
}

.mf-val-wizard [hidden],
.mf-val-loading[hidden] {
    display: none !important;
}

.mf-val-wizard__top {
    padding: 1.5rem 0 0.5rem;
}

.mf-val-wizard--card .mf-val-wizard__top {
    padding-top: 0;
}

.mf-val-wizard__top-bar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.1rem;
}

.mf-val-wizard--card .mf-val-wizard__top-bar {
    justify-content: space-between;
    margin-bottom: 0.6rem;
}

.mf-val-wizard--card .mf-val-wizard__step-count {
    margin: 0;
}

.mf-val-wizard__back {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 140ms ease;
}

.mf-val-wizard__back:hover {
    color: #0f172a;
    text-decoration: none;
}

.mf-val-wizard__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-val-wizard__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.6rem;
    border-radius: 9999px;
    background: var(--mf-dashboard-ui-10);
    color: var(--mf-dashboard-ui-ink);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-left: auto;
}

.mf-val-wizard__step-count {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #64748b;
}

.mf-val-wizard__progress-track {
    height: 6px;
    border-radius: 9999px;
    background: #e2e8f0;
    overflow: hidden;
}

.mf-val-wizard__progress-bar {
    height: 100%;
    border-radius: 9999px;
    background: var(--mf-dashboard-primary);
    transition: width 300ms ease;
}

.mf-val-wizard__alert {
    margin-top: 1.25rem;
    padding: 0.9rem 1.1rem;
    border: 1px solid #fecaca;
    border-radius: 12px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 0.875rem;
}

.mf-val-wizard__alert ul {
    margin: 0.35rem 0 0;
    padding-left: 1.1rem;
}

.mf-val-step {
    padding: 2.25rem 0 0.75rem;
}

.mf-val-step__heading {
    margin: 0 0 1.5rem;
    font-size: 1.45rem;
    font-weight: 700;
    color: #0f172a;
    text-align: center;
    line-height: 1.3;
}

.mf-val-step__hint {
    margin: -1rem 0 1.5rem;
    text-align: center;
    font-size: 0.875rem;
    color: #64748b;
}

/* Kacheln */
.mf-val-tiles {
    display: grid;
    gap: 0.85rem;
}

.mf-val-tiles--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 460px;
    margin: 0 auto;
}

.mf-val-tiles--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mf-val-tiles--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mf-val-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 1.35rem 0.75rem 1.1rem;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    cursor: pointer;
    text-align: center;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.mf-val-tile:hover {
    border-color: #cbd5e1;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    transform: translateY(-1px);
}

.mf-val-tile.is-selected {
    border-color: var(--mf-dashboard-primary);
    box-shadow: 0 0 0 3px var(--mf-dashboard-ui-15);
}

.mf-val-tile input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mf-val-tile__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
}

.mf-val-tile__icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mf-val-tile__label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.25;
}

.mf-val-tile.is-selected .mf-val-tile__label {
    color: var(--mf-dashboard-ui-ink);
}

/* Eingabefelder */
.mf-val-input-wrap {
    position: relative;
    max-width: 360px;
    margin: 0 auto;
}

.mf-val-input {
    width: 100%;
    padding: 0.9rem 1.1rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
    text-align: center;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}

.mf-val-input:focus {
    outline: none;
    border-color: var(--mf-dashboard-primary);
    box-shadow: 0 0 0 3px var(--mf-dashboard-ui-15);
}

.mf-val-input--text {
    text-align: left;
    font-size: 0.95rem;
    font-weight: 500;
}

.mf-val-input-unit {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.9rem;
    font-weight: 600;
    pointer-events: none;
}

/* Zimmer-Stepper */
.mf-val-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-width: 320px;
    margin: 0 auto;
}

.mf-val-stepper__btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #334155;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.mf-val-stepper__btn:hover {
    border-color: var(--mf-dashboard-primary);
    color: var(--mf-dashboard-ui-ink);
    background: var(--mf-dashboard-ui-06);
}

.mf-val-stepper__value {
    width: 110px;
    padding: 0.8rem 0.5rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    text-align: center;
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    -moz-appearance: textfield;
}

.mf-val-stepper__value::-webkit-outer-spin-button,
.mf-val-stepper__value::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.mf-val-stepper__value:focus {
    outline: none;
    border-color: var(--mf-dashboard-primary);
    box-shadow: 0 0 0 3px var(--mf-dashboard-ui-15);
}

/* Adresse */
.mf-val-address {
    max-width: 460px;
    margin: 0 auto;
    display: grid;
    gap: 0.85rem;
}

.mf-val-address__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

.mf-val-address__row:first-child {
    grid-template-columns: 1fr 90px;
}

.mf-val-address__row:last-child {
    grid-template-columns: 120px 1fr;
}

.mf-val-address__field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.mf-val-address__field label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
}

/* Navigation */
.mf-val-wizard__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid #eef2f6;
}

.mf-val-wizard__nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 1.3rem;
    border-radius: 10px;
    border: 1.5px solid transparent;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 140ms ease;
}

.mf-val-wizard__nav-btn--back {
    background: #fff;
    border-color: #e2e8f0;
    color: #475569;
}

.mf-val-wizard__nav-btn--back:hover {
    border-color: #cbd5e1;
    color: #0f172a;
}

.mf-val-wizard__nav-btn--next,
.mf-val-wizard__nav-btn--submit {
    margin-left: auto;
    background: var(--mf-dashboard-primary);
    color: #fff;
    box-shadow: 0 6px 16px var(--mf-dashboard-primary-shadow);
}

.mf-val-wizard__nav-btn--next:hover,
.mf-val-wizard__nav-btn--submit:hover {
    background: var(--mf-dashboard-primary-hover);
}

.mf-val-wizard__nav-btn--submit:disabled {
    opacity: 0.65;
    cursor: wait;
}

.mf-val-wizard__nav-error {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: #b91c1c;
}

/* Lade-Overlay */
.mf-val-loading {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(248, 250, 252, 0.92);
    backdrop-filter: blur(4px);
}

.mf-val-loading__card {
    max-width: 420px;
    padding: 2.25rem 2rem;
    text-align: center;
}

.mf-val-loading__spinner {
    display: inline-block;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 4px solid var(--mf-dashboard-ui-15);
    border-top-color: var(--mf-dashboard-primary);
    animation: mf-val-spin 800ms linear infinite;
    margin-bottom: 1.25rem;
}

@keyframes mf-val-spin {
    to { transform: rotate(360deg); }
}

.mf-val-loading__title {
    margin: 0 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-val-loading__text {
    margin: 0;
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.55;
}

/* --- Liste --- */
.mf-val-list {
    display: grid;
    gap: 0.65rem;
}

.mf-val-list__item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    text-decoration: none;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}

.mf-val-list__item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    text-decoration: none;
}

.mf-val-list__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #eef2f6;
    flex-shrink: 0;
}

.mf-val-list__icon img {
    max-width: 32px;
    max-height: 32px;
    object-fit: contain;
}

.mf-val-list__main {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1;
}

.mf-val-list__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-val-list__meta {
    font-size: 0.8rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mf-val-list__dot {
    margin: 0 0.25rem;
}

.mf-val-list__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    flex-shrink: 0;
}

.mf-val-list__price-value {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--mf-dashboard-ui-ink);
}

.mf-val-list__price-range {
    font-size: 0.75rem;
    color: #94a3b8;
}

.mf-val-list__chevron {
    color: #cbd5e1;
    flex-shrink: 0;
}

.mf-val-pagination {
    margin-top: 1.25rem;
}

/* Empty State */
.mf-val-empty {
    max-width: 460px;
    margin: 3rem auto;
    text-align: center;
}

.mf-val-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: var(--mf-dashboard-ui-10);
    color: var(--mf-dashboard-ui-ink);
    margin-bottom: 1.25rem;
}

.mf-val-empty__title {
    margin: 0 0 0.6rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-val-empty__text {
    margin: 0 0 1.5rem;
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
}

/* --- Ergebnis --- */
.mf-val-result {
    display: grid;
    gap: 1rem;
}

.mf-val-result__hero {
    padding: 2.75rem 2rem 2.25rem;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 18px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    text-align: center;
}

.mf-val-result__hero-eyebrow {
    margin: 0 0 0.85rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #94a3b8;
}

.mf-val-result__price {
    margin: 0;
    font-size: clamp(2.4rem, 6vw, 3.4rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: #0d2c48;
}

.mf-val-result__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    margin-top: 0.85rem;
}

.mf-val-result__sqm {
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
}

.mf-val-result__meta-dot {
    color: #cbd5e1;
}

.mf-val-result__confidence {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.65rem;
    border-radius: 9999px;
    font-size: 0.72rem;
    font-weight: 700;
    background: #f1f5f9;
    color: #475569;
}

.mf-val-result__confidence::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.7;
}

.mf-val-result__confidence--hoch {
    background: #ecfdf5;
    color: #047857;
}

.mf-val-result__confidence--niedrig {
    background: #fff7ed;
    color: #c2410c;
}

.mf-val-result__range {
    max-width: 480px;
    margin: 2.25rem auto 0;
}

.mf-val-result__range-track {
    position: relative;
    height: 6px;
    border-radius: 9999px;
    background: #eef2f6;
}

.mf-val-result__range-fill {
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: linear-gradient(90deg, var(--mf-dashboard-ui-12), var(--mf-dashboard-ui-28), var(--mf-dashboard-ui-12));
}

.mf-val-result__range-marker {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--mf-dashboard-primary);
    border: 3px solid #fff;
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.25);
}

.mf-val-result__range-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 0.75rem;
}

.mf-val-result__range-label {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: #334155;
    text-align: left;
}

.mf-val-result__range-label--max {
    text-align: right;
}

.mf-val-result__range-caption {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.mf-val-result__summary {
    max-width: 560px;
    margin: 1.75rem auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid #f1f5f9;
    font-size: 0.92rem;
    line-height: 1.65;
    color: #475569;
}

.mf-val-result__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.mf-val-result__card {
    padding: 1.5rem 1.6rem;
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
}

.mf-val-result__card--accent {
    border-color: var(--mf-dashboard-ui-25);
    background: var(--mf-dashboard-ui-06);
}

.mf-val-result__card-title {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.mf-val-result__factors {
    display: grid;
    gap: 1.25rem;
}

.mf-val-result__factors-head {
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.mf-val-result__factors-head--plus {
    color: #15803d;
}

.mf-val-result__factors-head--minus {
    color: #b45309;
}

.mf-val-result__factor-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
}

.mf-val-result__factor-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #334155;
    line-height: 1.45;
}

.mf-val-result__factor-list li svg {
    flex-shrink: 0;
    margin-top: 0.18rem;
    color: #16a34a;
}

.mf-val-result__factor-list--minus li svg {
    color: #d97706;
}

.mf-val-result__facts {
    margin: 0;
    display: grid;
    gap: 0.55rem;
}

.mf-val-result__fact {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid #f1f5f9;
}

.mf-val-result__fact:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mf-val-result__fact dt {
    font-size: 0.82rem;
    color: #64748b;
    flex-shrink: 0;
}

.mf-val-result__fact dd {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f172a;
    text-align: right;
}

.mf-val-result__text {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.65;
    color: #334155;
}

.mf-val-result__disclaimer {
    margin: 0.25rem 0 0;
    font-size: 0.78rem;
    color: #94a3b8;
    text-align: center;
}

.mf-val-result__footer-actions {
    display: flex;
    justify-content: center;
    margin-top: 0.25rem;
}

.mf-val-result__delete {
    color: #b91c1c;
}

/* Responsive */
@media (max-width: 720px) {
    .mf-val-tiles--3,
    .mf-val-tiles--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mf-val-step__heading {
        font-size: 1.2rem;
    }

    .mf-val-result__grid {
        grid-template-columns: 1fr;
    }

    .mf-val-list__price-range {
        display: none;
    }
}

@media (max-width: 420px) {
    .mf-val-tiles--2 {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   Mobile Optimierung – Header, Footer & Landingpages
   ============================================================ */

body.mf-nav-open {
    overflow: hidden;
}

/* —— Header: kompakt + Off-Canvas-Navigation (< 1024px) —— */
.mf-header__menu-toggle,
.mf-header__mobile-phone,
.mf-header__nav-backdrop,
.mf-header__drawer-head {
    display: none;
}

@media (max-width: 1023px) {
    .mf-header {
        position: sticky;
        top: 0;
        z-index: 120;
    }

    .mf-header__top {
        display: none;
    }

    .mf-header__mid {
        padding: 0.65rem 0.85rem;
        border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    }

    .mf-header__mid-grid {
        display: grid;
        grid-template-columns: 2.5rem 1fr 2.75rem;
        align-items: center;
        gap: 0.35rem 0.5rem;
    }

    .mf-header__mid-grid > .mf-social,
    .mf-header__mid-grid > .mf-platform-badges {
        display: none;
    }

    .mf-header__mobile-phone {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 9999px;
        border: 1px solid rgba(10, 37, 64, 0.12);
        background: #fff;
        color: var(--mf-turquoise);
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .mf-header__mobile-phone svg {
        width: 1.1rem;
        height: 1.1rem;
    }

    .mf-logo-wrap {
        grid-column: 2;
        justify-self: center;
    }

    .mf-logo img {
        max-height: 40px;
        max-width: min(100%, 220px);
    }

    .mf-header__menu-toggle {
        grid-column: 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(10, 37, 64, 0.12);
        border-radius: 0.65rem;
        background: #fff;
        color: var(--mf-navy);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        -webkit-appearance: none;
        appearance: none;
    }

    .mf-header__menu-toggle:focus {
        outline: none;
    }

    .mf-header__menu-toggle:focus-visible {
        outline: 2px solid var(--mf-turquoise);
        outline-offset: 2px;
    }

    .mf-header__menu-toggle-bars {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.28rem;
        width: 1.15rem;
    }

    .mf-header__menu-toggle-bar {
        display: block;
        height: 2px;
        width: 100%;
        border-radius: 9999px;
        background: currentColor;
        transition: transform 0.22s ease, opacity 0.22s ease;
    }

    .mf-header.is-nav-open .mf-header__menu-toggle-bar:nth-child(1) {
        transform: translateY(0.42rem) rotate(45deg);
    }

    .mf-header.is-nav-open .mf-header__menu-toggle-bar:nth-child(2) {
        opacity: 0;
    }

    .mf-header.is-nav-open .mf-header__menu-toggle-bar:nth-child(3) {
        transform: translateY(-0.42rem) rotate(-45deg);
    }

    .mf-header__nav-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 130;
        border: 0;
        margin: 0;
        padding: 0;
        background: rgba(10, 37, 64, 0.45);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, visibility 0.25s ease;
        cursor: pointer;
    }

    .mf-header.is-nav-open .mf-header__nav-backdrop {
        opacity: 1;
        visibility: visible;
    }

    .mf-header__nav-row {
        position: fixed;
        top: 0;
        right: 0;
        left: auto;
        bottom: 0;
        z-index: 140;
        width: min(20rem, 88vw);
        max-width: 100%;
        border-top: 0;
        border-left: 1px solid rgba(10, 37, 64, 0.1);
        border-right: 0;
        box-shadow: -8px 0 32px rgba(10, 37, 64, 0.14);
        transform: translateX(105%);
        transition: transform 0.28s ease;
        overflow: hidden;
    }

    .mf-header.is-nav-open .mf-header__nav-row {
        transform: translateX(0);
    }

    .mf-header__nav-inner {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        height: 100%;
        padding: 1.15rem 0.85rem 1.5rem;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mf-header__drawer-head {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1.15rem;
        padding-bottom: 1.15rem;
        border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    }

    .mf-header__drawer-logo {
        display: inline-block;
        line-height: 0;
        text-decoration: none;
    }

    .mf-header__drawer-logo img {
        display: block;
        height: auto;
        max-height: 38px;
        width: auto;
        max-width: min(100%, 210px);
        object-fit: contain;
    }

    .mf-nav {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 0.45rem;
        width: 100%;
    }

    .mf-nav__link {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 0.8rem 1rem;
        border: 1px solid transparent;
        border-radius: 9999px;
        font-size: 13px;
        letter-spacing: 0.05em;
        text-align: left;
        transition:
            background 0.15s ease,
            border-color 0.15s ease,
            color 0.15s ease;
    }

    .mf-nav__link:not(.mf-nav__link--active):active {
        background: rgba(4, 172, 195, 0.08);
    }

    .mf-nav__link--active {
        display: flex;
        background: rgba(4, 172, 195, 0.1);
        border-color: rgba(4, 172, 195, 0.22);
    }

    .mf-nav__link--active .mf-steps__eyebrow {
        justify-content: flex-start;
        width: 100%;
        padding: 0;
        border-radius: 9999px;
        background: transparent;
        border: 0;
        box-shadow: none;
        font-size: 13px;
    }

    .mf-actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        margin-top: 1.25rem;
        padding-top: 1.25rem;
        border-top: 1px solid rgba(10, 37, 64, 0.1);
        gap: 0.75rem;
    }

    .mf-actions .hero-cta-btn,
    .mf-actions .mf-cta-secondary,
    .mf-actions .mf-header-btn {
        width: 100%;
        justify-content: center;
    }

    .mf-actions .hero-cta-inner {
        width: 100%;
        justify-content: center;
        border-radius: 9999px;
    }

    .mf-actions .mf-cta-secondary {
        width: 100%;
        justify-content: center;
        border-radius: 9999px;
    }

    .mf-cta-secondary {
        min-height: 2.85rem;
    }
}

/* —— Footer: Mobile —— */
@media (max-width: 639px) {
    .mf-footer__inner {
        padding-top: 2.5rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mf-footer__top {
        gap: 2rem;
    }

    .mf-footer__logo {
        height: 2.5rem;
    }

    .mf-footer__lead {
        font-size: 13px;
    }

    .mf-footer__block--dashed:last-child {
        display: none;
    }

    .mf-footer__cols {
        gap: 2rem;
    }

    .mf-footer__contact-link,
    .mf-footer__contact-text {
        font-size: 13px;
    }

    .mf-footer .hero-cta-btn--footer {
        width: 100%;
    }

    .mf-footer .hero-cta-btn--footer .hero-cta-inner {
        width: 100%;
        justify-content: center;
    }

    .mf-footer__payments {
        margin-top: 2rem;
        padding-top: 2rem;
    }

    .mf-footer__pay-grid {
        padding-bottom: 2.5rem;
    }

    .mf-footer__bar-inner {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mf-footer__legal-nav {
        gap: 0.45rem 0.65rem;
        font-size: 11px;
        line-height: 1.35;
        max-width: 20rem;
    }
}

/* —— Hero & CTAs (Start, Business) —— */
@media (max-width: 639px) {
    .mf-hero--premium {
        min-height: auto;
        padding: 1.75rem 1rem 2.5rem;
    }

    .mf-hero--premium .mf-hero__title-accent {
        font-size: clamp(1.65rem, 8vw, 2rem);
    }

    .mf-hero--premium .mf-hero__title-bold {
        font-size: clamp(1.15rem, 5.5vw, 1.45rem);
    }

    .mf-hero--premium .mf-hero__lead {
        font-size: 0.9375rem;
    }

    .mf-hero__layout--visual-mid .mf-hero__copy-body .mf-hero__lead {
        margin-top: 0;
    }

    .mf-hero__visual {
        margin-top: 1.75rem;
    }

    .mf-hero__layout--visual-mid .mf-hero__visual {
        margin-top: 1.15rem;
        margin-bottom: 1.35rem;
    }

    .mf-hero__ctas {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
    }

    .mf-hero__ctas .hero-cta-btn,
    .mf-hero__ctas .mf-hero__cta-secondary {
        width: 100%;
    }

    .mf-hero__ctas .hero-cta-inner,
    .mf-hero__ctas .mf-hero__cta-secondary {
        width: 100%;
        justify-content: center;
    }

    .mf-biz-page__hero-aside {
        margin-top: 1rem;
    }

    .mf-biz-page__platform-badges {
        transform: scale(0.88);
    }

    .mf-biz-page__band-grid {
        gap: 1rem 0.75rem;
    }

    .mf-biz-page__band-value {
        font-size: clamp(1.35rem, 6vw, 1.75rem);
    }

    .mf-biz-page__block {
        padding: 2.5rem 1rem 3rem;
    }
}

/* —— Pakete-Seite —— */
@media (max-width: 639px) {
    .mf-pakete-page .mf-pakete,
    .mf-pakete-page .mf-pk-feat,
    .mf-pakete-page .mf-price-compare {
        padding-top: 2.25rem;
        padding-bottom: 2.75rem;
    }

    .mf-pk-feat__stack-inner {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mf-pk-feat__matrix {
        min-width: 34rem;
    }

    .mf-pk-feat__cell {
        padding: 0.75rem 0.35rem;
        font-size: 0.8125rem;
    }

    .mf-pk-feat__plan-hint {
        font-size: 0.58rem;
    }

    .mf-pakete__grid {
        padding-top: 1.25rem;
        gap: 1.35rem;
    }
}

/* —— Ratgeber —— */
@media (max-width: 639px) {
    .mf-ratgeber-page .mf-ratgeber-hero {
        padding: 2rem 1rem 2.5rem;
    }

    .mf-ratgeber-hero__pattern {
        opacity: 0.35;
        width: min(72vw, 360px);
    }

    .mf-ratgeber-hero__title {
        font-size: clamp(1.45rem, 6.5vw, 1.85rem);
    }

    .mf-ratgeber-search {
        margin-top: 1.35rem;
    }

    .mf-ratgeber-list {
        padding: 2rem 1rem 3rem;
    }
}

/* —— FAQ —— */
@media (max-width: 639px) {
    .mf-page-faq #main {
        background-size: min(9rem, 42vw);
        background-position: center 0.75rem;
    }

    .mf-page-faq .mf-pakete.mf-faq-page-hero,
    .mf-page-faq .mf-faq.mf-faq--page {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mf-faq-toolbar {
        padding: 0.85rem 0.85rem 0.95rem;
    }

    .mf-faq-toolbar__cats {
        gap: 0.4rem;
    }

    .mf-faq-cat {
        font-size: 0.6875rem;
        padding: 0.4rem 0.75rem;
    }

    .mf-faq__summary {
        padding: 0.95rem 0.85rem;
        font-size: 0.9375rem;
    }
}

/* —— Kontakt —— */
@media (max-width: 639px) {
    .mf-kontakt-page .mf-kontakt-page-hero.mf-pakete,
    .mf-kontakt-page .mf-kontakt-landing--page {
        padding-top: 2rem;
        padding-bottom: 2.5rem;
    }

    .mf-kontakt-landing__stack-inner {
        padding: 1.15rem 1rem 1.35rem;
    }

    #mf-kontakt-page-heading,
    #mf-kontakt-landing-heading {
        scroll-margin-top: 4.5rem;
    }
}

/* —— Gemeinsame Sektionen (Start + Unterseiten) —— */
@media (max-width: 639px) {
    .mf-usp-slider,
    .mf-steps,
    .mf-price-compare,
    .mf-pakete,
    .mf-business,
    .mf-faq {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .mf-price-compare {
        padding-top: 2.5rem;
        padding-bottom: 3rem;
    }

    .mf-price-compare__stack-inner {
        padding: 1.15rem 1rem 1.25rem;
    }

    /* Verkauf/Vermietung-Switcher: horizontale Pill, volle Breite, große Touch-Fläche */
    .mf-price-compare__toggle,
    .mf-pakete__toggle {
        width: 100%;
        max-width: none;
        margin-top: 1.35rem;
        padding: 3px;
    }

    .mf-price-compare__toggle-btn,
    .mf-pakete__toggle-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        padding: 0.65rem 0.5rem;
        font-size: 0.875rem;
        line-height: 1.2;
        white-space: nowrap;
        text-align: center;
    }

    .mf-steps__grid {
        gap: 1.15rem;
    }

    .mf-pakete__title {
        font-size: clamp(1.35rem, 5.5vw, 1.65rem);
    }
}

@media (max-width: 399px) {
    .mf-header__mid-grid {
        grid-template-columns: 2.25rem 1fr 2.5rem;
    }

    .mf-header__mobile-phone {
        width: 2.25rem;
        height: 2.25rem;
    }

    .mf-header__menu-toggle {
        width: 2.5rem;
        height: 2.5rem;
    }

    .mf-logo img {
        max-height: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mf-header__nav-row,
    .mf-header__nav-backdrop,
    .mf-header__menu-toggle-bar {
        transition: none;
    }
}

/* Immobilien · Öffentliche Übersicht & Detail */
.mf-immob-page {
    background: var(--mf-white);
}

.mf-immob__shell {
    width: min(100% - 2rem, 72rem);
    margin-inline: auto;
    padding: 1.5rem 0 4rem;
}

.mf-immob__crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1.25rem;
    font-size: 0.8125rem;
    color: #64748b;
}

.mf-immob__crumbs a {
    color: inherit;
    text-decoration: none;
}

.mf-immob__crumbs a:hover {
    color: var(--mf-navy);
}

.mf-immob__hero {
    margin-bottom: 1.75rem;
}

.mf-immob__title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.75rem, 3vw, 2.375rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--mf-navy);
}

.mf-immob__lead {
    margin: 0;
    font-size: 1.0625rem;
    color: #475569;
}

.mf-immob-filters {
    margin-bottom: 1.5rem;
}

.mf-immob-filters__bar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
    gap: 0.75rem;
    align-items: end;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.mf-immob-filters__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.mf-immob-filters__label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.mf-immob-filters__input,
.mf-immob-filters__select {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.625rem;
    background: #fff;
    color: var(--mf-navy);
    font: inherit;
}

.mf-immob-filters__input:focus,
.mf-immob-filters__select:focus {
    outline: 2px solid rgb(4 172 195 / 0.35);
    border-color: var(--mf-turquoise);
}

.mf-immob-filters__actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.mf-immob-filters__submit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0 1.1rem;
    border: 0;
    border-radius: 0.625rem;
    background: var(--mf-navy);
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.mf-immob-filters__submit svg {
    width: 1.1rem;
    height: 1.1rem;
}

.mf-immob-filters__submit:hover {
    background: #082a4f;
}

.mf-immob-filters__reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.625rem;
    color: var(--mf-navy);
    text-decoration: none;
}

.mf-immob-filters__reset svg {
    width: 1.1rem;
    height: 1.1rem;
}

.mf-immob-filters__advanced {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 0.75rem;
}

.mf-immob-filters__advanced-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-navy);
    cursor: pointer;
    list-style: none;
}

.mf-immob-filters__advanced-toggle::-webkit-details-marker {
    display: none;
}

.mf-immob-filters__advanced-toggle svg {
    width: 1rem;
    height: 1rem;
}

.mf-immob-filters__advanced-panel {
    width: min(100%, 16rem);
    margin-top: 0.75rem;
}

.mf-immob-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.mf-immob-toolbar__count {
    margin: 0;
    font-size: 0.9375rem;
    color: #475569;
}

.mf-immob-toolbar__count strong {
    color: var(--mf-navy);
}

.mf-immob-toolbar__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.mf-immob-toolbar__sort-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mf-immob-toolbar__sort {
    min-height: 2.5rem;
    padding: 0.45rem 2rem 0.45rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.625rem;
    background: #fff;
    font: inherit;
    color: var(--mf-navy);
}

.mf-immob-toolbar__view {
    display: inline-flex;
    border: 1px solid #cbd5e1;
    border-radius: 0.625rem;
    overflow: hidden;
}

.mf-immob-toolbar__view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.mf-immob-toolbar__view-btn svg {
    width: 1.15rem;
    height: 1.15rem;
}

.mf-immob-toolbar__view-btn.is-active {
    background: rgb(4 172 195 / 0.12);
    color: var(--mf-teal-deep);
}

.mf-immob-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mf-immob-grid--list {
    grid-template-columns: 1fr;
}

.mf-immob-grid__item {
    min-width: 0;
}

.mf-immob-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.mf-immob-card--list {
    flex-direction: row;
}

.mf-immob-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: #f1f5f9;
    overflow: hidden;
}

.mf-immob-card--list .mf-immob-card__media {
    flex: 0 0 min(18rem, 42%);
    aspect-ratio: auto;
    min-height: 12rem;
}

.mf-immob-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mf-immob-card__media--empty {
    display: grid;
    place-items: center;
}

.mf-immob-card__media-fallback svg {
    width: 2.5rem;
    height: 2.5rem;
    color: #94a3b8;
}

.mf-immob-card__badges {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-width: calc(100% - 1.5rem);
}

.mf-immob-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.mf-immob-badge--buy {
    background: var(--mf-navy);
    color: #fff;
}

.mf-immob-badge--rent {
    background: var(--mf-teal-deep);
    color: #fff;
}

.mf-immob-badge--free {
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 55%, var(--mf-teal-deep) 100%);
    color: #fff;
}

.mf-immob-badge--new {
    background: var(--mf-accent-orange);
    color: #fff;
}

.mf-immob-card__photos {
    position: absolute;
    left: 0.75rem;
    bottom: 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: rgb(15 23 42 / 0.72);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
}

.mf-immob-card__photos svg {
    width: 0.9rem;
    height: 0.9rem;
}

.mf-immob-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 1rem 1rem 1.1rem;
    flex: 1;
}

.mf-immob-card__location {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.mf-immob-card__location svg {
    width: 0.95rem;
    height: 0.95rem;
    flex-shrink: 0;
}

.mf-immob-card__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.35;
}

.mf-immob-card__title a {
    color: var(--mf-navy);
    text-decoration: none;
}

.mf-immob-card__title a:hover {
    color: var(--mf-teal-deep);
}

.mf-immob-card__specs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.8125rem;
    color: #475569;
}

.mf-immob-card__specs li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.mf-immob-card__specs svg {
    width: 0.95rem;
    height: 0.95rem;
}

.mf-immob-card__foot {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.35rem;
}

.mf-immob-card__price-main {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-immob-card__price-main--muted {
    font-size: 1rem;
}

.mf-immob-card__price-hint {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
}

.mf-immob-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-teal-deep);
    text-decoration: none;
    white-space: nowrap;
}

.mf-immob-card__cta svg {
    width: 1rem;
    height: 1rem;
}

.mf-immob-empty {
    padding: 3rem 1.5rem;
    border: 1px dashed #cbd5e1;
    border-radius: 1rem;
    text-align: center;
    background: #f8fafc;
}

.mf-immob-empty__title {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    color: var(--mf-navy);
}

.mf-immob-empty__text {
    margin: 0;
    color: #64748b;
}

.mf-immob-empty__link {
    display: inline-block;
    margin-top: 1rem;
    color: var(--mf-teal-deep);
    font-weight: 600;
}

.mf-immob-pagination {
    margin-top: 2rem;
}

.mf-immob-pagination__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mf-immob-pagination__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0 0.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    color: var(--mf-navy);
    text-decoration: none;
    font-size: 0.875rem;
}

.mf-immob-pagination__link.is-active {
    background: var(--mf-navy);
    border-color: var(--mf-navy);
    color: #fff;
}

.mf-immob-pagination__link--disabled {
    opacity: 0.45;
}

.mf-expose__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: 2rem;
    align-items: start;
}

.mf-immob-detail-page .mf-expose {
    background: #fafaf8;
    padding-bottom: 3rem;
}

.mf-immob-detail-page .mf-expose__main,
.mf-immob-detail-page .mf-expose-sidebar__card {
    background: #fff;
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 1rem;
    box-shadow: 0 1px 2px rgb(13 44 72 / 0.04);
}

.mf-immob-detail-page .mf-expose__main {
    padding: 1.25rem;
}

@media (min-width: 900px) {
    .mf-immob-detail-page .mf-expose__main {
        padding: 1.5rem;
    }
}

.mf-expose__gallery-band {
    grid-column: 1 / -1;
    width: 100%;
}

.mf-expose__gallery-band .mf-expose-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 0.75rem;
    height: clamp(16rem, 32vw, 28rem);
}

.mf-expose__gallery-band .mf-expose-gallery__main,
.mf-expose__gallery-band .mf-expose-gallery__thumbs {
    height: 100%;
    min-height: 0;
}

.mf-expose__gallery-band .mf-expose-gallery__thumbs {
    grid-template-rows: 1fr 1fr;
}

.mf-expose__gallery-band .mf-expose-gallery__thumb {
    aspect-ratio: auto;
}

.mf-expose__gallery-band .mf-expose-gallery:not(:has(.mf-expose-gallery__thumbs)) {
    grid-template-columns: 1fr;
}

.mf-expose__gallery-band .mf-expose-gallery--empty,
.mf-expose__gallery-band .mf-expose-gallery__placeholder {
    height: clamp(16rem, 32vw, 28rem);
}

.mf-expose-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 0.75rem;
}

.mf-expose-gallery--empty,
.mf-expose-gallery__placeholder {
    grid-column: 1 / -1;
    min-height: 18rem;
    display: grid;
    place-items: center;
    border-radius: 1rem;
    background: #f1f5f9;
    color: #64748b;
}

.mf-expose-gallery__placeholder svg {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.5rem;
}

.mf-expose-gallery__main,
.mf-expose-gallery__thumb {
    display: block;
    padding: 0;
    border: 0;
    background: #f1f5f9;
    border-radius: 0.85rem;
    overflow: hidden;
    cursor: pointer;
}

.mf-expose-gallery__main {
    min-height: 22rem;
}

.mf-expose-gallery__main img,
.mf-expose-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mf-expose-gallery__thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.mf-expose-gallery__thumb {
    position: relative;
    aspect-ratio: 4 / 3;
}

.mf-expose-gallery__more {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgb(15 23 42 / 0.55);
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 700;
}

.mf-expose-lightbox {
    width: min(100vw - 2rem, 72rem);
    max-height: 90vh;
    padding: 0;
    border: 0;
    border-radius: 1rem;
    background: transparent;
}

.mf-expose-lightbox::backdrop {
    background: rgb(15 23 42 / 0.72);
}

.mf-expose-lightbox__inner {
    position: relative;
    padding: 2.5rem 3rem;
}

.mf-expose-lightbox__figure,
.mf-expose-lightbox__figure img {
    display: block;
    max-width: 100%;
    max-height: 75vh;
    margin: 0 auto;
}

.mf-expose-lightbox__close,
.mf-expose-lightbox__nav {
    position: absolute;
    border: 0;
    background: rgb(255 255 255 / 0.92);
    color: var(--mf-navy);
    cursor: pointer;
}

.mf-expose-lightbox__close {
    top: 0.5rem;
    right: 0.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    font-size: 1.5rem;
}

.mf-expose-lightbox__nav {
    top: 50%;
    transform: translateY(-50%);
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    font-size: 1.75rem;
}

.mf-expose-lightbox__nav--prev { left: 0; }
.mf-expose-lightbox__nav--next { right: 0; }

.mf-expose__head {
    margin-bottom: 2rem;
}

.mf-expose__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.85rem;
}

.mf-expose__title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.5rem, 2.5vw, 2.125rem);
    line-height: 1.2;
    color: var(--mf-navy);
}

.mf-expose__location {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.85rem;
    color: #64748b;
}

.mf-expose__location svg {
    width: 1rem;
    height: 1rem;
}

.mf-expose__price {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-expose__price-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
}

.mf-expose__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mf-expose__stats li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 1rem 0.75rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 0.75rem;
    background: #fff;
    text-align: center;
}

.mf-expose__stat-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.625rem;
    background: rgba(4, 172, 195, 0.1);
    color: var(--mf-turquoise);
}

.mf-expose__stat-icon {
    font-family: 'Material Symbols Outlined';
    font-size: 1.35rem;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: block;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}

.mf-expose__stat-val {
    display: block;
    margin-top: 0.15rem;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-expose__stat-label {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: #64748b;
}

.mf-expose__section {
    margin-bottom: 2rem;
    padding-top: 0.25rem;
}

.mf-expose__section-title {
    margin: 0 0 0.85rem;
    padding-bottom: 0.55rem;
    border-bottom: 2px solid rgb(4 172 195 / 0.22);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--mf-navy);
}

.mf-expose__text {
    color: #334155;
    line-height: 1.7;
}

.mf-expose__text--after-checks {
    margin-top: 1rem;
}

.mf-expose__amenities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 720px) {
    .mf-expose__amenities {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    .mf-expose__amenities {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.mf-expose__amenity {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 5.5rem;
    padding: 0.85rem 0.65rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 0.75rem;
    background: #fff;
    text-align: center;
}

.mf-expose__amenity-icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
}

.mf-expose__amenity-icon .mf-prop-wizard__amenity-img {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
}

.mf-expose__amenity-label {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--mf-navy);
}

.mf-expose__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 1.5rem;
    margin: 0;
}

.mf-expose__details div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #eef2f7;
    font-size: 0.875rem;
}

.mf-expose__details dt {
    margin: 0;
    color: #64748b;
    font-weight: 500;
}

.mf-expose__details dd {
    margin: 0;
    font-weight: 600;
    text-align: right;
    color: var(--mf-navy);
}

.mf-expose__details-row--highlight dd {
    color: var(--mf-teal-deep);
    font-weight: 700;
}

.mf-expose__details--compact {
    margin-top: 1rem;
}

.mf-expose-energy__scale {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 0.25rem;
    margin-bottom: 1rem;
}

.mf-expose-energy__step {
    display: grid;
    place-items: center;
    min-height: 2rem;
    border-radius: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    opacity: 0.55;
}

.mf-expose-energy__step.is-active {
    opacity: 1;
    outline: 2px solid var(--mf-navy);
    outline-offset: 2px;
}

.mf-expose-energy__step--aplus { background: #008054; }
.mf-expose-energy__step--a { background: #19a651; }
.mf-expose-energy__step--b { background: #8dc63f; }
.mf-expose-energy__step--c { background: #ffef00; color: #334155; }
.mf-expose-energy__step--d { background: #fdb913; color: #334155; }
.mf-expose-energy__step--e { background: #f37021; }
.mf-expose-energy__step--f { background: #ec6608; }
.mf-expose-energy__step--g { background: #e30613; }
.mf-expose-energy__step--h { background: #bd1622; }

.mf-expose__map {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 16rem;
    margin-bottom: 0.75rem;
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 1rem;
    overflow: hidden;
    background: var(--mf-surface);
}

.mf-expose__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.mf-expose__map--empty {
    display: grid;
    place-items: center;
    padding: 1.5rem;
    color: #64748b;
    text-align: center;
}

.mf-expose__map-link-wrap {
    margin: 0 0 1rem;
}

.mf-expose__map-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mf-teal-deep);
    text-decoration: none;
}

.mf-expose__map-link:hover {
    color: var(--mf-navy);
}

.mf-expose__map-link svg {
    width: 1rem;
    height: 1rem;
}

.mf-expose-sidebar {
    position: sticky;
    top: 1rem;
    display: grid;
    gap: 1rem;
}

.mf-expose-sidebar__card {
    border: 1px solid rgba(10, 37, 64, 0.08);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 8px 24px rgb(13 44 72 / 0.05);
    overflow: hidden;
}

.mf-expose-sidebar__card-head {
    padding: 1.1rem 1.15rem;
    background: #fff;
    border-bottom: 1px solid rgba(10, 37, 64, 0.08);
    color: var(--mf-navy);
}

.mf-expose-sidebar__card-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mf-navy);
}

.mf-expose-sidebar__card-lead {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

.mf-expose-sidebar__card-body {
    padding: 1rem 1.15rem 1.15rem;
}

.mf-expose-sidebar__form {
    gap: 0.85rem;
}

.mf-expose-sidebar__form .mf-kontakt-landing__submit {
    width: 100%;
}

.mf-expose-sidebar__tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.mf-expose-sidebar__tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.75rem;
    border: 1px solid rgba(10, 37, 64, 0.12);
    border-radius: 0.75rem;
    background: #fff;
    color: var(--mf-navy);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.mf-expose-sidebar__tool:hover,
.mf-expose-sidebar__tool:focus-visible {
    border-color: rgb(4 172 195 / 0.45);
    color: var(--mf-teal-deep);
    background: rgb(4 172 195 / 0.06);
}

.mf-expose-sidebar__tool svg {
    width: 1rem;
    height: 1rem;
}

@media (max-width: 1100px) {
    .mf-immob-filters__bar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mf-immob-filters__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .mf-immob-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mf-expose__layout {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        grid-template-columns: none;
    }

    .mf-immob-detail-page .mf-expose__main {
        display: contents;
    }

    .mf-expose__gallery-band {
        order: 1;
    }

    .mf-expose__head {
        order: 2;
        margin-bottom: 0;
        padding: 1.15rem;
        border: 1px solid rgba(10, 37, 64, 0.08);
        border-radius: 1rem;
        background: #fff;
        box-shadow: 0 1px 2px rgb(13 44 72 / 0.04);
    }

    .mf-expose-sidebar {
        order: 3;
        position: static;
    }

    .mf-expose__body {
        order: 4;
        padding: 1.15rem;
        border: 1px solid rgba(10, 37, 64, 0.08);
        border-radius: 1rem;
        background: #fff;
        box-shadow: 0 1px 2px rgb(13 44 72 / 0.04);
    }

    .mf-expose__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mf-expose__details {
        grid-template-columns: 1fr;
    }

    .mf-expose-mobile-cta {
        display: flex;
    }

    .mf-immob-detail-page .mf-expose {
        padding-bottom: 4.5rem;
    }
}

@media (max-width: 720px) {
    .mf-immob__shell {
        width: min(100% - 1rem, 72rem);
        padding: 0.75rem 0 2.5rem;
    }

    .mf-immob__crumbs {
        font-size: 0.75rem;
        gap: 0.35rem;
        margin-bottom: 1rem;
    }

    .mf-immob__hero {
        margin-bottom: 1.25rem;
    }

    .mf-immob__title {
        font-size: clamp(1.375rem, 6vw, 1.75rem);
    }

    .mf-immob__lead {
        font-size: 0.9375rem;
    }

    .mf-immob-filters {
        margin-bottom: 1.25rem;
    }

    .mf-immob-filters__bar {
        grid-template-columns: 1fr;
        gap: 0.65rem;
        padding: 0.85rem;
        border-radius: 0.85rem;
    }

    .mf-immob-filters__actions {
        width: 100%;
    }

    .mf-immob-filters__submit {
        flex: 1;
        justify-content: center;
        min-height: 2.85rem;
    }

    .mf-immob-filters__reset {
        flex-shrink: 0;
    }

    .mf-immob-filters__advanced {
        align-items: stretch;
        width: 100%;
    }

    .mf-immob-filters__advanced-panel {
        width: 100%;
    }

    .mf-immob-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .mf-immob-toolbar__controls {
        width: 100%;
        justify-content: space-between;
    }

    .mf-immob-toolbar__sort {
        flex: 1;
        min-width: 0;
        min-height: 2.75rem;
    }

    .mf-immob-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .mf-immob-card--list {
        flex-direction: column;
    }

    .mf-immob-card--list .mf-immob-card__media {
        flex-basis: auto;
        min-height: 0;
        width: 100%;
    }

    .mf-immob-card__body {
        padding: 0.9rem 0.95rem 1rem;
    }

    .mf-immob-card__foot {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
    }

    .mf-immob-card__cta {
        justify-content: center;
        min-height: 2.75rem;
        padding: 0.55rem 0.85rem;
        border: 1px solid rgba(4, 172, 195, 0.25);
        border-radius: 0.65rem;
        background: rgb(4 172 195 / 0.06);
    }

    .mf-immob-pagination__link {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .mf-immob-detail-page .mf-expose {
        padding-bottom: 4.5rem;
    }

    .mf-expose__head {
        padding: 1rem;
    }

    .mf-expose__body {
        padding: 1rem;
    }

    .mf-expose__title {
        font-size: clamp(1.25rem, 5.5vw, 1.625rem);
    }

    .mf-expose__price {
        font-size: clamp(1.35rem, 5vw, 1.75rem);
    }

    .mf-expose__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .mf-expose__stats li {
        padding: 0.75rem 0.5rem;
    }

    .mf-expose__stat-val {
        font-size: 1rem;
    }

    .mf-expose__section {
        margin-bottom: 1.5rem;
    }

    .mf-expose__section:last-child {
        margin-bottom: 0;
    }

    .mf-expose__details div {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    .mf-expose__details dd {
        text-align: left;
        word-break: break-word;
    }

    .mf-expose__amenities {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .mf-expose__amenity {
        min-height: 5rem;
        padding: 0.65rem 0.45rem;
    }

    .mf-expose__gallery-band .mf-expose-gallery {
        grid-template-columns: 1fr;
        height: auto;
        gap: 0.5rem;
    }

    .mf-expose__gallery-band .mf-expose-gallery__main {
        min-height: 12.5rem;
        max-height: 16rem;
        height: auto;
    }

    .mf-expose__gallery-band .mf-expose-gallery__thumbs {
        display: flex;
        height: auto;
        overflow-x: auto;
        gap: 0.5rem;
        padding-bottom: 0.15rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .mf-expose__gallery-band .mf-expose-gallery__thumb {
        flex: 0 0 42%;
        max-width: 9rem;
        aspect-ratio: 4 / 3;
        scroll-snap-align: start;
    }

    .mf-expose-energy__scale {
        display: flex;
        gap: 0.35rem;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        -webkit-overflow-scrolling: touch;
    }

    .mf-expose-energy__step {
        flex: 0 0 2.35rem;
        min-width: 2.35rem;
    }

    .mf-expose__map {
        min-height: 14rem;
        border-radius: 0.75rem;
    }

    .mf-expose-lightbox {
        width: 100vw;
        max-width: 100vw;
        max-height: 100vh;
        margin: 0;
        border-radius: 0;
    }

    .mf-expose-lightbox__inner {
        padding: 2.75rem 0.75rem 1rem;
    }

    .mf-expose-lightbox__nav {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.35rem;
    }

    .mf-expose-lightbox__close {
        top: 0.35rem;
        right: 0.35rem;
    }
}

.mf-expose-mobile-cta {
    display: none;
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: max(0.85rem, env(safe-area-inset-bottom));
    z-index: 40;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 3rem;
    padding: 0.65rem 1rem;
    border-radius: 9999px;
    background: linear-gradient(145deg, #26c2d8 0%, var(--mf-turquoise) 45%, var(--mf-teal-deep) 100%);
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 24px rgb(4 172 195 / 0.35);
}

.mf-expose-mobile-cta svg {
    width: 1rem;
    height: 1rem;
}

@media (max-width: 480px) {
    .mf-immob-badge {
        font-size: 0.625rem;
        padding: 0.15rem 0.45rem;
    }

    .mf-expose__badges {
        gap: 0.25rem;
    }
}

@media print {
    .mf-header,
    .mf-footer,
    .mf-expose-sidebar,
    .mf-immob__crumbs {
        display: none !important;
    }

    .mf-expose__layout {
        grid-template-columns: 1fr;
    }
}
