.kf-event-card{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:stretch;
  gap:16px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px;
  background:var(--kf-white);
  transition:box-shadow 0.15s ease, transform 0.15s ease;
}
.kf-event-card:hover{
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  transform:translateY(-2px);
}

.kf-event-card__image{
  flex:0 0 64px;
  width:64px;
  height:64px;
  border-radius:8px;
  background-size:cover;
  background-position:center;
}

.kf-event-card__date{
  flex:0 0 56px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.1;
  font-family:var(--kf-font-display);
}
.kf-event-card__day{
  font-size:1.7rem;
  color:var(--kf-red);
}
.kf-event-card__month{
  font-family:var(--kf-font-label);
  font-size:0.7rem;
  letter-spacing:0.05em;
  color:var(--kf-text-muted);
}

.kf-event-card__body{
  flex:1;
  min-width:0;
}
.kf-event-card__time{
  margin:0 0 4px;
  font-family:var(--kf-font-label);
  font-size:0.8rem;
  letter-spacing:0.02em;
  color:var(--kf-text-muted);
}
.kf-event-card__title{
  margin:0 0 4px;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.3;
}
.kf-event-card__title a{
  text-decoration:none;
  color:inherit;
}
.kf-event-card__title a:hover{
  color:var(--kf-red);
}
.kf-event-card__venue{
  margin:0;
  font-family:var(--kf-font-label);
  font-size:0.78rem;
  letter-spacing:0.02em;
  color:var(--kf-text-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.kf-event-card__arrow{
  flex:0 0 auto;
  align-self:center;
  text-decoration:none;
  font-size:1.2rem;
  color:var(--kf-red);
  opacity:0.5;
  transition:opacity 0.15s ease;
}
.kf-event-card:hover .kf-event-card__arrow{
  opacity:1;
}

.kf-event-card--featured{
  background:var(--kf-black);
  border-color:var(--kf-black);
}
.kf-event-card--featured .kf-event-card__title{
  color:var(--kf-white);
}
.kf-event-card--featured .kf-event-card__venue,
.kf-event-card--featured .kf-event-card__time{
  color:#B8B0A6;
}
.kf-event-card--featured .kf-event-card__month{
  color:#9A8E7D;
}

.kf-event-card__ribbon{
  position:absolute;
  top:8px;
  right:-30px;
  z-index:5;
  width:110px;
  padding:2px 0;
  text-align:center;
  font-family:var(--kf-font-label);
  font-size:0.6rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
  transform:rotate(45deg);
  box-shadow:0 2px 6px rgba(0,0,0,0.2);
}
.kf-event-card__ribbon--canceled{
  background:var(--kf-red);
  color:var(--kf-white);
}
.kf-event-card__ribbon--postponed{
  background:var(--kf-border);
  color:var(--kf-black);
}

@media (max-width:400px){
  .kf-event-card__image{
    display:none;
  }
}