////
///
/// Form Component Classes
/// ===========================================================================
///
/// CSS classes for form layouts and field grouping.
/// All functionality is defined in mixins - classes only include them.
///
/// @group Classes.BodyMolecules
/// @author Scape Agency
/// @link https://scape.style
/// @since 0.1.0 initial release
/// @access public
///
////

// ============================================================================
// Use
// ============================================================================

@use "../../../dev" as *;
@use "../../../mixins" as *;

// ============================================================================
// Form Layout Classes
// ============================================================================

/// Base form styles
.form {
    @include form--base;
}

/// Inline form (horizontal layout)
.form--inline {
    @include form--inline;
}

/// Horizontal form (labels on left)
.form--horizontal {
    @include form--horizontal;
}

// ============================================================================
// Form Field Classes
// ============================================================================

/// Form field wrapper
.form-field {
    @include form-field;
}

/// Inline form field
.form-field--inline {
    @include form-field--inline;
}

/// Required field indicator
.form-field--required {
    @include form-field--required;
}

// ============================================================================
// Form Label Classes
// ============================================================================

/// Form label
.label--base {
    @include label--base;
}

/// Small label
.label--base--sm {
    @include label--base--sm;
}

/// Large label
.label--base--lg {
    @include label--base--lg;
}

// ============================================================================
// Help Text & Validation Classes
// ============================================================================

/// Help text below field
.form-help {
    @include form-help;
}

/// Error message
.form-error {
    @include form-error;
}

/// Success message
.form-success {
    @include form-success;
}

// ============================================================================
// Form Actions Classes
// ============================================================================

/// Form actions (button group at bottom)
.form-actions {
    @include form-actions;
}

/// Right-aligned actions
.form-actions--right {
    @include form-actions--right;
}

/// Centered actions
.form-actions--center {
    @include form-actions--center;
}

/// Space between actions
.form-actions--between {
    @include form-actions--between;
}

// ============================================================================
// Fieldset Classes
// ============================================================================

/// Fieldset wrapper
.fieldset {
    @include fieldset;
}

/// Fieldset legend
.fieldset__legend {
    @include fieldset__legend;
}

// ============================================================================
// Form Row Classes
// ============================================================================

/// Form row (multiple fields inline)
.form-row {
    @include form-row;
}

/// Two-column row
.form-row--2 {
    @include form-row-columns(2);
}

/// Three-column row
.form-row--3 {
    @include form-row-columns(3);
}

/// Auto-fit row
.form-row--auto {
    @include form-row--auto;
}
