/* =========================================
   HEADLINE WIDGETS
   011-ui-html Regel 019: base-headline-h* nur auf h1–h6.
   Wrapper-Blocke: .base-headline-block (keine Typografie auf div).
   ========================================= */

.base-headline-block {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.base-headline-h1 {
    font-size: clamp(0.875rem, 3vw + 0.5rem, var(--font-size-2xl));
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.025em;
    margin-bottom: 1.25rem;
    max-width: 100%;
    color: var(--color-headline);
}

.base-headline-h2 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
    color: var(--color-headline);
}

.base-headline-h3 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    margin-bottom: 0.75rem;
    color: var(--color-headline);
}

.base-headline-h4 {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    margin-bottom: 0.5rem;
    color: var(--color-headline);
}

@media (min-width: 768px) {
    .base-headline-h1 {
        font-size: var(--font-size-3xl);
    }
}

/* API-Dokumentations-Screen (dunkles Panel; nur Screen /API) */
.base-headline-h1-api-doc {
    hyphens: none;
    word-break: normal;
    margin: 0 0 14px;
    color: var(--color-api-doc-headline-h1);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.4px;
}

.base-headline-h2-api-doc {
    hyphens: none;
    word-break: normal;
    margin: 0 0 14px;
    color: var(--color-api-doc-headline-h2);
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.25px;
}

.base-headline-h2-api-doc-endpoints {
    hyphens: none;
    word-break: normal;
    margin: 0 0 18px;
    color: var(--color-api-doc-headline-h2);
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.25px;
}

.base-headline-h3-api-doc {
    hyphens: none;
    word-break: normal;
    color: var(--color-api-doc-headline-h3);
    margin: 0 0 10px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.35;
}

.base-headline-h4-api-doc {
    hyphens: none;
    word-break: normal;
    color: var(--color-api-doc-headline-h4);
    margin: 18px 0 10px;
    font-size: 1.08rem;
    font-weight: 650;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .base-headline-h1-api-doc {
        font-size: 1.55rem;
    }

    .base-headline-h2-api-doc,
    .base-headline-h2-api-doc-endpoints {
        font-size: 1.3rem;
    }

    .base-headline-h2-api-doc-endpoints {
        font-size: 1.3rem;
    }

    .base-headline-h3-api-doc {
        font-size: 1.14rem;
    }

    .base-headline-h4-api-doc {
        font-size: 1rem;
    }
}

/*
 * Home-Screen: Ergebnis-H1, DPP-/Sidebar-H4, Debug-H2 (011-ui-css-headlines 002/003;
 * keine Headline-Typografie in screen-home/screen-home.css).
 */
.base-headline-h1-screen-home-results {
    hyphens: none;
    word-break: normal;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4px;
    line-height: 1.3;
    font-family: var(--font-family-primary);
    color: var(--color-home-results-headline-text);
}

.base-headline-h4-screen-home-dpp {
    hyphens: none;
    word-break: normal;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--color-home-dpp-headline-text);
}

.base-headline-h4-screen-home-filter-section {
    hyphens: none;
    word-break: normal;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    color: var(--color-home-filter-section-headline-text);
}

.base-headline-h2-screen-home-debug-week {
    hyphens: none;
    word-break: normal;
    margin: 0 0 8px;
    font-size: 14px;
    color: var(--color-home-debug-week-headline-text);
    letter-spacing: 0.02em;
    font-weight: 700;
    line-height: var(--line-height-tight);
}

@media (max-width: 780px) {
    .base-headline-h1-screen-home-results {
        font-size: 16px;
        margin-bottom: 10px;
    }
}