/* ==========================================================================
   CoreForm — Forms (Rounded, emerald focus)
   ========================================================================== */

.form-control {
    border-radius: var(--cf-radius-sm) !important;
    border: 1px solid var(--cf-border) !important;
    padding: 0.625rem 0.875rem !important;
    font-size: var(--cf-text-base) !important;
    color: var(--cf-text) !important;
    background: var(--cf-bg) !important;
    transition: border-color var(--cf-transition), box-shadow var(--cf-transition) !important;
}

.form-control:focus {
    border-color: var(--cf-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--cf-primary-rgb), 0.15) !important;
    outline: none !important;
}

.form-control::placeholder {
    color: var(--cf-text-light) !important;
}

.form-select {
    border-radius: var(--cf-radius-sm) !important;
    border: 1px solid var(--cf-border) !important;
    padding: 0.625rem 2.25rem 0.625rem 0.875rem !important;
    font-size: var(--cf-text-base) !important;
    color: var(--cf-text) !important;
}

.form-select:focus {
    border-color: var(--cf-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--cf-primary-rgb), 0.15) !important;
}

.form-label {
    font-weight: var(--cf-weight-medium) !important;
    font-size: var(--cf-text-sm) !important;
    color: var(--cf-text) !important;
    margin-bottom: var(--cf-space-2) !important;
}

.form-text {
    color: var(--cf-text-muted) !important;
    font-size: var(--cf-text-xs) !important;
}

/* Form wrappers with card look */
.blue-form,
.form-card {
    background: #fff !important;
    border: 1px solid var(--cf-border) !important;
    border-radius: var(--cf-radius-lg) !important;
    box-shadow: var(--cf-shadow-md) !important;
    padding: var(--cf-space-8) !important;
}

/* Override blue-form specific colors */
.blue-form .btn-primary {
    background: var(--cf-primary) !important;
    border-color: var(--cf-primary) !important;
}

.blue-form h2,
.blue-form h3 {
    color: var(--cf-text) !important;
}

/* Checkbox and Radio */
.form-check-input:checked {
    background-color: var(--cf-primary) !important;
    border-color: var(--cf-primary) !important;
}

.form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(var(--cf-primary-rgb), 0.15) !important;
    border-color: var(--cf-primary) !important;
}

/* Validation */
.is-valid {
    border-color: var(--cf-success) !important;
}

.is-invalid {
    border-color: var(--cf-danger) !important;
}

.invalid-feedback {
    color: var(--cf-danger) !important;
    font-size: var(--cf-text-xs) !important;
}
