/*
    Block: Image + Text
    Note: Selectors must start with .block-image-text
*/

.block-image-text .main-wrapper {
    gap: 2.5rem;
}

.block-image-text .main-wrapper > * {
    flex-basis: 40.3%;
}

.block-image-text .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-image-text .text-content {
    --gap: 3.75rem;
}

.block-image-text .text-content:not(:last-child) {
    margin-bottom: 3.75rem;
}

.block-image-text .text-content > :is(h6, .h6) {
    --gap: 3.125rem;
}

.block-image-text .link-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.block-image-text .link-list > * {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #C8C8C8;
}

.block-image-text .link-list > :not(:last-child) {
    margin-bottom: 1.25rem;
}

.block-image-text .link-list :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6).featured, 
.block-image-text .link-list .featured-text {
    font-size: var(--font-16-18);
}

.block-image-text .link > * {
    margin-block: 0;
}

.block-image-text .link .icon-wrap {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--c-primary);
    color: var(--c-heading-d);
    overflow: hidden;
}

.block-image-text .link .icon-wrap svg {
    width: .625rem;
    height: .625rem;
    position: absolute;
    top: calc(50% - .3125rem);
    left: calc(50% - .3125rem);
}

@media (prefers-reduced-motion: no-preference) {
    .block-image-text .link {
        --lh: 1.5em;
        --lh: 1lh;
    }

    .block-image-text .link .icon-wrap svg {
        position: absolute;
        top: calc(50% - .3125rem);
        left: calc(50% - .3125rem);
        transition: transform .5s cubic-bezier(.1, 0, .3, 1);
        will-change: transform;
    }

    .block-image-text .link .icon-wrap svg:last-child {
        transform: translate(calc(-1 * var(--lh)), var(--lh));
    }

    .block-image-text .link:is(:hover, :focus-within) .icon-wrap svg:first-child {
        transform: translate(var(--lh), calc(-1 * var(--lh)));
    }

    .block-image-text .link:is(:hover, :focus-within) .icon-wrap svg:last-child {
        transform: translate(0rem, 0rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .block-image-text .link .icon-wrap svg:not(:first-child) {
        display: none !important;
    }
}

@media screen and (width <= 968px) {
    .block-image-text .main-wrapper > * {
        flex-basis: 50%;
    }
}

@media screen and (width <= 620px) {
    .block-image-text .main-wrapper {
        flex-direction: column;
        gap: 4.375rem;
    }
    .block-image-text .image-wrapper img {
        aspect-ratio: 350/320;
    }
    .block-image-text .text-content > :is(h6, .h6) {
        --gap: 2.1875rem;
    }
    .block-image-text .text-content > :is(h2, .h2) {
        margin-bottom: 2.5rem;
    }
    .block-image-text .text-content:not(:last-child) {
        margin-bottom: 3.125rem;
    }
}