/* ==========================================================
   HEADER
========================================================== */

.header {
    position: sticky;
    top: 0;
    z-index: 1000;

    width: 100%;

    background: var(--color-background);

    border-bottom: 1px solid var(--color-border);

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

/* HEADER CONTAINER */

.header__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    min-height: 72px;
}

/* LOGO */

.header__logo {
    color: var(--color-text);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

/* NAVIGATION */

.header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-5);
}

.header__link {
    color: var(--color-text-light);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    transition: color 0.2s ease;
}

.header__link:hover {
    color: var(--color-primary);
}

/* HEADER BUTTON */

.header__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0.75rem 1.25rem;

    background: var(--color-primary);
    color: #ffffff;

    border-radius: 0.5rem;

    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    white-space: nowrap;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.header__button:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
}

/* TABLET */

@media (max-width: 768px) {

    .header__nav {
        gap: var(--space-3);
    }

}

/* MOBILE */

@media (max-width: 600px) {

    .header__container {
        min-height: 64px;
    }

    .header__nav {
        display: none;
    }

    .header__button {
        padding: 0.65rem 1rem;
    }

}