.tt5-event-categories{

    width:100%;

    max-width:1280px;

    margin:80px auto;

    position:relative;

}

.tt5-title{

    font-size:42px;

    font-weight:700;

    margin-bottom:40px;

}

.tt5-category-wrapper{

    display:flex;

    align-items:center;

    gap:18px;

    width:100%;

    overflow:hidden;

    padding-top:8px;

}

.tt5-category-list{

    display:flex;

    gap:20px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-behavior:smooth;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;

    overscroll-behavior-x:contain;

    -webkit-overflow-scrolling:touch;

    padding:10px 0 16px;

}

.tt5-category-list::-webkit-scrollbar{

    display:none;

}

.tt5-category-arrow{

    width:58px;

    height:58px;

    border-radius:50%;

    border:2px solid #0D2356;

    background:#FFF;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    color:#0D2356;

    font-size:34px;

    transition:.25s;

    flex-shrink:0;

}

.tt5-category-prev{

    margin-right:10px;

}

.tt5-category-next{

    margin-left:10px;

}

.tt5-category-arrow:hover{

    background:#0D2356;

    color:#FFF;

}

.tt5-category-arrow:disabled{

    opacity:.35;

    cursor:not-allowed;

}

.tt5-category-button{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:18px;

    width:170px;

    height:145px;

    flex-shrink:0;

    scroll-snap-align:start;

    padding:22px;

    background:#FFF;

    border:1px solid #E5E7EB;

    border-radius:18px;

    cursor:pointer;

    transition:.25s;

}

.tt5-category-button:hover{

    transform:translateY(-2px);

    border-color:#2563EB;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.tt5-category-button.active{

    border:2px solid #2563EB;

    background:#F5F9FF;

    color:#2563EB;

    box-shadow:0 10px 24px rgba(37,99,235,.18);

}

.tt5-category-name{

    text-align:center;

    font-size:18px;

    font-weight:700;

    line-height:1.25;

}

#tt5-event-results{

    margin-top:60px;

}

.tt5-events-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:32px;

    margin-top:50px;

}

.tt5-event-card{

    display:flex;

    flex-direction:column;

    text-decoration:none;

    color:inherit;

    height:100%;

    transition:.25s;

}
.tt5-event-image{

    position:relative;

    aspect-ratio:16/9;

    overflow:hidden;

    border-radius:18px;

    background-size:cover;

    background-position:center;

}

.tt5-price{

    position:absolute;

    top:18px;

    right:18px;

    background:#DFF7D9;

    padding:8px 18px;

    border-radius:40px;

    font-size:14px;

    font-weight:700;

}

.tt5-price.free{

    background:#E8F1FF;

}

.tt5-event-content{

    display:flex;

    flex-direction:column;

    flex-grow:1;

    margin-top:18px;

}

.tt5-event-content h3{

    font-size:18px;

    font-weight:400;

    margin-bottom:12px;

    min-height:62px;


}

.tt5-event-content p{

    margin:0;

    color:#555;

}

@media(max-width:992px){

    .tt5-events-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:767px){

    .tt5-events-grid{

        grid-template-columns:1fr;

    }

}

.tt5-category-icon{

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

}

.tt5-category-icon img{

    width:40px;

    height:40px;

    object-fit:contain;

}

.tt5-event-results{

    transition:opacity .25s ease;

}

.tt5-loading{

    opacity:.25;

}

.tt5-event-excerpt{

    margin-top:12px;

    color:#5F6368;

    font-size:16px;

    line-height:1.6;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

@media (max-width:768px){

    .tt5-category-list{

        gap:14px;

        padding:6px 6px 12px;

    }

    .tt5-category-button{

        width:120px;

        height:120px;

        padding:16px;

        gap:12px;

    }

    .tt5-category-icon{

        width:42px;

        height:42px;

    }

    .tt5-category-icon img{

        width:32px;

        height:32px;

    }

    .tt5-category-name{

        font-size:15px;

    }

}