/* ==========================================
   HEADER
========================================== */

.header {
    height: var(--header-height);

    background: var(--component-1);

    border-bottom: 1px solid var(--separator);

    user-select: none;
}

.header-container {
    width: 100%;
    height: 100%;

    padding: 0 var(--space-header);

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header404-container {
    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;
}

/* ==========================================
   BRAND
========================================== */

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-logo {
    width: 35px;
    height: 35px;
}

.brand-name {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: 700;
}

/* ==========================================
   NAV
========================================== */

.header-nav {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.header-tab {
    position: relative;

    color: var(--text);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;

    transition: color .2s ease;
}

.header-tab.active {
    color: var(--accent);
}

.header-tab::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;

    width: 100%;
    height: 2px;

    background: var(--button-text);
    border-radius: 999px;

    transform: scaleX(0);
    transition: transform .2s ease;
}

.header-tab.active::after {
    background: var(--accent);
    transform: scaleX(1);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 75px;
}

.header-nav {
    display: flex;
    align-items: center;
    gap: 20px;
}