:root{--cem-primary:#0073aa;--cem-title-font:Arial, Helvetica, sans-serif;--cem-title-color:#ffffff;--cem-overlay-opacity:0.35;}
.cem-filter{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.cem-filter select{padding:8px 10px;border-radius:6px;border:1px solid #ccc;background:#fff;font-size:14px;}
.cem-events{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px;}
@media(max-width:1100px){.cem-events{grid-template-columns:repeat(3,1fr);}}
@media(max-width:800px){.cem-events{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.cem-events{grid-template-columns:1fr;}}
.cem-event-card{min-height:220px;border-radius:10px;overflow:hidden;background-size:cover;background-position:center;position:relative;color:#fff;display:flex;align-items:flex-end;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 18px rgba(0,0,0,0.08);}
.cem-card-inner{width:100%;padding:16px;background:linear-gradient(180deg,rgba(0,0,0,0.0) 0%,rgba(0,0,0,0.45) 60%,rgba(0,0,0,0.6) 100%);box-sizing:border-box;}
.cem-card-datetime{font-weight:700;margin-bottom:6px;font-size:0.95rem;}
.cem-date{display:block;font-size:1.05rem;}
.cem-time{display:block;font-size:0.95rem;}
.cem-card-title{margin:0 0 6px 0;font-size:1.05rem;color:var(--cem-title-color);font-family:var(--cem-title-font);}
.cem-card-meta,.cem-card-meta.small{margin:0 0 6px 0;font-size:0.9rem;color:rgba(255,255,255,0.9);}
.cem-card-excerpt{margin-top:6px;font-size:0.95rem;color:rgba(255,255,255,0.95);}
.cem-card-contact a{color:rgba(255,255,255,0.95);text-decoration:underline;}
.cem-register{display:inline-block;margin-top:10px;background:var(--cem-primary);color:var(--cem-title-color);padding:8px 12px;border-radius:6px;text-decoration:none;font-weight:600;border:1px solid rgba(255,255,255,0.12);font-family:var(--cem-title-font);}
.cem-register:hover{opacity:0.95;transform:translateY(-2px);}
.cem-no-events,.cem-loading{grid-column:1/-1;text-align:center;padding:24px 8px;color:#666;background:transparent;}