.pw-featured-image {
    --pw-featured-image-transition: 250ms;
    --pw-featured-image-hover-scale: 103%;
    --pw-featured-image-position-y: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    background-color: transparent;
}

.pw-featured-image__link {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
}

.pw-featured-image__img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-position: 50% var(--pw-featured-image-position-y, 50%);
    box-sizing: border-box;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition:
        opacity var(--pw-featured-image-transition) ease,
        transform var(--pw-featured-image-transition) ease;
}

.pw-featured-image__img--featured {
    position: relative;
    z-index: 1;
}

.pw-featured-image.has-hover-image .pw-featured-image__img--hover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 2;
}

.pw-featured-image.has-hover-image:hover .pw-featured-image__img--featured,
.pw-featured-image.has-hover-image:focus-within .pw-featured-image__img--featured {
    opacity: 0;
}

.pw-featured-image.has-hover-image:hover .pw-featured-image__img--hover,
.pw-featured-image.has-hover-image:focus-within .pw-featured-image__img--hover {
    opacity: 1;
}

.pw-featured-image.effect-zoom.has-hover-image:hover .pw-featured-image__img--hover,
.pw-featured-image.effect-fade_zoom.has-hover-image:hover .pw-featured-image__img--hover {
    transform: scale(var(--pw-featured-image-hover-scale));
}

.pw-featured-image.effect-instant .pw-featured-image__img {
    transition-duration: 0ms;
}

.pw-featured-image.no-hover-image .pw-featured-image__img--featured {
    opacity: 1;
    transform: none;
}

.pw-featured-image.no-hover-image .pw-featured-image__img--hover {
    display: none;
}
