.upcoming-events-section {
    padding: 90px 0;
    background: #fffaf3;
}

.events-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.events-section-heading > div {
    max-width: 680px;
}

.events-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #a66d22;
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.events-section-heading h2 {
    margin-bottom: 12px;
    color: #382613;
    font-size: clamp(
        2rem,
        4vw,
        3.1rem
    );
    font-weight: 700;
}

.events-section-heading p {
    margin: 0;
    color: #7b6955;
    line-height: 1.8;
}

.events-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    color: #9e661c;
    font-weight: 700;
    text-decoration: none;
}

.events-view-all:hover {
    color: #70430c;
}


/* Card */

.event-home-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #eee1cf;
    border-radius: 24px;
    background: #ffffff;
    box-shadow:
        0 14px 40px
        rgba(69, 45, 18, 0.07);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.event-home-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 22px 50px
        rgba(69, 45, 18, 0.12);
}


/* Image */

.event-home-image {
    position: relative;
    height: 235px;
    overflow: hidden;
    background: #f3eadf;
}

.event-home-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.event-home-card:hover
.event-home-image img {
    transform: scale(1.045);
}

.event-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(
            135deg,
            #f4e8d6,
            #e5cfad
        );
    color: #9c6828;
    font-size: 3.2rem;
}


/* Date */

.event-date-box {
    position: absolute;
    left: 18px;
    bottom: 18px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 64px;
    height: 70px;

    border-radius: 15px;
    background: #ffffff;

    box-shadow:
        0 10px 30px
        rgba(0, 0, 0, 0.13);
}

.event-date-box strong {
    color: #563716;
    font-size: 1.55rem;
    line-height: 1;
}

.event-date-box span {
    margin-top: 5px;
    color: #aa7024;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}


/* Featured */

.event-featured-badge {
    position: absolute;
    top: 17px;
    right: 17px;

    padding: 7px 13px;

    border-radius: 999px;

    background:
        rgba(
            70,
            44,
            17,
            0.9
        );

    color: #f6ce80;

    font-size: 0.76rem;
    font-weight: 700;

    backdrop-filter: blur(6px);
}


/* Content */

.event-home-content {
    padding: 25px;
}

.event-home-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-bottom: 15px;
}

.event-home-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #8a755e;

    font-size: 0.83rem;
}

.event-home-meta i {
    color: #ae7428;
}

.event-home-content h3 {
    margin-bottom: 13px;

    font-size: 1.25rem;
    line-height: 1.45;
}

.event-home-content h3 a {
    color: #3d2a15;
    text-decoration: none;
}

.event-home-content h3 a:hover {
    color: #a66a1d;
}

.event-home-content p {
    display: -webkit-box;
    overflow: hidden;

    margin-bottom: 20px;

    color: #786754;

    line-height: 1.75;

    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.event-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #a56b1d;

    font-size: 0.9rem;
    font-weight: 700;

    text-decoration: none;
}

.event-read-more:hover {
    color: #70430c;
}


@media (
    max-width: 767.98px
) {
    .upcoming-events-section {
        padding: 60px 0;
    }

    .events-section-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 30px;
    }

    .event-home-image {
        height: 220px;
    }

    .event-home-content {
        padding: 22px;
    }
}