
/* Kufelix Core – Events Frontend (neutral, responsive, themefreundlich) */

.kfx-events { margin: 1.5rem 0; }
.kfx-events__title { margin: 0 0 1rem; }
.kfx-events__subtitle { margin: 2rem 0 1rem; }
.kfx-events__empty { margin: 0; }

.kfx-events__items { display: grid; gap: 1rem; }
.kfx-events--grid .kfx-events__items { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.kfx-events--list .kfx-events__items { grid-template-columns: 1fr; }

.kfx-event {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.7);
}

.kfx-event__media { display:block; text-decoration:none; }
.kfx-event__img { width:100%; height:220px; object-fit:cover; display:block; }
.kfx-event__img--placeholder { object-fit:contain; padding:18px; background: rgba(0,0,0,.04); }

.kfx-event__body { padding: 1rem; display:grid; gap:.6rem; }
.kfx-event__title { margin: 0; font-size: 1.1rem; }
.kfx-event__title a { text-decoration:none; }

.kfx-event__meta { display:grid; gap:.25rem; opacity:.9; }
.kfx-event__excerpt { margin:0; }

.kfx-event__actions { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.2rem; }

.kfx-btn {
  display:inline-block;
  padding:.55rem .85rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.18);
  text-decoration:none;
  font-size:.95rem;
}
.kfx-btn--primary { font-weight:600; }
.kfx-btn--secondary { opacity:.9; }
.kfx-btn--tertiary { opacity:.85; }

.kfx-event--past { opacity:.85; }
