/* =========================================
   HEADLINE WIDGETS
   RULE 019: Must be on container and element
   ========================================= */

/* Seller Central Headlines: klar, lesbar, dunkel */
.base-headline-h1 {
    font-size: clamp(1.125rem, 3vw + 0.5rem, var(--font-size-4xl));
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
    max-width: 100%;
    color: var(--color-headline);
}

.base-headline-h1-premium {
    font-size: clamp(1.375rem, 3.2vw + 0.65rem, calc(var(--font-size-4xl) * 1.1));
    font-weight: var(--font-weight-extrabold);
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--color-headline);
    margin-bottom: 1.25rem;
    text-wrap: balance;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern" 1, "liga" 1;
}

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

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

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

/* Chart-Section-Headline: kompakter als base-headline-h2; Container und h2 tragen dieselbe Klasse */
.base-chart-headline {
    font-size: calc(var(--font-size-2xl) * 0.5);
    font-weight: var(--font-weight-semibold, 600);
    line-height: var(--line-height-tight);
    letter-spacing: -0.02em;
    color: var(--color-headline);
    margin: 0 0 0.5rem 0;
    max-width: 100%;
}

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

/* Premium-Seitenkopf: typografisch, ohne Panel-Kasten */
.base-headline-page-header {
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid color-mix(in srgb, var(--color-border) 88%, var(--color-primary) 12%);
}

.base-headline-page-header-top {
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.base-headline-page-header-copy {
    max-width: 48rem;
}

.base-headline-page-header-copy::after,
.base-headline-h1-container::after,
.base-hero-content .base-headline-h1::after {
    content: "";
    display: block;
    width: 2.75rem;
    height: 3px;
    margin-top: 0.5rem;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        var(--color-primary) 0%,
        color-mix(in srgb, var(--color-primary) 35%, transparent) 100%
    );
}

.base-headline-h1-container::after {
    margin-left: auto;
    margin-right: auto;
}

.base-hero-content .base-headline-h1 {
    margin-bottom: 0;
}

.base-headline-page-header-eyebrow.base-badge {
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.75rem;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 999px;
    box-shadow: none;
}

.base-headline-page-header-top .base-headline-h1 {
    margin-bottom: 0;
}

.base-headline-page-header-top .base-headline-h1-premium {
    margin-bottom: 0;
    text-wrap: balance;
    line-height: 1.15;
}

.base-headline-page-header-intro.base-message-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.85rem;
    margin-bottom: 0;
    padding: 0.75rem 1.15rem 0.75rem 1rem;
    max-width: 52rem;
    background: color-mix(in srgb, var(--color-info) 5%, var(--color-surface) 95%);
    border-radius: 0;
    box-shadow: 0 1px 3px rgba(35, 47, 62, 0.08), 0 4px 12px rgba(35, 47, 62, 0.06);
}

.base-headline-page-header-intro.base-message-info::before {
    background: var(--color-info);
    border-radius: 0;
}

.base-headline-page-header-intro.base-message-info::after {
    display: block;
    content: "";
    position: static;
    top: auto;
    left: auto;
    right: auto;
    order: -1;
    flex-shrink: 0;
    width: 1.45rem;
    height: 1.45rem;
    transform: none;
    background: none;
    background-color: var(--color-info);
    border-radius: 0;
    box-shadow: none;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 5a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5Zm1.25 10h-2.5v-6h2.5v6Z'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 5a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5Zm1.25 10h-2.5v-6h2.5v6Z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.base-headline-page-header-intro .base-content-text {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: var(--font-size-base);
    line-height: 1.5;
    color: var(--color-text-muted);
    text-wrap: balance;
}

@media (min-width: 768px) {
    .base-headline-page-header-intro.base-message-info {
        gap: 0.85rem;
        padding: 0.85rem 1.35rem 0.85rem 1.15rem;
        border-radius: 0;
    }

    .base-headline-page-header-intro.base-message-info::before {
        border-radius: 0;
    }

    .base-headline-page-header-intro.base-message-info::after {
        width: 1.5rem;
        height: 1.5rem;
    }

    .base-headline-page-header-intro .base-content-text {
        font-size: calc(var(--font-size-base) * 1.02);
        line-height: 1.5;
    }
}

/* Premium-Sektions-Headline (H2) mit Brand-Akzent */
.base-headline-h2-section {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 12%, var(--color-border));
}

.base-headline-h2-section::before {
    content: "";
    width: 3px;
    flex-shrink: 0;
    border-radius: 999px;
    background: linear-gradient(
        180deg,
        var(--color-primary) 0%,
        color-mix(in srgb, var(--color-primary) 45%, transparent) 100%
    );
}

.base-headline-h2-section > .base-headline-h2 {
    margin-bottom: 0;
    font-size: clamp(1.125rem, 1.5vw + 0.75rem, var(--font-size-2xl));
    font-weight: var(--font-weight-extrabold);
    letter-spacing: -0.025em;
    line-height: 1.2;
    text-wrap: balance;
    color: var(--color-headline);
}

/* Auth-/Formular-Screens: zentrierter Premium-Kopf ohne Panel */
.base-headline-h1-container {
    padding: 0 0 1.25rem;
    margin-bottom: 1.75rem;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    border-bottom: 1px solid color-mix(in srgb, var(--color-border) 88%, var(--color-primary) 12%);
}

.base-headline-h1-container .base-headline-h1,
.base-headline-h1-container .base-headline-h1-premium {
    margin-bottom: 0;
    text-wrap: balance;
}

@media (min-width: 768px) {
    .base-headline-page-header {
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
    }

    .base-headline-page-header-copy::after,
    .base-headline-h1-container::after,
    .base-hero-content .base-headline-h1::after {
        width: 3.25rem;
        margin-top: 0.6rem;
    }
}