.corner-ribbon {
    top: auto;
    right: -14px;
    bottom: -14px;
    left: auto;
    position: absolute;
    z-index: 1;
    overflow: hidden;
    width: 220px;
    height: 220px;
    text-align: right;
}

.corner-ribbon span {
    font-size: 16px;
    color: var(--color-text-white);
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    line-height: 30px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    width: 260px; display: block;
    background: var(--color-ribbon-red);
    background: linear-gradient(var(--color-ribbon-red-light) 0%, var(--color-ribbon-red) 100%);
    position: absolute;
    top: auto;
    right: -49px;
    bottom: 66px;
    left: auto;
}
.corner-ribbon span::before {
    content: '';
    position: absolute;
    left: 0%;
    bottom: 100%;
    z-index: -1;
    border: 10px solid var(--color-ribbon-red);
    border-right-color: transparent;
    border-top-color: transparent;
}
.corner-ribbon span::after {
    content: '';
    position: absolute;
    right: 0%;
    bottom: 100%;
    z-index: -1;
    border: 10px solid var(--color-ribbon-red);
    border-top-color: transparent;
    border-left-color: transparent;
}