/**
- Hero banner css
**/
:root {
    --hero-background-image-default: url(/hero-background.png);
    --hero-background-image-left: url(/hero-background-left.png);
}

.banner-top {
    background-color: var(--theme-primary-invert);
    padding: 14px 23px;
    margin: 0;
}

    .banner-top h2 {
        font-family: var(--cmty-font-family);
        font-weight: 600;
        font-size: 18px;
        line-height: 28px;
        letter-spacing: 0px;
        vertical-align: middle;
        color: var(--theme-text);
        margin: 0;
    }

.hero-banner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    background: #eef0f2;
    padding-inline: 40px; /* Adds padding on both sides */
    overflow: hidden; /* Keeps images neatly inside */
}

/* Right image */
.hero-banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 40px; /* Matches the hero-banner padding */
    width: 16%;
    height: 100%;
    background-image: var(--hero-background-image-default);
    background-repeat: no-repeat;
    background-size: 80% auto;
    background-position: center right;
    z-index: 0;
}

/* Left image (just beside the right image) */
.hero-banner::after {
    content: '';
    position: absolute;
    top: 0;
    right: calc(16% + 40px); /* Places this image to the left of ::before */
    width: 16%;
    height: 100%;
    background-image: var(--hero-background-image-left);
    background-repeat: no-repeat;
    background-size: 80% auto;
    background-position: center left;
    z-index: 0;
}

/* Text content stays above */
.hero-content {
    position: relative;
    z-index: 1;
    padding-block: 3rem;
    width: 64%;
}
    .hero-content span {
        font-family: var(--cmty-font-family);
        font-weight: 400;
        font-size: 10px;
        line-height: 21px;
        letter-spacing: 3px;
        text-transform: uppercase;
    }

    .hero-content .title, .hero-content p, .hero-content span {
        color: var(--theme-text-invert);
    }

    .hero-content .title {
        font-size: 32px;
        /*    font-size: (0.5rem, 22.1053px + 1.64474vw, 32px);*/
        margin: 0 0 8px;
        line-height: 40px;
        font-style: normal;
        font-weight: 700;
    }

    .hero-content p {
        line-height: 22px;
    }

@media screen and (max-width: 1024px) {
    .hero-banner:before {
        /* width: calc(100% - 58%); */
    }

    .hero-content {
        width: 52%;
    }
}

@media screen and (max-width: 700px) {
    .hero-banner:before {
        /* width: calc(91% - 31%); */
    }

    .hero-content {
        width: 60%;
    }
}

@media screen and (max-width: 400px) {
    .hero-content {
        width: 100%;
    }
}

@media screen and (min-width: 1439.9px) {
    .hero-banner, .banner-top {
        padding-inline: 61px;
    }
}

@media screen and (min-width: 1088px) {
    .hero-banner, .banner-top {
        padding-inline: max(44px, 50% - 876px);
    }

        .hero-banner::before {
            display: block;
        }

    .hero-content {
        width: 56%;
        min-height: 243px;
        padding-block: 4rem;
        padding-inline-end: 4rem;
    }
}
