/*
|--------------------------------------------------------------------------
| Content Hero
|--------------------------------------------------------------------------
*/

.content-hero {
    position: relative;

    width: 100%;

    overflow: hidden;

    border-radius: var(--radius-xl);
}

.content-hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
}


/*
|--------------------------------------------------------------------------
| Größen
|--------------------------------------------------------------------------
*/

.content-hero-size-small {
    padding: var(--spacing-6);
}

.content-hero-size-medium {
    padding: var(--spacing-8);
}

.content-hero-size-large {
    padding:
        var(--spacing-10)
        var(--spacing-8);
}


/*
|--------------------------------------------------------------------------
| Layout
|--------------------------------------------------------------------------
*/

.content-hero-layout-content .content-hero-inner {
    display: block;
}

.content-hero-layout-split .content-hero-inner {
    display: grid;

    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    align-items: center;

    gap: var(--spacing-8);
}

.content-hero-layout-background {
    min-height: 360px;
}

.content-hero-layout-background .content-hero-inner {
    display: flex;

    align-items: center;

    min-height: inherit;
}


/*
|--------------------------------------------------------------------------
| Ausrichtung
|--------------------------------------------------------------------------
*/

.content-hero-align-left {
    text-align: left;
}

.content-hero-align-center {
    text-align: center;
}

.content-hero-align-center .content-hero-content {
    margin-right: auto;
    margin-left: auto;
}

.content-hero-align-center .content-hero-actions {
    justify-content: center;
}


/*
|--------------------------------------------------------------------------
| Inhalt
|--------------------------------------------------------------------------
*/

.content-hero-content {
    max-width: 760px;
}

.content-hero-title {
    margin:
        0
        0
        var(--spacing-4);

    color: var(--text-primary);

    font-size: clamp(
        2rem,
        5vw,
        4rem
    );

    font-weight: var(--font-weight-bold);

    line-height: 1.1;
}

.content-hero-text {
    max-width: 700px;

    margin: 0;

    color: var(--text-secondary);

    font-size: var(--font-size-lg);

    line-height: 1.7;
}

.content-hero-align-center .content-hero-text {
    margin-right: auto;
    margin-left: auto;
}

.content-hero-actions {
    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: var(--spacing-3);

    margin-top: var(--spacing-6);
}


/*
|--------------------------------------------------------------------------
| Bild
|--------------------------------------------------------------------------
*/

.content-hero-image {
    min-width: 0;
}

.content-hero-image img {
    display: block;

    width: 100%;
    height: auto;

    border-radius: var(--radius-lg);

    object-fit: cover;
}


/*
|--------------------------------------------------------------------------
| Hintergrundbild
|--------------------------------------------------------------------------
*/

.content-hero-background {
    position: absolute;
    inset: 0;

    z-index: 0;

    background-image: var(--content-hero-background-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.content-hero-overlay-light::after,
.content-hero-overlay-dark::after {
    position: absolute;
    inset: 0;

    z-index: 1;

    content: "";
}

.content-hero-overlay-light::after {
    background: rgba(255, 255, 255, 0.72);
}

.content-hero-overlay-dark::after {
    background: rgba(0, 0, 0, 0.58);
}

.content-hero-overlay-dark .content-hero-title,
.content-hero-overlay-dark .content-hero-text {
    color: #ffffff;
}


/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width: 768px) {

    .content-hero-size-large,
    .content-hero-size-medium {
        padding: var(--spacing-6);
    }

    .content-hero-layout-split .content-hero-inner {
        grid-template-columns: minmax(0, 1fr);

        gap: var(--spacing-6);
    }

    .content-hero-layout-background {
        min-height: 300px;
    }

    .content-hero-title {
        font-size: clamp(
            1.8rem,
            8vw,
            2.8rem
        );
    }

    .content-hero-actions {
        align-items: stretch;

        flex-direction: column;
    }

}