.card {
    position: relative;
    width: 396.8503937px;
    height: 561.2598425px;
    border-radius: 16px;
    perspective: 1400px;
    cursor: pointer;
}

.card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 16px;
    background: rgb(128, 128, 128);
    border: 1.6px solid rgb(128, 128, 128);
    border-radius: 16px;
}

.card-cta {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 75%;
    height: 75%;
    border: 1.6px solid rgba(188, 188, 188,1);
    background-color: rgba(255,255,223,1);
    border-radius: 16px;
    transition: 0.5s;
}

.card-cta a {
    position: absolute;
    top: 30%;
    right: 10%;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    color: black;
    font-size: 0.9435rem;
    font-weight: 700;
}

.card-front {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 16px;
    background: radial-gradient(circle, rgba(15,15,15,1) 0%, rgba(0,0,0,1) 100%);
    backdrop-filter: blur(25px);
    border: 1.6px solid rgba(32,32,32,32);
    border-radius: 16px;
    color: white;
    transform-style: preserve-3d;
    transform-origin: left top;
    transition: 0.3s;
}

.card-front p.category {
    font-size: 0.9435rem;
    color: white;
}

.card-front h2 {
    margin-top: 64px;
    font-size: 1.415rem;
    font-weight: 700;
}

.card-front p.summary {
    margin-top: 32px;
    font-size: 0.9435rem;
    font-weight: 500;
}

.card-front p.price {
    position: absolute;
    bottom: 16px;
    left: 16px;
    font-size: 0.9435rem;
    color: white;
}

.card-front p.publisher{
    position: absolute;
    bottom: 16px;
    right: 16px;
    font-size: 0.9435rem;
    color: white;
}

.card:hover .card-cta {
    transform: translateX(30px) rotateZ(7deg);
}

.card:hover .card-front {
    transform: rotateY(-40deg);
}

@media (max-width: 64em) {

    .card {
        position: relative;
        width: calc(396.85px * 0.5);
        height: calc(561.26px * 0.5);
    }

    .card .card-cta {
        transform: translateX(30px) rotateZ(7deg);
    }

    .card-cta a {
        top: calc(30% * 0.5);
        right: calc(10% * 0.5);
        font-size: calc(0.9435rem * 0.5);
    }
    
    .card .card-front {
        transform: rotateY(-40deg);
    }

    .card-front p.category {
        font-size: calc(0.9435rem * 0.5);
    }

    .card-front h2 {
        margin-top: calc(64px *0.5);
        font-size: calc(1.415rem * 0.5);
    }

    .card-front p.summary {
        margin-top: calc(32px * 0.5);
        font-size: calc(0.9435rem * 0.5);
    }

    .card-front p.price {
        bottom: calc(16px * 0.5);
        left: calc(16px * 0.5);
        font-size: calc(0.9435rem * 0.5);
    }

    .card-front p.publisher{
        bottom: calc(16px * 0.5);
        right: calc(16px * 0.5);
        font-size: calc(0.9435rem * 0.5);
        color: white;
    }

}
