/**
 * FIX-Plattform – Wortmarke & X-Icon (interim bis Logotype-Designer)
 * Kein Maskottchen · FIX als Kern · X = erledigt / Schnittstelle
 */

.fx-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}

.fx-brand:hover {
    opacity: 0.92;
}

.fx-brand__icon {
    display: block;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
}

.fx-brand__icon--sm {
    width: 28px;
    height: 28px;
    border-radius: 50%;
}

.fx-brand__icon--lg {
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

/* ─── X-Logo Animation (Hub / Hero – nicht in enger Nav) ─── */
.fx-x-anim {
    display: inline-block;
    perspective: 320px;
    perspective-origin: 50% 50%;
}

.fx-x-anim__inner {
    display: block;
    transform-style: preserve-3d;
    animation: fx-x-spin-y 7s ease-in-out infinite;
    will-change: transform;
}

.fx-x-anim--slow .fx-x-anim__inner {
    animation-duration: 11s;
}

.fx-x-anim--hover-only .fx-x-anim__inner {
    animation: none;
}

.fx-x-anim--hover-only:hover .fx-x-anim__inner {
    animation: fx-x-spin-y 2.4s ease-in-out 1;
}

@keyframes fx-x-spin-y {
    0% {
        transform: rotateY(0deg);
    }
    40% {
        transform: rotateY(180deg);
    }
    50% {
        transform: rotateY(180deg);
    }
    90% {
        transform: rotateY(360deg);
    }
    100% {
        transform: rotateY(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .fx-x-anim__inner {
        animation: none !important;
    }
}

/* ─── Wortmarke (grau Name + farbiges -Fix, Serif) ─── */
.fx-wordmark {
    display: inline-flex;
    align-items: baseline;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.fx-wordmark__prefix {
    font-weight: 600;
    letter-spacing: 0;
    color: #333333;
}

.fx-wordmark__fix {
    font-weight: 700;
    letter-spacing: 0;
    position: relative;
}

.fx-wordmark__fix::after {
    content: none;
}

.fx-wordmark--master {
    font-size: 1.35rem;
    color: #333333;
}

.fx-wordmark--master .fx-wordmark__prefix {
    color: #333333;
}

.fx-wordmark--master .fx-wordmark__fix {
    color: #1F8A63;
}

.fx-wordmark--wohnen {
    font-size: 1.05rem;
    color: #333333;
}

.fx-wordmark--wohnen .fx-wordmark__prefix {
    color: #333333;
}

.fx-wordmark--wohnen .fx-wordmark__fix {
    color: #1F8A63;
}

.fx-wordmark--nk {
    font-size: 1.02rem;
    color: #333333;
}

.fx-wordmark--nk .fx-wordmark__prefix {
    color: #333333;
    font-size: 1em;
}

.fx-wordmark--nk .fx-wordmark__fix {
    color: #0b147a;
}

.fx-wordmark--portal {
    font-size: 0.95rem;
}

/* Hub-Navigation */
.hub-nav__logo.fx-brand .fx-wordmark--master {
    font-size: 1.2rem;
}

.hub-nav__logo.fx-brand .fx-brand__icon {
    width: 40px;
    height: 40px;
}

/* Produkt-Nav (Wohnen / NK) */
.nav-logo.fx-brand .fx-brand__icon,
.nav-logo .fx-brand__icon {
    width: 36px;
    height: 36px;
}

.nav-logo.fx-brand .fx-wordmark,
.nav-brand-text.fx-wordmark {
    font-size: 1rem;
}

/* Portal Sidebar & Header */
.wf-sidebar__brand .fx-brand {
    flex-direction: row;
    gap: 8px;
}

.wf-sidebar__brand .fx-wordmark--portal {
    font-size: 0.88rem;
    color: #fff;
}

.wf-sidebar__brand .fx-wordmark--portal .fx-wordmark__prefix {
    color: rgba(255, 255, 255, 0.88);
}

.wf-sidebar__brand .fx-wordmark--portal .fx-wordmark__fix {
    color: #fff;
}

.wf-sidebar__brand .fx-wordmark--portal .fx-wordmark__fix::after {
    background: #86efac;
    opacity: 0.5;
}

.portal-logo.fx-brand {
    gap: 8px;
}

.portal-logo.fx-brand .fx-wordmark {
    font-size: 0.92rem;
}

.wf-portal-brand-header__inner .fx-brand {
    gap: 14px;
}

.wf-portal-brand-header .fx-wordmark--wohnen {
    font-size: 1.5rem;
}

.wf-portal-brand-header .fx-brand__icon--lg {
    width: 48px;
    height: 48px;
}

/* Split-CTA auf Hub */
.hub-split-cta__brand.fx-wordmark {
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hub-split-cta__pane--wh .hub-split-cta__brand.fx-wordmark {
    color: #14532d;
}

.hub-split-cta__pane--nk .hub-split-cta__brand.fx-wordmark {
    color: #0b147a;
}

@media (max-width: 640px) {
    .fx-wordmark--nk .fx-wordmark__prefix {
        display: none;
    }

    .fx-wordmark--wohnen .fx-wordmark__prefix {
        font-size: 0.85em;
    }

    .hub-nav__logo.fx-brand .fx-wordmark--master {
        font-size: 1.05rem;
    }
}
