a.wpb-card { color: inherit; }  
.wpb-card { --border-radius: .5rem; border-radius: var(--border-radius); border: 1px solid rgb(var(--wpb-border-color)); background-color: #fff; display: flex; flex-direction: column; position: relative; text-decoration: none; 
    .wpb-card .wpb-card__header { display: flex; overflow: hidden;
        img { width: 100%; height: auto; } 
        .wpb-card__body { padding: 1.6rem; flex-grow: 1; }
        .wpb-card__footer { padding: 0 1.6rem 1.6rem 1.6rem; }
    }

    /* Variations */
    &.wpb-card--upsell { --border-radius: 2rem; background-color: var(--clr-faded-purple); position: relative;
        .wpb-card__header { padding: 3.2rem; }
        .wpb-card__body { padding: 0 2rem 2rem 2rem; }
        .wpb-card__footer { display: grid; padding: 0 2rem 2rem 2rem; }
        .card-title { font-size: 2rem; }
        .card-excerpt { font-size: 1.5rem; line-height: 1.3; margin-top: 1em; }
        .card-price { font-size: 1.2rem; line-height: 1; position: absolute; top: 1.2rem; right: 1.2rem; padding: .7rem .8rem; border-radius: 1rem; background-color: var(--clr-light-purple); 
            .card-price__price { display: block; font-size: 1.6rem; font-weight: 700; }
        }
        .btn::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
    }

    &.wpb-card__feature { border-radius: 3.2rem;
        .wpb-card__header { padding: 1.6rem 1.6rem 0 1.6rem; gap: .8rem; overflow: inherit; align-items: center;
            i { color: var(--clr-secondary); font-size: clamp(2rem, 3vw, 2.8rem); }
            h3 { --fs: clamp(2rem, 3vw, 2.8rem) }
        }
        .wpb-card__body { text-align: left; }  
    }
}