.top-banner {
    position: fixed;
    width: 100%;
    height: var(--top-banner-height);
    z-index: 500;
    opacity: 1;
    pointer-events: auto;

    &.sticky {
        position: fixed;
        left: 50%;
        height: var(--top-banner-height);
        z-index: 1000;
    }

    & .top-banner-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        height: var(--top-banner-height);
        grid-template-areas: "logo socials actions";
        align-items: center;
        z-index: 9999;
    }

    &::before {
        content: "";
        position: absolute;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.75));
        border: var(--border-thin) solid rgba(255, 255, 255, 0.6);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
        backdrop-filter: blur(30px) saturate(180%);
        pointer-events: none;
        z-index: 50;
        width: 100%;
        height: var(--top-banner-height);
    }

    & .top-banner-logo {
        grid-area: logo;
        display: inline-flex;
        align-items: center;
        gap: var(--space-xs);
        height: var(--top-banner-logo-size, 64px);
        z-index: 100;

        & img {
            width: var(--top-banner-logo-size, 64px);
            height: var(--top-banner-logo-size, 64px);
            transition: width var(--transition-base), height var(--transition-base);
        }
    }

    & .top-banner-actions {
        grid-area: actions;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: var(--space-sm);
        z-index: 100;
    }
}

html.js .top-banner {
    opacity: 0;
    pointer-events: none;
}
