/* ==========================================================================
   CoreForm — Buttons (Pill-shaped, solid colors)
   ========================================================================== */

.btn {
    font-family: var(--cf-font-sans) !important;
    font-weight: var(--cf-weight-semibold) !important;
    border-radius: var(--cf-radius-full) !important;
    padding: 0.625rem 1.5rem !important;
    font-size: var(--cf-text-base) !important;
    transition: all var(--cf-transition) !important;
    border: 2px solid transparent !important;
    position: relative;
    overflow: hidden;
}

/* Kill legacy shimmer animation */
.btn::before {
    display: none !important;
}

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

.btn:active {
    transform: translateY(0);
}

/* Primary — Emerald solid */
.btn-primary {
    background: var(--cf-primary) !important;
    border-color: var(--cf-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--cf-primary-dark) !important;
    border-color: var(--cf-primary-dark) !important;
    box-shadow: var(--cf-shadow-md) !important;
}

/* Secondary — Slate solid */
.btn-secondary {
    background: var(--cf-secondary) !important;
    border-color: var(--cf-secondary) !important;
    color: #fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: var(--cf-secondary-light) !important;
    border-color: var(--cf-secondary-light) !important;
    box-shadow: var(--cf-shadow-md) !important;
}

/* Outline Primary */
.btn-outline-primary {
    background: transparent !important;
    border-color: var(--cf-primary) !important;
    color: var(--cf-primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--cf-primary) !important;
    color: #fff !important;
    box-shadow: var(--cf-shadow-md) !important;
}

/* Outline Secondary */
.btn-outline-secondary {
    background: transparent !important;
    border-color: var(--cf-secondary) !important;
    color: var(--cf-secondary) !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: var(--cf-secondary) !important;
    color: #fff !important;
}

/* Outline Light (for dark backgrounds) */
.btn-outline-light {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.8) !important;
    color: #fff !important;
}

.btn-outline-light:hover,
.btn-outline-light:focus {
    background: #fff !important;
    color: var(--cf-secondary) !important;
}

/* Warning/Accent — Amber */
.btn-warning {
    background: var(--cf-accent) !important;
    border-color: var(--cf-accent) !important;
    color: #fff !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background: var(--cf-accent-dark) !important;
    border-color: var(--cf-accent-dark) !important;
}

/* Danger */
.btn-danger {
    background: var(--cf-danger) !important;
    border-color: var(--cf-danger) !important;
    color: #fff !important;
}

/* Sizes */
.btn-sm {
    padding: 0.375rem 1rem !important;
    font-size: var(--cf-text-sm) !important;
}

.btn-lg {
    padding: 0.875rem 2rem !important;
    font-size: var(--cf-text-lg) !important;
}
