.image-cta--section {
    position: relative;
}

.with-image .image-cta--section {
    min-height: 400px;
}

.image-cta--image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.image-cta--image:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #293226;
    opacity: 0.6;
}

.image-cta--container {
    position: relative;
}

@media (max-width: 991px) {
    .with-image .image-cta--container {
        color: #fff;
    }

    .with-image .theme-button {
        border-color: #fff;
    }
}

.image-cta--title {
    position: relative;
    padding-bottom: 15px;
}

.image-cta--title a {
    color: inherit;
}

.image-cta--title a:after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3.375 14.625L14.625 3.375M14.625 3.375H6.1875M14.625 3.375V11.8125' stroke='%23C5A458' stroke-width='1.125' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    margin-left: 5px;
    margin-bottom: -3px;

}

.image-cta--title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 1px;
    background: var(--theme-gold);
}

.image-cta--title a {
    text-decoration: none;;
}

.image-cta--copy {
    margin-bottom: 30px;
}

.with-image .image-cta--copy {
    max-width: 250px;
}


@media (min-width: 992px) {
    .image-cta--image {
        /* Calculate width: right gap + 2/3 of container content (accounting for padding) */
        width: calc(
            /* Right gap when screen > container max-width */
            max(0px, (100vw - var(--theme-content-width)) / 2) + 
            /* 2/3 of container content area (container width minus padding) */
            (min(100vw, var(--theme-content-width)) - var(--theme-content-padding) * 2) * 2 / 3
        );
        right: 0;
        left: auto;
    }
    
    .image-cta--image:after {
        content: none;
    }

    .no-image .image-cta--container {
        display: flex;
        gap: 30px;
    }

    .image-cta--title {
        min-width: calc(33.333% - 15px);
        align-self: flex-start;
    }

}