.mockup-showcase {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 65%; 
    perspective: 2000px;
}

.mockup-card {
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    will-change: transform;
}

.mockup-face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.mockup-front {
    z-index: 2;
}

.mockup-back {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
}

/* Position all item pairs in the same place */
.mockup-item-pair {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    will-change: opacity;
    transition: opacity 0.05s ease-out;
}

/* Hide all by default */
.mockup-item-pair.hidden {
    opacity: 0;
    pointer-events: none;
}

/* Show only active ones */
.mockup-item-pair.visible {
    opacity: 1;
    pointer-events: auto;
}

.mockup-main {
    position: absolute;
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    border-radius: var(--radius-xs);
    box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.20);
    z-index: 1;
    will-change: transform, opacity;
}

.mockup-data {
    display: none;
}

.mockup-phone {
    position: absolute;
    width: 36%;
    right: -8%;
    bottom: -80px;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.20));
    z-index: 2;
    will-change: transform, opacity;
}

@media (max-width: 1020px) {
    .mockup-phone {
        bottom: -40px;
    }
}
    
@media (max-width: 768px) {
    .mockup-phone {
        width: 36%;
        right: -5%;
        bottom: -50px;
    }
}