/* ==========================================================================
   Event Manager Frontend
   ========================================================================== */

/* 1. Global Layout */
/* ==========================================================================
   Event Manager Frontend
   ========================================================================== */

.em-events-wrapper{
    width:100%;
}

.em-events-list{
    display:flex;
    flex-direction:column;
    gap:32px;
}

.em-month-group{
    margin-bottom:60px;
}

.em-month-heading{
    margin:0 0 30px;
    font-size:34px;
    font-weight:700;
    line-height:1.2;
    color:#111;
}

/* 2. Event Card */

.em-event-card{
    display:grid;
    grid-template-columns:260px minmax(0,1fr) 240px;
    gap:40px;
    align-items:center;

    padding:20px;
    margin-bottom:32px;

    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:0px;

    transition:all .25s ease;
}

.em-event-card:hover{
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transform:translateY(-3px);
}

/* 3. Image */
.em-event-card__image{
    overflow:hidden;
    border-radius:0px;
}

.em-event-card__image img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
    transition:transform .35s ease;
}

.em-event-card:hover .em-event-card__image img{
    transform:scale(1.05);
}

/* 4. Content */
.em-event-card__content{
    display:flex;
    flex-direction:column;
    text-align: left;
}

.em-event-card__title{
    margin:0 0 5px;
    font-size:30px;
    line-height:1.2;
    font-weight:700;
}

.em-event-card__title a{
    color:#0a2342;
    text-decoration:none;
}

.em-event-card__title a:hover{
    color:#0d5ea8;
}

.em-event-card__series {
    margin-bottom: 5px;
    color: #666;
    font-size: 18px;
    font-style: italic;
    font-family: auto;
    opacity: 0.65;
    font-weight: 500;
}

.em-event-card__description{
    margin-bottom:10px;
    color:#555;
    font-size:16px;
    line-height:1.7;
}
.em-event-card__content p {
    margin-bottom: 0px;
}

/* 5. Meta */
.em-event-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex-direction: row;
}
.em-event-meta{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.em-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

.em-meta-label{
    font-size:12px;
    font-weight:700;
    color:#888;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.em-meta-value{
    color:#222;
    line-height:1.6;
}

/* 6. Booking */
.em-event-card__booking{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:25px;

    text-align:right;
}

.em-event-card__price {
    font-size: 18px;
    font-weight: bold;
    color: #08203d;
}

.em-event-price{
    font-size:30px;
    font-weight:700;
    color:#08203d;
}

/* 7. Buttons */
.em-button{
    display:inline-flex;
    justify-content:center;
    align-items:center;

    width:220px;
    height:56px;

    background:#08203d;
    color:#fff;

    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.12em;

    font-size:13px;
    font-weight:700;

    border-radius:0px;

    transition:.25s;
}

.em-button:hover{
    background:#b8965a;
    color:#fff;
}

/* 8. Pillars */

/* 9. Hover */

/* ==========================================================
   MONTH NAVIGATION
========================================================== */

.em-month-navigation{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:50px;
	margin:15px 0 30px;
	padding:12px 15px 12px 15px;
	border:1px solid #d9d9d9;
}

.em-month-navigation a{
	position:relative;
	color:#7b7b7b;
	text-decoration:none;
	font-size:15px;
	font-weight:500;
	transition:all .25s ease;
}

.em-month-navigation a:hover{
	color:#002856;
}

.em-month-navigation a.active{
	color:#002856;
	font-weight:500;
}

.em-month-navigation a.active::after{

	content:"";

	position:absolute;

	left:0;
	right:0;
	bottom:-12px;

	height:3px;

	background:#002856;
}


/* ==========================================================
   MONTH GROUP
========================================================== */

.em-month-group{

	margin-bottom:40px;

	scroll-margin-top:120px;

}

.em-month-title {
    margin: 0px 0 15px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    color: #002856;
    text-transform: none;
    text-align: left;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
}

.em-month-navigation{

	position:sticky;
	top:60px;

	z-index:50;

	background:#faf7f2;

}

/* 10. Responsive */
@media (max-width:991px){

    .em-event-card{
        grid-template-columns:220px 1fr;
    }

    .em-event-card__booking{
        grid-column:1 / -1;

        align-items:flex-start;
        text-align:left;

        margin-top:25px;
    }
}

@media (max-width:767px){

    .em-event-card{
        grid-template-columns:1fr;
        gap:25px;
        padding:25px;
    }

    .em-event-card__image img{
        height:240px;
    }

    .em-event-card__booking{
        margin-top:0;
    }

    .em-button{
        width:100%;
    }

    .em-event-card__title{
        font-size:24px;
    }

    .em-meta-row{
        grid-template-columns:75px 1fr;
    }
}

@media (max-width:991px){

	.em-month-navigation{

		gap:25px;

		margin-bottom:40px;

		overflow-x:auto;

		padding-bottom:20px;

		white-space:nowrap;

		flex-wrap:nowrap;

	}

	.em-month-navigation::-webkit-scrollbar{

		height:6px;

	}

	.em-month-navigation::-webkit-scrollbar-thumb{

		background:#ddd;

		border-radius:20px;

	}

	.em-month-navigation a{

		font-size:16px;

		flex:none;

	}

	.em-month-title{

		font-size:40px;

	}

}

@media (max-width:767px){

	.em-month-navigation{

		gap:18px;

	}

	.em-month-title{

		font-size:30px;

		margin-bottom:30px;

	}

}