.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.site-logo img {
    display: block;
    width: var(--brand-logo-width, 42px);
    max-width: 180px;
    height: min(var(--brand-logo-width, 42px), calc(var(--header-height, 76) * 1px - 10px));
    object-fit: contain;
    flex: 0 0 auto;
}

.site-logo span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-brand span,
.auth-logo {
    color: inherit;
    background: transparent;
}

.admin-brand img,
.auth-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.auth-logo {
    width: 58px;
    height: 58px;
}

.header-inner.logo-position-right .site-logo {
    order: 3;
}

.header-inner.logo-position-right nav {
    order: 1;
    margin-right: auto;
}

.header-inner.logo-position-right .menu-toggle {
    order: 4;
}

.header-inner.logo-position-center {
    position: relative;
}

.header-inner.logo-position-center .site-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.header-inner.logo-position-center nav {
    margin-left: auto;
}

@media (max-width: 520px) {
    .site-logo {
        gap: 7px;
        font-size: 17px;
    }

    .site-logo img {
        max-width: 80px;
        height: min(var(--brand-logo-width, 36px), calc(var(--header-height, 66) * 1px - 10px));
    }

    .header-inner.logo-position-center .site-logo {
        position: static;
        transform: none;
    }

    .header-inner.logo-position-right .site-logo {
        order: initial;
    }
}
