.esm-info{
    margin:25px 0 35px;
    padding:25px;
    background:#f8f8f8;
    border-radius:12px;
}

.esm-jenis{
    margin-bottom:20px;
}

.esm-jenis span{
    display:inline-block;
    margin:4px;
    padding:6px 14px;
    background:#062962;
    color:#fff;
    border-radius:30px;
    font-size:14px;
}

.esm-tanggal{
    font-size:18px;
    margin-bottom:20px;
}

.esm-ringkasan{
    background:#fff;
    padding:18px;
    border-left:5px solid #062962;
    margin-bottom:25px;
}

.esm-button{

    display:inline-block;

    padding:14px 28px;

    background:#062962;

    color:#fff;

    text-decoration:none;

    border-radius:8px;

}

.esm-button:hover{

    background:#0844a2;

    color:#fff;

}
.esm-flyer{
	margin-bottom:24px;
}

.esm-flyer img{
	width:100%;
	height:auto;
	display:block;
	border-radius:12px;
}
/* ==========================================
   Event Card
========================================== */

.esm-event-card{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:24px;
    margin:32px 0;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
}

.esm-info{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.esm-tanggal,
.esm-jam{
    font-size:16px;
    margin:0;
    color:#1f2937;
}

.esm-ringkasan{
    line-height:1.8;
}

.esm-button{
    display:inline-block;
    padding:14px 28px;
    border-radius:10px;
    background:#0056b3;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:.25s;
}

.esm-button:hover{
    background:#003d80;
    color:#fff;
}
.esm-location{
	margin:0;
	font-size:16px;
	color:#1f2937;
}

.esm-map-link{
	font-weight:600;
	text-decoration:none;
}

.esm-map-link:hover{
	text-decoration:underline;
}
/* ==========================================
   Registration Status
========================================== */

.esm-registration-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    align-self:flex-start;
    margin:0;
    padding:8px 14px;
    border-radius:8px;
    font-size:16px;
    font-weight:700;
    line-height:1.4;
}

/* Pendaftaran Dibuka */
.esm-registration-status.is-open{
    color:#16803c;
    background:#eaf7ef;
    border:1px solid #b9e4c7;
}

.esm-registration-status.is-open::before{
    content:"🟢";
    font-size:14px;
}

/* Pendaftaran Ditutup */
.esm-registration-status.is-closed{
    color:#a15c00;
    background:#fff5df;
    border:1px solid #f0d49a;
}

.esm-registration-status.is-closed::before{
    content:"🟠";
    font-size:14px;
}

/* Event Selesai */
.esm-registration-status.is-finished{
    color:#c62828;
    background:#fdecec;
    border:1px solid #efb4b4;
}

.esm-registration-status.is-finished::before{
    content:"🔴";
    font-size:14px;
}
/* ==========================================
   Event Archive - 3 Kolom
========================================== */

.post-type-archive-event .site-main{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
}

/* Judul arsip memenuhi seluruh lebar */
.post-type-archive-event .site-main > .page-header{
    grid-column:1 / -1;
}

/* Kartu Event */
.post-type-archive-event .site-main > article{
    width:100%;
    margin:0;
    padding:20px;
    box-sizing:border-box;
}

/* Pagination memenuhi seluruh lebar */
.post-type-archive-event .site-main > .paging-navigation,
.post-type-archive-event .site-main > .pagination{
    grid-column:1 / -1;
}

/* Tablet */
@media (max-width: 900px){

    .post-type-archive-event .site-main{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

}

/* HP */
@media (max-width: 600px){

    .post-type-archive-event .site-main{
        grid-template-columns:1fr;
    }

}
/* ==========================================
   Event Archive Grid
========================================== */

.esm-archive-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:28px;
    margin-top:30px;
}

/* Event Card */

.esm-event-card{
    display:flex;
    flex-direction:column;
    height:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
}

/* Flyer */

.esm-event-card-flyer{
    width:100%;
    overflow:hidden;
}

.esm-event-card-flyer a{
    display:block;
}

.esm-event-card-image{
    display:block;
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
}

/* Card Content */

.esm-event-card-content{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:20px;
}

/* Status */

.esm-event-card-content .esm-registration-status{
    align-self:flex-start;
    margin-bottom:12px;
}

/* Title */

.esm-event-card-title{
    margin:0 0 12px;
    font-size:21px;
    line-height:1.35;
}

.esm-event-card-title a{
    text-decoration:none;
    color:inherit;
}

.esm-event-card-title a:hover{
    text-decoration:underline;
}

/* Date */

.esm-event-card-date{
    margin:0 0 14px;
    font-size:15px;
    color:#374151;
}

/* Excerpt */

.esm-event-card-excerpt{
    margin-bottom:18px;
    color:#4b5563;
    line-height:1.7;
}

/* Button */

.esm-event-card-button{
    display:inline-block;
    align-self:flex-start;
    margin-top:auto;
    padding:11px 20px;
    background:#062962;
    color:#fff;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.25s;
}

.esm-event-card-button:hover{
    background:#0844a2;
    color:#fff;
}

/* ==========================================
   Tablet
========================================== */

@media (max-width: 1024px){

    .esm-archive-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

}

/* ==========================================
   Mobile
========================================== */

@media (max-width: 767px){

    .esm-archive-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .esm-event-card-title{
        font-size:20px;
    }

}