.ejtl-wrap{
  --ejtl-ink:#172b3f;
  --ejtl-muted:#63758a;
  --ejtl-line:#e3eaf1;
  --ejtl-bg:#f7f9fc;
  --ejtl-accent:#6c4fd3;
  --ejtl-blue:#2d7dd2;
  --ejtl-radius:18px;
  max-width:1240px;
  margin:0 auto;
  font-family:inherit;
  color:var(--ejtl-ink);
}
.ejtl-wrap,.ejtl-wrap *,.ejtl-wrap *::before,.ejtl-wrap *::after{box-sizing:border-box}
.ejtl-head{margin:0 0 18px}
.ejtl-kicker{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f0ebff;color:var(--ejtl-accent);font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.ejtl-heading{margin:8px 0 5px;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.04;letter-spacing:-.03em;color:var(--ejtl-ink)}
.ejtl-intro{max-width:780px;margin:0;color:var(--ejtl-muted);font-size:.98rem;line-height:1.5}
.ejtl-toolbar{display:grid;grid-template-columns:1fr minmax(240px,320px);gap:10px;margin-bottom:16px;padding:8px;border:1px solid var(--ejtl-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(23,43,63,.06)}
.ejtl-search{display:flex;align-items:center;gap:9px}
.ejtl-search svg{width:20px;height:20px;fill:none;stroke:var(--ejtl-muted);stroke-width:1.8;stroke-linecap:round;margin-left:5px}
.ejtl-search input,.ejtl-select-wrap select{width:100%;min-height:38px;border:0!important;outline:0;background:transparent;color:var(--ejtl-ink);font:inherit}
.ejtl-select-wrap{border-left:1px solid var(--ejtl-line);padding-left:10px}

/* Listenansicht: eine Veranstaltung pro Zeile, Bild links im Instagram-Hochformat 4:5 */
.ejtl-list{display:flex;flex-direction:column;gap:14px}
.ejtl-card{
  position:relative;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr);
  min-width:0;
  background:#fff!important;
  border:1px solid var(--ejtl-line)!important;
  border-radius:var(--ejtl-radius)!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(23,43,63,.07)!important;
  transition:transform .2s ease,box-shadow .2s ease;
  align-items:start!important;
}
.ejtl-card::before,.ejtl-card::after{content:none!important;display:none!important}
.ejtl-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(23,43,63,.11)!important}
.ejtl-card[hidden]{display:none!important}

