.ahp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: var(--transition-normal);
    font-weight: 600;
    text-decoration: none;
}

.ahp-btn-primary {
    background: var(--brand-primary);
    color: var(--text-on-brand);
}

.ahp-btn-secondary {
    background: var(--brand-secondary);
    color: var(--text-primary);
}

.ahp-btn-outline {
    background: transparent;
    border: 1px solid var(--brand-primary);
    color: var(--brand-primary);
}

.ahp-btn-ghost {
    background: transparent;
    color: var(--brand-primary);
}

.ahp-btn-small {
    padding: .35rem .75rem;
    font-size: .8rem;
}

.ahp-btn-medium {
    padding: .5rem 1.1rem;
    font-size: .875rem;
}

.ahp-btn-large {
    padding: .7rem 1.5rem;
    font-size: 1rem;
}

.ahp-btn-full {
    width: 100%;
}

.ahp-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.ahp-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}
