/* Envelope Animation Logic */
.envelope {
    position: relative;
    transition: transform 0.8s ease;
}

.envelope__flap--top {
    transition: transform 0.5s ease-in-out;
    transform-origin: top;
}

.is-open .envelope__flap--top {
    transform: rotateX(180deg);
    z-index: 0;
}

.is-open .envelope__card {
    transform: translateY(-100px);
    transition: transform 0.8s 0.4s ease;
}

/* Page Transitions */
.fade-in {
    animation: fadeInPage 1s forwards;
}

@keyframes fadeInPage {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Event Cards Style */
.event-card {
    background: white;
    padding: 2rem;
    margin: 1rem;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    text-align: center;
}

.map-btn {
    display: inline-block;
    padding: 10px 20px;
    background: #c5a059;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin-top: 15px;
}