////
///
/// Font Typography Class Module
/// ===========================================================================
///
/// @group Font
/// @author Scape Agency
/// @link https://scape.style
/// @since 0.1.0 initial release
/// @todo None
/// @access public
///
////

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

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

// ============================================================================
// Mixins
// ============================================================================

// ============================================================================
// Deafult Font Utility Classes
// ============================================================================

.font--default {
    @include font--default;
}

.font--sans {
    @include font--sans;
}

.font--serif {
    @include font--serif;
}

.font--slab {
    @include font--slab;
}

.font--mono {
    @include font--mono;
}

// ============================================================================
// Utilities | Classnames
// ============================================================================

///
/// Utility classes for predefined font sizes.
///
/// These classes apply the corresponding font size and line height to elements
/// using the predefined font size mixins.
///
@each $key, $val in $font_size_map {
    .font--size_#{$key} {
        @include font--size_scale($val);
    }
}

// ============================================================================
// Utilities | Semantic Class Aliases
// ============================================================================

///
/// Utility classes for semantic font sizes.
///
/// These classes provide a more semantic naming convention for font sizes,
/// making it easier to understand and apply appropriate sizes in different
/// contexts.
///
.font--xs {
    @include font--size("02");
}
.font--sm {
    @include font--size("03");
}
.font--md {
    @include font--size("04");
}
.font--lg {
    @include font--size("05");
}
.font--xl {
    @include font--size("06");
}
