.igor-btn {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 28px;
    overflow: hidden;
    border-radius: var(--igor-radius-full);
    color: var(--igor-white);
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    border: 1px solid transparent;
    transition:
        transform var(--igor-transition),
        border-color var(--igor-transition),
        background var(--igor-transition),
        color var(--igor-transition),
        box-shadow var(--igor-transition);
}

.igor-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    transition: opacity var(--igor-transition);
}

.igor-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.16), transparent);
    transform: translateX(-120%);
    transition: transform 750ms ease;
}

.igor-btn:hover {
    transform: translateY(-2px);
}

.igor-btn:hover::after {
    transform: translateX(120%);
}

.igor-btn i {
    font-size: 15px;
}

.igor-btn--primary {
    background: var(--igor-gradient-red);
    box-shadow: var(--igor-shadow-red);
}

.igor-btn--primary::before {
    background: linear-gradient(135deg, var(--igor-red-2), var(--igor-red-3));
    opacity: 0;
}

.igor-btn--primary:hover::before {
    opacity: 1;
}

.igor-btn--secondary {
    border-color: var(--igor-border);
    background: rgba(255, 255, 255, 0.045);
    backdrop-filter: blur(14px);
}

.igor-btn--secondary:hover {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.09);
}

.igor-btn--outline {
    color: var(--igor-white);
    border-color: var(--igor-border-red);
    background: transparent;
}

.igor-btn--outline:hover {
    border-color: var(--igor-red-2);
    background: rgba(196, 27, 27, 0.12);
}

.igor-btn--whatsapp {
    background: linear-gradient(135deg, #0ca846, #1ed760);
    box-shadow: 0 22px 70px rgba(30, 215, 96, 0.2);
}

.igor-btn--full {
    width: 100%;
}

@media (max-width: 767px) {
    .igor-btn {
        width: 100%;
        min-height: 54px;
        padding: 0 22px;
        font-size: 14px;
    }
}