/* Fonts CSS - Apple System Fonts */
/* Font variables are defined in colors.css to avoid duplication */

/* HTML smooth scrolling - laut ui-css.mdc Regel 032: nur in fonts.css erlaubt */
html {
    scroll-behavior: smooth;
}

/* Base Font Settings */
body, div, a, p, span, h1, h2, h3, h4, h5, h6, button, input, textarea, select {
    font-family: var(--font-family-primary);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-normal);
    letter-spacing: var(--letter-spacing-normal);
}

/* Headings */
/* laut ui-widget-headlines.mdc Regel 006: keine Bindestrich-Trennung */
h1, .widget-headline-h1 {
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-tight);
    hyphens: none;
    word-break: normal;
}

h2, .widget-headline-h2 {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-snug);
    letter-spacing: var(--letter-spacing-tight);
    hyphens: none;
    word-break: normal;
}

h3, .widget-headline-h3 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-snug);
    hyphens: none;
    word-break: normal;
}

h4, .widget-headline-h4 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-normal);
    hyphens: none;
    word-break: normal;
}

h5, .widget-headline-h5 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-normal);
    hyphens: none;
    word-break: normal;
}

h6, .widget-headline-h6 {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-normal);
    hyphens: none;
    word-break: normal;
}

/* Text Elements */
p, .widget-text {
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
}

.widget-text-small {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

.widget-text-large {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-relaxed);
}

.widget-text-description {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-relaxed);
    color: var(--color-text-secondary);
}

/* Buttons */
button, .widget-button-standard, .widget-button-delete {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    letter-spacing: var(--letter-spacing-wide);
}

/* Forms */
input, textarea, select {
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
}

/* Navigation */
.navigation-link {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

/* Tables */
.widget-div-table-cell {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

/* Tiles */
.widget-tile-label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

.widget-tile-number {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}