/* ==========================================================================
   PORTAL AARCA - BUTTONS PREMIUM
   ========================================================================== */

.btn,
button.btn,
input[type="submit"].btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;

    min-height: 52px;
    padding: 14px 30px;

    border: none;
    border-radius: var(--radius-pill);

    background: var(--primary);
    color: var(--white);

    font-family: var(--font-main);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    line-height: 1;

    text-decoration: none;
    cursor: pointer;

    box-shadow: var(--shadow-sm);

    transition:
        background var(--transition-base),
        color var(--transition-base),
        transform var(--transition-base),
        box-shadow var(--transition-base);
}

.btn:hover,
button.btn:hover,
input[type="submit"].btn:hover {
    background: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.btn:active {
    transform: translateY(0);
    box-shadow: var(--shadow-xs);
}

.btn:focus-visible {
    outline: 3px solid rgba(46,125,50,.25);
    outline-offset: 3px;
}

/* ========================================================================== */

.btn-outline {
    background: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    box-shadow: none;
}

.btn-outline:hover {
    background: var(--primary);
    color: var(--white);
}

/* ========================================================================== */

.btn-light {
    background: var(--white);
    color: var(--primary);
}

.btn-light:hover {
    background: var(--surface-soft);
}

/* ========================================================================== */

.btn-secondary {
    background: var(--secondary);
    color: var(--heading);
}

.btn-secondary:hover {
    background: var(--secondary-dark);
    color: var(--white);
}

/* ========================================================================== */

.btn-sm {
    min-height: 42px;
    padding: 10px 18px;
    font-size: var(--font-size-sm);
}

.btn-lg {
    min-height: 60px;
    padding: 18px 38px;
    font-size: var(--font-size-md);
}

.btn-block {
    display: flex;
    width: 100%;
}

@media (max-width:640px){

    .btn,
    .btn-lg{
        width:100%;
    }

}