#upcoming-events {
    background-color: var(--wp--preset--color--base);
    overflow: hidden;
    position: relative;
    padding: 10rem 0;

    &::before {
        content: '';
        position: absolute;
        inset: 0;
        background-image: repeating-linear-gradient(to right,
                color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent) 0px,
                color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent) 1px,
                transparent 1px,
                transparent 180px);
        mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
        pointer-events: none;
        z-index: 0;
    }

    & .content {
        padding: 0;
        position: relative;
        z-index: 1;

        &::before,
        &::after {
            content: '';
            position: absolute;
            top: -10rem;
            left: -5rem;
            width: 15rem;
            height: 15rem;
            background-color: var(--wp--preset--color--tertiary);
            pointer-events: none;
            z-index: -1;
            opacity: .5;
        }

        &::after {
            top: auto;
            bottom: -10rem;
            left: auto;
            right: -5rem;
        }

        & .events-container {
            background-color: #edf5ff8f;
            backdrop-filter: blur(4px);
            box-shadow: #1d224f12 0px 54px 55px, #1d224f08 0px -12px 30px, #1d224f08 0px 4px 6px, #1d224f08 0px 12px 13px, #1d224f08 0px -3px 5px;
            z-index: 1;
            position: relative;

            &::before,
            &::after {
                content: '';
                position: absolute;
                width: 160px;
                height: 70px;
                background-image: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--primary) 100%, transparent) 1.5px, transparent 1.5px);
                background-size: 18px 18px;
                pointer-events: none;
                z-index: 0;
            }

            &::before {
                top: -100px;
                left: 2rem;
            }

            &::after {
                bottom: -100px;
                right: 2rem;
            }

            & .events-header {
                position: relative;
                padding: 2rem;

                &::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 200px;
                    height: 3px;
                    background-color: var(--wp--preset--color--primary);
                    ;
                    pointer-events: none;
                    z-index: 0;
                }
            }

            & .upcoming-events__track-wrapper {
                position: relative;
                overflow: hidden;
                padding-bottom: 3rem;
                display: grid;

                & .upcoming-events__track {
                    display: flex;
                    overflow-x: auto;
                    scroll-snap-type: x mandatory;
                    -webkit-overflow-scrolling: touch;
                    scrollbar-width: none;
                    gap: 1rem;
                    padding: .1rem 2rem;

                    &::-webkit-scrollbar {
                        display: none;
                    }

                    & .event-card {
                        flex: 0 0 280px;
                        aspect-ratio: 1 / 1;
                        display: flex;
                        flex-direction: column;
                        background-color: var(--wp--preset--color--tertiary);
                        border: 1px solid var(--wp--preset--color--line);
                        padding: 2rem;
                        transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity .5s ease, background-color .3s ease, border-color .3s ease;
                        text-decoration: none;
                        box-sizing: border-box;
                        color: inherit;

                        &:hover {
                            opacity: 1 !important;
                            border-color: var(--wp--preset--color--secondary);
                        }

                        &.event-card--featured {
                            background: var(--wp--preset--color--primary);
                            opacity: 1;

                            & .event-card__day,
                            & .event-card__month,
                            & .event-card__title,
                            & .event-card__time,
                            & .event-card__location {
                                color: #ffffff;
                            }

                            &:hover {
                                background: color-mix(in srgb, var(--wp--preset--color--primary) 88%, #000);
                            }
                        }

                        & .event-card__date {
                            display: flex;
                            flex-direction: column;
                            gap: 0.1rem;
                        }

                        & .event-card__day {
                            font-size: 2.75rem;
                            font-weight: 300;
                            line-height: 1;
                            color: var(--wp--preset--color--contrast);
                            letter-spacing: -0.04em;
                        }

                        & .event-card__month {
                            font-size: 0.7rem;
                            font-weight: 700;
                            letter-spacing: 0.12em;
                            text-transform: uppercase;
                            color: color-mix(in srgb, var(--wp--preset--color--contrast) 50%, transparent);
                        }

                        & .event-card__body {
                            display: flex;
                            flex-direction: column;
                            gap: 0.3rem;
                            flex: 1;
                        }

                        & .event-card__title {
                            font-size: 0.95rem;
                            font-weight: 600;
                            line-height: 1.35;
                            color: var(--wp--preset--color--contrast);
                            margin: 0;
                        }

                        & .event-card__time {
                            font-size: 0.8rem;
                            font-weight: 500;
                            color: var(--wp--preset--color--primary);
                            margin: 0;
                        }

                        & .event-card__location {
                            font-size: 0.78rem;
                            color: var(--wp--preset--color--primary);
                            margin: 0;
                        }

                        & .event-card__badge {
                            display: inline-flex;
                            align-self: flex-start;
                            font-size: 0.68rem;
                            font-weight: 700;
                            letter-spacing: 0.08em;
                            text-transform: uppercase;
                            background: rgba(255, 255, 255, 0.25);
                            color: #fff;
                            padding: 0.2rem 0.55rem;
                            border-radius: 99px;
                            border: 1px solid rgba(255, 255, 255, 0.4);
                            margin-top: auto;
                        }
                    }
                }
            }

            & .events-footer {
                position: relative;

                & .events-footer--testimonials {
                    max-width: 960px;

                    & .container {
                        position: relative;
                        z-index: 4;
                        background-color: var(--wp--preset--color--base);
                        overflow: hidden;
                        transform-origin: center center;
                        border-radius: 0;
                        display: grid;

                        & .slideshow--wrapper {
                            width: 100%;
                            position: relative;
                            color: var(--wp--preset--color--contrast);
                            z-index: 5;
                            overflow: hidden;
                            ;

                            & .slideshow {
                                position: relative;
                                display: flex;
                                height: 100%;

                                & .testimonials-item {
                                    display: flex;
                                    align-items: center;
                                    padding: 1rem;
                                    padding-bottom: 0;
                                    box-sizing: border-box;
                                    height: 100%;
                                    opacity: 1;

                                    &.active {

                                        & .slack-msg {
                                            opacity: 1;
                                            transform: translateY(0) scale(1);
                                            filter: blur(0);
                                            transition: opacity .5s ease-out, transform .5s ease-out, filter .5s ease-out;
                                        }
                                    }

                                    & .slack-msg {
                                        display: flex;
                                        gap: 1rem;
                                        font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
                                        text-align: left;
                                        width: 100%;
                                        opacity: 0;
                                        transform: translateY(20px) scale(0.95);
                                        filter: blur(4px);
                                        transition: opacity .4s ease-in, transform .4s ease-in, filter .4s ease-in;
                                    }

                                    & .slack-avatar {
                                        flex-shrink: 0;

                                        & img {
                                            width: 44px;
                                            height: 44px;
                                            border-radius: 6px;
                                            object-fit: cover;
                                            display: block;
                                        }
                                    }

                                    & .slack-content {
                                        flex: 1;
                                        display: flex;
                                        flex-direction: column;
                                        gap: 0.35rem;
                                    }

                                    & .slack-header {
                                        display: flex;
                                        align-items: baseline;
                                        gap: 0.5rem;
                                        line-height: 1.2;
                                    }

                                    & .slack-username {
                                        font-weight: 800;
                                        font-size: 0.95rem;
                                        color: #1d1c1d;
                                    }

                                    & .slack-meta {
                                        color: #616061;
                                        font-size: 0.78rem;
                                    }

                                    & .slack-channel {
                                        color: #1264a3;
                                        font-weight: 600;
                                        cursor: pointer;

                                        &:hover {
                                            text-decoration: underline;
                                        }
                                    }

                                    & .slack-body {
                                        color: #1d1c1d;
                                        font-size: 0.92rem;
                                        line-height: 1.45;
                                        font-weight: 400;
                                    }

                                    & .slack-mention {
                                        color: #1264a3;
                                        background-color: rgba(29, 155, 209, 0.1);
                                        padding: 1px 3px;
                                        border-radius: 3px;
                                        font-weight: 500;
                                    }

                                    & .slack-reactions {
                                        margin-top: 0.25rem;
                                    }

                                    & .slack-reaction-badge {
                                        display: inline-flex;
                                        align-items: center;
                                        gap: 0.4rem;
                                        background-color: #f8f8f8;
                                        border: 1px solid rgba(0, 0, 0, 0.05);
                                        border-radius: 12px;
                                        padding: 0.2rem 0.6rem;
                                        font-size: 0.8rem;
                                        font-weight: 600;
                                        color: #616061;
                                        transition: all 0.2s ease;
                                        cursor: default;

                                        &:hover {
                                            background-color: #fff;
                                            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
                                            border-color: rgba(0, 0, 0, 0.15);
                                        }

                                        & .emoji {
                                            font-size: 0.85rem;
                                        }
                                    }
                                }
                            }
                        }

                        & .slideshow-bullets-wrapper {
                            display: flex;
                            align-items: center;
                            justify-content: space-between;
                            position: relative;
                            z-index: 5;

                            & .btn-pagination {
                                background-color: transparent;
                                color: var(--wp--preset--color--primary);
                                opacity: .5;
                                transition: opacity .3s ease, transform .3s ease;

                                &:hover {
                                    background-color: transparent;
                                    opacity: 1;
                                }
                            }

                            & .slideshow-bullets {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                gap: 20px;

                                & .bullet {
                                    width: 13px;
                                    height: 13px;
                                    border-radius: 50%;
                                    background-color: transparent;
                                    border: 2px solid var(--wp--preset--color--primary);
                                    transition: background-color .3s ease;

                                    &.active {
                                        background-color: var(--wp--preset--color--primary);
                                    }
                                }
                            }
                        }

                        & .audience-item {
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            justify-content: center;
                            text-align: center;
                            gap: 1rem;
                            padding: 1.5rem 1rem;
                            height: 100%;
                            box-sizing: border-box;

                            & .audience-icon {
                                color: var(--wp--preset--color--primary);
                                display: flex;
                                align-items: center;
                                justify-content: center;

                                & svg {
                                    width: 40px;
                                    height: 40px;
                                }
                            }

                            & .audience-label {
                                font-size: 0.95rem;
                                font-weight: 600;
                                line-height: 1.3;
                                color: rgba(0, 0, 0, 0.8);
                            }
                        }

                        & .authority-item {
                            display: flex;
                            align-items: center;
                            gap: 1.25rem;
                            padding: 1.5rem;
                            height: 100%;
                            box-sizing: border-box;
                            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                                border-color 0.3s ease,
                                box-shadow 0.3s ease;

                            & .authority-icon {
                                color: var(--wp--preset--color--primary);
                                flex-shrink: 0;
                                display: flex;
                                align-items: center;
                                justify-content: center;

                                & svg {
                                    width: 42px;
                                    height: 42px;
                                }
                            }

                            & .authority-text {
                                display: flex;
                                flex-direction: column;
                                gap: 0.35rem;
                                text-align: left;

                                & strong {
                                    font-size: 1.05rem;
                                    font-weight: 700;
                                    color: rgba(0, 0, 0, 0.85);
                                    line-height: 1.35;
                                }

                                & span {
                                    font-size: 0.9rem;
                                    color: rgba(0, 0, 0, 0.55);
                                    line-height: 1.4;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}