:root{
  --emp-accent:#e30511;
  --emp-accent-dark:#b8000d;
  --emp-text:#2f2f2f;
  --emp-muted:#6f6f6f;
  --emp-border:#e3e3e3;
  --emp-bg-left:#eeeeee;
  --emp-bg-right:#ffffff;
  --emp-surface:#ffffff;
  --emp-radius:12px;
  --emp-shadow:2px 2px 4px rgba(0,0,0,.06);
}

.emp-event-list,
.emp-single-card,
.emp-calendar-wrap,
.emp-card,
.emp-info-box{
  box-sizing:border-box;
  font-family:Roboto Slab, serif;
}

.emp-event-list{
  display:grid;
  gap:24px;
}

.emp-card,
.emp-single-card,
.emp-info-box,
.emp-calendar-wrap{
  background:linear-gradient(90deg,var(--emp-bg-left),var(--emp-bg-left),var(--emp-bg-right),var(--emp-bg-right));
  border:1px solid var(--emp-border);
  border-radius:var(--emp-radius);
  box-shadow:var(--emp-shadow);
}

.emp-card{
  overflow:hidden;
}

.emp-card-thumb img{
  width:100%;
  display:block;
  height:auto;
}

.emp-card-content,
.emp-single-card,
.emp-info-box,
.emp-calendar-wrap{
  padding:20px;
}

.emp-card-meta,
.emp-card-actions,
.emp-single-grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.emp-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  border:1.5px solid var(--emp-accent);
  color:var(--emp-accent);
  background:#fff;
  font-size:13px;
  font-weight:500;
}

.emp-badge--soft{
  border-color:#d9d9d9;
  color:#54595F;
}

.emp-card-title,
.emp-single-header h2,
.emp-calendar-header h3{
  margin:14px 0 10px;
  color:var(--emp-accent);
  font-weight:500;
}

.emp-card-title a,
.emp-single-header h2 a,
.emp-day-event{
  color:inherit;
  text-decoration:none;
}

.emp-card-location,
.emp-single-meta,
.emp-card-excerpt{
  color:var(--emp-text);
}

.emp-card-excerpt{
  margin:12px 0 0;
}

.emp-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 16px;
  border-radius:999px;
  border:1.5px solid var(--emp-accent);
  background:#fff;
  color:var(--emp-accent);
  font-weight:500;
  text-decoration:none;
  transition:all .2s ease;
}

.emp-button:hover{
  background:var(--emp-accent);
  color:#fff;
}

.emp-button--ghost{
  background:transparent;
}

.emp-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}

.emp-calendar-weekdays{
  margin-bottom:10px;
  color:#54595F;
  font-weight:600;
}

.emp-day{
  min-height:120px;
  padding:10px;
  border:1px solid var(--emp-border);
  border-radius:10px;
  background:#fff;
}

.emp-day.has-events{
  border-color:rgba(227,5,17,.35);
}

.emp-day-number{
  color:var(--emp-accent);
  font-weight:600;
  margin-bottom:8px;
}

.emp-day-events{
  display:grid;
  gap:8px;
}

.emp-day-event{
  display:block;
  padding:7px 9px;
  border-radius:8px;
  background:rgba(227,5,17,.06);
  font-size:13px;
}

.emp-single-grid{
  margin:20px 0;
}

.emp-info-box{
  flex:1 1 280px;
}

.emp-empty{
  padding:18px 20px;
  border:1px dashed var(--emp-border);
  border-radius:12px;
  background:#fff;
  color:var(--emp-muted);
}

.emp-metabox-table input[type="text"],
.emp-metabox-table input[type="url"],
.emp-metabox-table input[type="date"],
.emp-metabox-table input[type="time"],
.emp-metabox-table textarea{
  width:100%;
  max-width:520px;
}

@media (max-width: 900px){
  .emp-calendar-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .emp-calendar-weekdays{
    display:none;
  }
}
