/* Shared Ko-fi header link. Existing page typography and controllers stay local. */
.top-bar > .top-bar-kofi {
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    text-decoration: none;
    line-height: 1;
}

.top-bar > .top-bar-kofi img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.top-bar > .top-bar-kofi:hover {
    background: rgba(255, 246, 232, 0.94);
}

.top-bar > .top-bar-kofi:focus-visible {
    outline: 2px solid #97652e;
    outline-offset: 2px;
}

@media (max-width: 960px) {
    .top-bar {
        grid-template-columns: 44px minmax(0, 34rem);
        column-gap: 8px;
        justify-content: center;
    }

    .top-bar > .top-bar-brand {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .top-bar > .top-bar-kofi {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
    }

    .top-bar > .story-parts {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
    }

    .top-bar--compact-mobile > .top-bar-kofi,
    .top-bar--compact-mobile > .story-parts {
        grid-row: 1;
    }
}
