.flip-card {
    width: 190px;
    height: 254px;
    perspective: 1200px;
    font-family: sans-serif;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.75s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(-180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.35);

    overflow: hidden;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    box-shadow:
        0 12px 30px rgba(30, 64, 175, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

/* FRONT */
.flip-card-front {
    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(255, 255, 255, 0.65) 0%,
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #dbeafe 0%,
            #93c5fd 42%,
            #3b82f6 100%
        );

    color: #172554;
}

/* BACK */
.flip-card-back {
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(255, 255, 255, 0.25) 0%,
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #60a5fa 0%,
            #2563eb 55%,
            #1d4ed8 100%
        );

    color: #fff;
    transform: rotateY(180deg);
}

/* Glass highlight */
.flip-card-front::before,
.flip-card-back::before {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.12);

    top: -65px;
    right: -50px;

    filter: blur(2px);
}

/* Bottom shine */
.flip-card-front::after,
.flip-card-back::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 12px;
    height: 1px;

    background: rgba(255, 255, 255, 0.35);
}

/* Optional content styling */
.flip-card h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    font-weight: 700;
}

.flip-card p {
    margin: 0;
    padding: 0 20px;
    font-size: 1.25rem;
    line-height: 1.5;
}

/* Hover shadow */
.flip-card:hover .flip-card-front,
.flip-card:hover .flip-card-back {
    box-shadow:
        0 18px 40px rgba(30, 64, 175, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
}
