.component-banner-mineral-report {
    --banner-color: #aaa;

    --banner-body-padding: 36px 360px 36px 36px;
    --banner-decoration-display: block;

    --banner-title-font-size: 36px;
    --banner-title-line-height: 1;

    --banner-info-width: 640px;
    --banner-info-font-size: 24px;

    --banner-button-width: auto;
    --banner-button-height: 40px;

    --banner-shadow-color: transparent;

    @media (width <= 1180px) {
    }

    @media (width <= 920px) {
        --banner-body-padding: 36px 36px 36px 36px;
        --banner-decoration-display: none;
    }

    @media (width <= 576px) {
        --banner-body-padding: 24px;

        --banner-info-font-size: 20px;
        --banner-title-line-height: 1.325;
    }

    @media (width <= 440px) {
        --banner-body-padding: 16px;
        --banner-title-font-size: 24px;
        --banner-info-font-size: 18px;
    }

    &[data-nature="significant"] {
        --banner-color: #5E78F4;
        --pets-image: url("../../../images/webp/results/banner-mineral-report/nutritional-pets-1280-ip4kb_w.webp");
    }

    &[data-nature="toxic"] {
        --banner-color: #944670;
        --pets-image: url("../../../images/webp/results/banner-mineral-report/toxic-pets-1280-g3LJt8W.webp");
    }

    &:hover {
        --banner-shadow-color: rgba(from var(--banner-color) r g b / 0.25);
    }

    position: relative;
    width: 100%;
    border-radius: 16px;
    text-decoration: none;
    transition: all .2s linear;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    background-color: rgba(from var(--banner-color) r g b / 0.1);
    box-shadow:
        0 0 0 4px var(--banner-shadow-color),
        0 0 0 2px rgba(from var(--banner-color) r g b / 0.25)
    ;

    &:before {
        content: '';
        display: var(--banner-decoration-display);
        position: absolute;
        z-index: 1;
        inset: 0;
        border-radius: 16px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: right bottom;
        background-image: var(--pets-image);
    }

    .banner-body {
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: start;
        gap: 24px;
        padding: var(--banner-body-padding);

        .banner-title {
            display: flex;
            flex-direction: column;
            align-items: start;
            justify-content: start;
            font-size: var(--banner-title-font-size);
            line-height: var(--banner-title-line-height);
            font-weight: 600;
            color: #262624;
            font-family: 'IBM Plex Sans', sans-serif;

            em {
                display: contents;
                color: var(--banner-color);
            }
        }

        .banner-details {
            display: flex;
            flex-direction: column;
            align-items: start;
            justify-content: start;
            gap: 24px;
            padding-right: 360px;
        }

        .banner-info {
            max-width: var(--banner-info-width);
            font-size: var(--banner-info-font-size);
            line-height: 1.325;
            color: var(--color-btm-dark-blue);
        }

        .banner-button {
            position: relative;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: var(--banner-button-width);
            height: var(--banner-button-height);
            padding: 0 24px;
            border-radius: 48px;
            font-size: var(--banner-font-size-join-waitlist);
            line-height: 1;
            font-weight: 500;
            letter-spacing: 3px;
            text-transform: uppercase;
            font-family: 'Montserrat', sans-serif;
            color: #fff;
            background-color: var(--banner-color);
            box-shadow: 0 0 0 1px rgb(from var(--banner-text-color) r g b / 0.4);

            &:after {
                content: '';
                display: block;
                width: 16px;
                height: 16px;
                transition: all .2s linear;
                background-color: #fff;
                mask: url('/assets/svg/arrows/right-simple-Sgb4HTd.svg') no-repeat center center / contain;
            }
        }
    }
}
