/* Veranstaltungen – IT Langschwert (Design „Klassisch-elegant“) */
.itlv{--itlv-c:#12345e;--itlv-c2:#0b2540;--itlv-a:#c9a24e;--itlv-bg:#f2ecdd;--itlv-line:#e3dcc9;--itlv-ink:#24211c;--itlv-muted:#6f6a5f;
  --itlv-serif:Georgia,"Iowan Old Style","Palatino Linotype","Book Antiqua","Times New Roman",serif;
  --itlv-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--itlv-serif);color:var(--itlv-ink);line-height:1.65;width:100%;max-width:1140px;margin:0 auto;box-sizing:border-box}
.itlv *,.itlv *::before,.itlv *::after{box-sizing:border-box}
.itlv-eyebrow{font-family:var(--itlv-sans);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--itlv-a);margin:0 0 10px}
.itlv .itlv-title{font-family:var(--itlv-serif);font-size:38px;line-height:1.2;font-weight:400;color:var(--itlv-c);margin:0 0 16px;text-transform:none;letter-spacing:0}
.itlv-lede{max-width:640px;font-size:17px;color:var(--itlv-muted);margin:0 0 30px}
.itlv-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px;font-family:var(--itlv-sans)}
.itlv .itlv-filter button{font-family:var(--itlv-sans);font-size:14px;font-weight:400;line-height:1.3;padding:9px 18px;border-radius:999px;border:1px solid var(--itlv-line);
  background:#fff;color:var(--itlv-ink);cursor:pointer;letter-spacing:.3px;text-transform:none;box-shadow:none}
.itlv .itlv-filter button:hover{border-color:var(--itlv-c);color:var(--itlv-c);background:#fff}
.itlv .itlv-filter button.active{background:var(--itlv-c);color:#fff;border-color:var(--itlv-c)}
.itlv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.itlv-card{background:#fff;border:1px solid var(--itlv-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.itlv-card:hover{box-shadow:0 10px 28px rgba(18,52,94,.16);transform:translateY(-3px)}
.itlv .itlv-flyer{display:block;border:0;border-radius:0;background:#f0ece0;cursor:pointer;padding:0;margin:0;width:100%;aspect-ratio:3/4;overflow:hidden}
.itlv .itlv-flyer:hover,.itlv .itlv-flyer:focus{background:#f0ece0}
.itlv .itlv-flyer img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:top;transition:transform .3s;display:block}
.itlv .itlv-flyer:hover img{transform:scale(1.04)}
.itlv-noflyer{display:flex!important;align-items:center;justify-content:center;cursor:default!important;background:linear-gradient(135deg,var(--itlv-c2),var(--itlv-c))!important}
.itlv-noflyer span{color:#fff;font-size:64px;line-height:1;text-align:center}
.itlv-noflyer small{display:block;font-family:var(--itlv-sans);font-size:14px;letter-spacing:3px;text-transform:uppercase;margin-top:8px;color:var(--itlv-a)}
.itlv-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;position:relative}
.itlv-date{position:absolute;top:-30px;left:18px;background:var(--itlv-c);color:#fff;border-radius:6px;padding:8px 12px;text-align:center;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.itlv-date .d{display:block;font-size:24px;font-weight:700;font-family:var(--itlv-sans)}
.itlv-date .m{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-family:var(--itlv-sans);margin-top:2px}
.itlv .itlv-name{font-family:var(--itlv-serif);font-size:21px;line-height:1.3;color:var(--itlv-c);margin:26px 0 12px;font-weight:400;text-transform:none;letter-spacing:0}
.itlv-info{font-family:var(--itlv-sans);font-size:14px;color:var(--itlv-muted);margin:-4px 0 12px}
.itlv-meta{font-family:var(--itlv-sans);font-size:14px;margin:0 0 18px}
.itlv-meta>div{display:flex;gap:10px;margin-bottom:6px}
.itlv-meta dt{color:var(--itlv-muted);min-width:60px;font-weight:600;margin:0}
.itlv-meta dd{color:var(--itlv-ink);margin:0}
.itlv a.itlv-ics{margin-top:auto;display:block;text-align:center;font-family:var(--itlv-sans);font-size:13.5px;font-weight:600;color:var(--itlv-c);background:none;
  border:1px solid var(--itlv-c);border-radius:4px;padding:10px 14px;cursor:pointer;letter-spacing:.3px;text-decoration:none}
.itlv a.itlv-ics:hover{background:var(--itlv-c);color:#fff}
.itlv-empty{font-family:var(--itlv-sans);color:var(--itlv-muted);font-size:15px}
.itlv-lb{position:fixed;inset:0;background:rgba(8,16,28,.88);z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.itlv-lb.open{display:flex}
.itlv-lb figure{max-width:min(92vw,760px);text-align:center;margin:0}
.itlv-lb img{max-width:100%;max-height:82vh;margin:0 auto;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:block}
.itlv-lb figcaption{color:#fff;font-family:var(--itlv-sans);font-size:15px;margin-top:14px}
.itlv .itlv-lb-x{position:absolute;top:20px;right:24px;background:rgba(255,255,255,.14);border:0;color:#fff;width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;padding:0}
.itlv .itlv-lb-x:hover{background:rgba(255,255,255,.3)}
body.itlv-lb-open{overflow:hidden}
@media (max-width:900px){.itlv-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .itlv .itlv-title{font-size:29px}
  .itlv-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:14px 4px 20px;-webkit-overflow-scrolling:touch}
  .itlv-card{scroll-snap-align:start;flex:0 0 82%;min-width:0}
  .itlv-card:hover{transform:none}
}
.itlv-lb.itlv{max-width:none;margin:0;width:auto}
.itlv-tag{align-self:flex-start;margin:26px 0 -18px;font-family:var(--itlv-sans);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--itlv-a);border:1px solid var(--itlv-a);border-radius:999px;padding:3px 10px}
.itlv-general .itlv-date{background:var(--itlv-a)}
