/* Gyde DesignSystem token entrypoint. Source: gyde-ui-design snapshot. */

/* Reference tokens */
@import './reference/colors.css';
@import './reference/spacing.css';
@import './reference/border.css';
@import './reference/elevation.css';
@import './reference/typography.css';

/* Semantic tokens */
@import './semantic/spacing.css';
@import './semantic/border.css';
@import './semantic/colors.css';
@import './semantic/elevation.css';
@import './semantic/typography.css';
@import './gyde-themes.css';

/* Native typography utilities used by Ds* components. */
body {
    font-family: var(--gyde-sys-typography-font-family);
}

.gyde-h1 { font-size: var(--gyde-sys-typography-heading-h1-size); line-height: var(--gyde-sys-typography-heading-h1-line-height); }
.gyde-h2 { font-size: var(--gyde-sys-typography-heading-h2-size); line-height: var(--gyde-sys-typography-heading-h2-line-height); }
.gyde-h3 { font-size: var(--gyde-sys-typography-heading-h3-size); line-height: var(--gyde-sys-typography-heading-h3-line-height); }
.gyde-h4 { font-size: var(--gyde-sys-typography-heading-h4-size); line-height: var(--gyde-sys-typography-heading-h4-line-height); }
.gyde-h5 { font-size: var(--gyde-sys-typography-heading-h5-size); line-height: var(--gyde-sys-typography-heading-h5-line-height); }
.gyde-h6 { font-size: var(--gyde-sys-typography-heading-h6-size); line-height: var(--gyde-sys-typography-heading-h6-line-height); }
.gyde-subtitle1 { font-size: var(--gyde-sys-typography-subtitle1-size); line-height: var(--gyde-sys-typography-subtitle1-line-height); }
.gyde-subtitle2 { font-size: var(--gyde-sys-typography-subtitle2-size); line-height: var(--gyde-sys-typography-subtitle2-line-height); }
.gyde-body1 { font-size: var(--gyde-sys-typography-body1-size); line-height: var(--gyde-sys-typography-body1-line-height); }
.gyde-body2 { font-size: var(--gyde-sys-typography-body2-size); line-height: var(--gyde-sys-typography-body2-line-height); }
.gyde-overline { font-size: var(--gyde-sys-typography-overline-size); line-height: var(--gyde-sys-typography-overline-line-height); }
.gyde-field-label { font-size: var(--gyde-sys-typography-field-label-size); line-height: var(--gyde-sys-typography-field-label-line-height); }

.gyde-h1,
.gyde-h2,
.gyde-h3,
.gyde-h4,
.gyde-h5,
.gyde-h6,
.gyde-subtitle1,
.gyde-subtitle2,
.gyde-body1,
.gyde-body2,
.gyde-overline,
.gyde-field-label {
    font-weight: var(--gyde-sys-typography-weight-regular);
    margin: 0;
}

.semibold { font-weight: var(--gyde-sys-typography-weight-semibold); }
.uppercase { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }