
.primary-button,
.secondary-button,
.button,
button {
    padding: 14px 30px 13px 30px;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 0;
    border: none;
    outline: none;
    white-space: nowrap;
}

.disabled,
*[disabled] {
    filter: grayscale(100%);
    cursor: not-allowed !important;
    pointer-events: none;
}

.primary-button {
    font-family: Fira Sans, sans-serif;
    font-weight: 700;
    background-color: var(--primary-color);
    color: var(--primary-text-color);
    box-shadow: 0 3px var(--light-primary-color);
    margin-bottom: 3px;
    border-radius: 4px;
}
.primary-button:hover:not(button[disabled]) {
    color: var(--primary-text-hover-color);
    /*border: 1px solid var(--primary-text-hover-color);*/
}
.primary-button:active:not(button[disabled]) {
    box-shadow: none;
    transform: translateY(3px);
}

.secondary-button {
    padding: 14px 30px 13px 30px;
    font-family: Fira Sans, sans-serif;
    font-weight: 700;
    background-color: var(--secondary-color);
    color: var(--secondary-text-color);
    box-shadow: 0 3px var(--light-secondary-color);
    margin-bottom: 3px;
    border-radius: 4px;
}
.secondary-button:hover:not(button[disabled]) {
    color: var(--secondary-text-hover-color);
    /*border: 1px solid var(--secondary-text-hover-color);*/
}
.secondary-button:active:not(button[disabled]) {
    box-shadow: none;
    transform: translateY(3px);
}

.tertiary-button {
    padding: 14px 30px;
    font-family: Fira Sans, sans-serif;
    font-weight: 700;
    background-color: white;
    color: var(--primary-text-color);
    border: 2px solid var(--primary-text-color);
    box-shadow: 0 3px rgba(0, 0, 0, 0.05);
    margin-bottom: 3px;
    cursor: pointer;
    transition: color 0.2s ease;
}

.tertiary-button:hover:not([disabled]) {
    background-color: white; /* explicitly keeps it white */
    color: var(--light-secondary-color);
    border-color: var(--primary-text-color); /* optional, keeps border same */
}

.tertiary-button:active:not([disabled]) {
    box-shadow: none;
    transform: translateY(3px);
}

.error-button {
    font-family: Fira Sans, sans-serif;
    font-weight: 700;
    background-color: var(--error-color);
    color: var(--error-text-color);
    box-shadow: 0 3px var(--hover-error-color);
    margin-bottom: 3px;
}
.error-button:hover:not(button[disabled]) {
    color: var(--hover-error-text-color);
    /*border: 1px solid var(--error-text-hover-color);*/
}
.error-button:active:not(button[disabled]) {
    box-shadow: none;
    transform: translateY(3px);
}

.link-button {
    cursor: pointer;
    text-decoration: none;
    height: fit-content;
    color: var(--secondary-color);
    text-decoration-color: var(--secondary-color);
    border-radius: 0;
    background-color: inherit;
    padding: 0.25rem;
    font-size: 17px;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    border-bottom: 1px solid #ffffff00;
}
.link-button:hover:not(disabled) {
    color: var(--primary-text-color);
    text-decoration-color: var(--primary-text-color);
    border-bottom: 1px solid var(--primary-text-color);
}


.rotate-0 {
    transform: rotate(0);
}
.rotate-90 {
    transform: rotate(270deg);
}
.rotate-180 {
    transform: rotate(180deg);
}
.rotate-270 {
    transform: rotate(90deg);
}
