.button {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var( --radius-lg);
    padding: var(--spacing-s) var(--spacing-ms);
    width: max-content;
    gap: var(--spacing-s);
    font-weight: 600;
    font-size: 14px;
    line-height: 140%;
    transition: all 0.2s ease-in-out;
    text-transform: uppercase;
    font-family: 'Roboto Condensed', serif;
    user-select: none;
}

.button:disabled, .button.disabled {
    opacity: var(--opacity-30);
    cursor: not-allowed;
}

.button-group {
    display: flex;
    gap: var(--spacing-sm);
}
.button-group * {
    flex: 1;
}

.button .icon {
    width: 24px;
    height: 24px;
}

.button-primary {
    position: relative;
    border: 1px solid var(--button-primary-border);
    background: var(--button-primary-bg);
    color: var(--button-primary-color);
    overflow: hidden;
    isolation: isolate;
}
.button-primary::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--button-primary-hover-bg);
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    z-index: -1;
}
.button-primary:hover::before {
    opacity: 1;
}
.button-primary:hover .icon {
    /*border: none;*/
    color: var(--white-black-100);
    stroke: var(--white-black-100);
}

.button-secondary {
    border: 1px solid var(--button-secondary-border-color);
    background-color: var(--button-secondary-bg);
    color: var(--button-secondary-color);
    font-family: 'Roboto', serif;
    text-decoration: none;
}
.button-secondary .icon {
    color: var(--button-base-primary);
    transition: all 0.2s ease-in-out;
}
.button-secondary:hover {
    background-color: var(--button-secondary-hover-bg);
}
.button-secondary:hover .icon{
    color: var(--button-secondary-icon-hover-color);
}

.button-tertiary {
    border: none;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    color: var(--button-tertiary-color);
    background-color: var(--button-tertiary-bg);
}
.button-tertiary .icon {
    color: var(--button-tertiary-icon-color);
}
.button-tertiary:hover {
    background-color: var(--button-tertiary-hover-bg);
}

.button-tertiary-bordered {
    border: 1px solid var(--white-black-5);
    background-color: transparent;
    color: var(--button-tertiary-color);
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}
.button-tertiary-bordered .icon {
    color: var(--button-tertiary-icon-color);
}
.button-tertiary-bordered:hover {
    background-color: var(--button-tertiary-hover-bg);
}

.button-link {
    border: none;
    background-color: transparent;
    color: var(--white-black-50);
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}
.button-link .icon {
    color: var(--button-tertiary-icon-color);
    transition: all 0.2s ease-in-out;
}
.button-link:hover {
    text-decoration: underline;
    color: var(--white-black-100);
}
.button-link:hover .icon {
    color: var(--white-black-100);
}

.nav-button {
    position: relative;
    border: none;
}
.nav-button a {
    border-radius: var(--spacing-s);
    padding: var(--spacing-s) var(--spacing-ms);
    background-color: transparent;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    color: var(--white-black-70);
    height: max-content;
    gap: var(--spacing-sm);
}
.nav-button::before {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: transparent;
    transition: all 0.2s ease-in-out;
}
.nav-button:hover {
    background-color: var(--white-black-5);
}

.nav-button .icon {
    color: var(--white-black-30);
}
.nav-button.active .icon {
    color: var(--button-base-primary);
}
.nav-button.active::before {
    background-color: var(--button-base-primary);
}

.nav-icon-button {
    position: relative;
    border: none;
    border-radius: var(--spacing-s);
    padding: var(--spacing-s) var(--spacing-ms);
    background-color: transparent;
    transition: all 0.2s ease-in-out;
    gap: var(--spacing-sm);
}
.nav-icon-button:hover {
    background-color: var(--white-black-5);
}

.nav-icon-button .badge {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 5px;
    right: 8px;
    border-radius: 50%;
    width: var(--spacing-md);
    height: var(--spacing-md);
    background-color: rgba(255, 158, 41, 1);
    color: var(--white-black-100);
    font-family: 'Roboto Condensed', serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 140%;
    transition: all 0.2s ease-in-out;
}
.nav-icon-button:hover .badge {
    top: 0;
    right: 8px;
}

.nav-icon-button .icon {
    width: 24px;
    height: 24px;
    color: var(--button-base-primary);
}