.ejtl-media{
  position:relative!important;
  width:220px!important;
  height:275px!important;
  aspect-ratio:4/5!important;
  background:#eef3f8!important;
  overflow:hidden!important;
  display:block!important;
  align-self:start!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  line-height:0!important;
}
.ejtl-media::before,.ejtl-media::after{content:none!important;display:none!important}
.ejtl-media>img{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  transform:none!important;
  transition:transform .25s ease!important;
}
.ejtl-card:hover .ejtl-media>img{transform:scale(1.025)!important}
.ejtl-image-mode-contain .ejtl-media>img{
  object-fit:contain!important;
  padding:10px!important;
  background:#eef3f8!important;
  transform:none!important;
}
.ejtl-media-has-image .ejtl-image-fallback{display:none!important}
.ejtl-media.ejtl-img-error .ejtl-image-fallback,.ejtl-media-no-image .ejtl-image-fallback{display:grid!important}
.ejtl-media.ejtl-img-error>img{display:none!important}
.ejtl-placeholder{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:9px;background:linear-gradient(145deg,#2d7dd2,#5b79cf);color:#fff;font-weight:900;letter-spacing:.06em;line-height:1.15;text-align:center;font-size:.98rem}
.ejtl-placeholder-ring{width:66px;height:66px;border:9px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;transform:rotate(-25deg)}
.ejtl-date-badge{position:absolute;left:12px;top:12px;z-index:4;width:62px;height:62px;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 7px 20px rgba(0,0,0,.13);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ejtl-ink);backdrop-filter:blur(8px);line-height:1}
.ejtl-date-badge strong{font-size:1.38rem;line-height:1;font-weight:900}
.ejtl-date-badge span{font-size:.68rem;font-weight:800;letter-spacing:.08em;margin-top:2px}

.ejtl-content{padding:17px 20px 18px;display:flex;flex-direction:column;min-width:0;background:#fff!important;width:100%}
.ejtl-topline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.ejtl-pill,.ejtl-audience{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.71rem;font-weight:800}
.ejtl-pill{background:#eef5ff;color:#2365aa}
.ejtl-audience{background:#eef9f4;color:#207858}
.ejtl-date-line{display:flex;align-items:center;gap:7px;margin:0 0 5px;color:var(--ejtl-muted);font-weight:700;font-size:.84rem}
.ejtl-date-line svg,.ejtl-place svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ejtl-title{font-size:clamp(1.28rem,1.8vw,1.72rem);line-height:1.14;letter-spacing:-.02em;margin:0 0 5px}
.ejtl-title a{color:inherit;text-decoration:none}
.ejtl-title a:hover{color:var(--ejtl-accent)}
.ejtl-subtitle{margin:0 0 6px;color:#42556b;font-size:.92rem;font-weight:700}
.ejtl-short{font-size:.91rem;line-height:1.46;color:#3f5368}
.ejtl-short p{margin:.18em 0 .42em}
.ejtl-short-preview{margin-bottom:7px}
.ejtl-place{display:flex;gap:7px;align-items:flex-start;padding:8px 9px;margin:5px 0 8px;background:var(--ejtl-bg);border-radius:11px;color:#40556b}
.ejtl-place div{display:flex;flex-direction:column;gap:1px;min-width:0}
.ejtl-place strong{color:var(--ejtl-ink);font-size:.9rem}
.ejtl-place span{font-size:.82rem;color:var(--ejtl-muted)}
.ejtl-more-toggle{appearance:none;-webkit-appearance:none;width:max-content;max-width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 9px;padding:8px 11px;border:1px solid #d6deea!important;border-radius:10px!important;background:#fff!important;background-image:none!important;color:var(--ejtl-ink)!important;font:inherit;font-size:.84rem;font-weight:800;line-height:1.1;cursor:pointer;box-shadow:none!important;text-decoration:none!important}
.ejtl-more-toggle:hover{border-color:var(--ejtl-accent)!important;color:var(--ejtl-accent)!important;background:#faf8ff!important}
.ejtl-more-toggle::before,.ejtl-more-toggle::after{content:none!important;display:none!important}
.ejtl-more-icon{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#f0ebff;color:var(--ejtl-accent);font-size:1rem;font-weight:800;line-height:1}
.ejtl-more-content{margin:0 0 10px;padding:11px 0 2px;border-top:1px solid var(--ejtl-line)}
.ejtl-more-content[hidden]{display:none!important}
.ejtl-long{line-height:1.48;color:#3f5368;font-size:.9rem}
.ejtl-long p{margin:.3em 0 .6em}
.ejtl-info-block{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:9px 10px;border-radius:10px;background:var(--ejtl-bg);line-height:1.42;font-size:.87rem}
.ejtl-info-block>a{color:var(--ejtl-accent);font-weight:700}
.ejtl-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px;background:transparent!important;border:0!important}
.ejtl-actions::before,.ejtl-actions::after{content:none!important;display:none!important}
.ejtl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 12px;border-radius:10px!important;text-decoration:none!important;font-weight:800;font-size:.84rem;line-height:1.1;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.ejtl-btn:hover{transform:translateY(-1px)}
.ejtl-btn-primary{background:var(--ejtl-accent)!important;background-image:none!important;color:#fff!important;border:1px solid var(--ejtl-accent)!important;box-shadow:0 6px 16px rgba(108,79,211,.18)}
.ejtl-btn-secondary{background:#fff!important;background-image:none!important;color:var(--ejtl-ink)!important;border:1px solid var(--ejtl-line)!important;box-shadow:none!important}
.ejtl-load-more-wrap{display:flex;justify-content:center;margin-top:24px}
.ejtl-load-more-wrap[hidden]{display:none!important}
.ejtl-load-more{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border:1px solid var(--ejtl-accent)!important;border-radius:999px!important;background:var(--ejtl-accent)!important;background-image:none!important;color:#fff!important;font:inherit;font-weight:800;font-size:.92rem;line-height:1.1;cursor:pointer;box-shadow:0 8px 20px rgba(108,79,211,.22);transition:transform .15s ease,box-shadow .15s ease}
.ejtl-load-more:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(108,79,211,.28)}
.ejtl-load-more::before,.ejtl-load-more::after{content:none!important;display:none!important}
.ejtl-load-more-count{opacity:.82;font-weight:700}
.ejtl-load-more-arrow{font-size:1.05rem;line-height:1}
.ejtl-message{padding:15px;border:1px solid var(--ejtl-line);border-radius:15px;background:#fff;color:var(--ejtl-muted)}
.ejtl-error{border-color:#f0c8c8;background:#fff8f8;color:#8a3131}
.ejtl-no-results{text-align:center;margin-top:16px}

@media(max-width:900px){
  .ejtl-card{grid-template-columns:180px minmax(0,1fr)}
  .ejtl-media{width:180px!important;height:225px!important}
}
@media(max-width:700px){
  .ejtl-toolbar{grid-template-columns:1fr}
  .ejtl-select-wrap{border-left:0;border-top:1px solid var(--ejtl-line);padding:7px 0 0}
  .ejtl-list{gap:14px}
  .ejtl-card{grid-template-columns:145px minmax(0,1fr)}
  .ejtl-media{width:145px!important;height:181px!important}
  .ejtl-content{padding:14px 15px 15px}
  .ejtl-date-badge{width:52px;height:52px;left:9px;top:9px}
  .ejtl-date-badge strong{font-size:1.22rem}
  .ejtl-title{font-size:1.28rem}
}
@media(max-width:560px){
  .ejtl-card{grid-template-columns:1fr}
  .ejtl-media{width:100%!important;height:auto!important;aspect-ratio:4/5!important;min-height:0!important;max-height:560px!important}
  .ejtl-content{padding:15px 16px 16px}
  .ejtl-heading{font-size:1.8rem}
  .ejtl-title{font-size:1.3rem}
  .ejtl-actions{flex-direction:column}
  .ejtl-btn{width:100%}
  .ejtl-more-toggle{width:100%}
  .ejtl-load-more{width:100%;border-radius:13px!important}
}
