.fp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: var(--fp-radius-md);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color var(--fp-transition),
        color var(--fp-transition),
        border-color var(--fp-transition),
        transform var(--fp-transition);
}

.fp-btn:hover {
    transform: translateY(-1px);
}

.fp-btn--lg {
    min-height: 46px;
    padding: 12px 22px;
    font-size: 14px;
}

.fp-btn--primary {
    background: var(--fp-color-primary);
    color: var(--fp-color-white);
    border-color: var(--fp-color-primary);
}

.fp-btn--primary:hover {
    background: var(--fp-color-primary-hover);
    color: var(--fp-color-white);
    border-color: var(--fp-color-primary-hover);
}

.fp-btn--ghost {
    background: rgba(255, 255, 255, 0.1);
    color: var(--fp-color-white);
    border-color: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px);
}

.fp-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.18);
    color: var(--fp-color-white);
    border-color: rgba(255, 255, 255, 0.45);
}

.fp-btn--outline {
    background: transparent;
    color: var(--fp-color-primary);
    border-color: rgba(16, 53, 43, 0.2);
}

.fp-btn--outline:hover {
    background: var(--fp-color-primary);
    color: var(--fp-color-white);
    border-color: var(--fp-color-primary);
}

.price ins bdi,
.price > .woocommerce-Price-amount bdi {
    color: var(--fp-color-accent) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
}
