/* =====================================================================
   Events-Seite – Layout analog zu anleitung.css, plus Helfer-Popup
   ===================================================================== */
html{ scroll-padding-top:120px; background:#F4F4F6; }
body{ color:#B6B6BB; line-height:1.7; overflow-x:clip; }
a{ color:#E06A6E; text-decoration:none; }
a:hover{ color:#fff; }

.bgshard{ position:fixed; z-index:0; pointer-events:none; opacity:.14; }
.bgshard.s1{ left:-22%; bottom:-10%; width:min(70vw,760px); aspect-ratio:4800/3330; background:url('/assets/brand/pattern-dark.svg') center/contain no-repeat; }

.eyebrow{ font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:.22em; color:#E06A6E; text-transform:uppercase; margin-bottom:20px; }

/* Hero */
.hero{ position:relative; overflow:hidden; padding:150px clamp(20px,5vw,64px) 64px; border-bottom:1px solid rgba(255,255,255,.08); background:#0B0B0D; }
.hero .shard{ position:absolute; top:-22%; right:-7%; width:min(82vw,900px); aspect-ratio:4800/3330; opacity:.52; z-index:1; pointer-events:none; -webkit-mask-image:radial-gradient(120% 130% at 84% 26%, #000 32%, rgba(0,0,0,0) 72%); mask-image:radial-gradient(120% 130% at 84% 26%, #000 32%, rgba(0,0,0,0) 72%); }
.hero .shard img{ width:100%; height:100%; object-fit:contain; object-position:top right; }
.hero-wash{ position:absolute; inset:0; background:linear-gradient(115deg, rgba(202,43,47,.10) 0%, rgba(110,39,51,.22) 52%, rgba(11,11,13,0) 100%); pointer-events:none; }
.hero-glow{ position:absolute; inset:0; background:radial-gradient(120% 105% at 82% 20%, rgba(202,43,47,.20), rgba(11,11,13,0) 58%); pointer-events:none; }
.hero-fade{ position:absolute; inset:0; z-index:2; background:linear-gradient(90deg, rgba(11,11,13,.92) 0%, rgba(11,11,13,.58) 40%, rgba(11,11,13,.08) 100%); pointer-events:none; }
.hero-inner{ position:relative; z-index:3; max-width:1180px; margin:0 auto; }
.hero h1{ font-family:'Ethnocentric','Archivo',sans-serif; font-weight:400; font-size:clamp(40px,8vw,88px); line-height:1.05; color:#fff; text-transform:uppercase; }
.hero .lead{ max-width:600px; margin-top:22px; font-size:clamp(15px,1.5vw,17.5px); line-height:1.65; color:#B6B6BB; }

/* Sections */
.events-main{ position:relative; z-index:1; }
/* 1180px Inhalt + seitliches Padding, damit die Sektionen bündig mit dem Hero stehen (wie anleitung.css) */
.section{ max-width:calc(1180px + 2 * clamp(20px,5vw,64px)); margin:0 auto; padding:clamp(56px,7vw,88px) clamp(20px,5vw,64px); }
.section + .section{ border-top:1px solid rgba(255,255,255,.07); }
.section-head h2{ font-size:clamp(26px,3.6vw,40px); font-weight:800; letter-spacing:-0.02em; color:#fff; line-height:1.1; }
.section-lead{ max-width:620px; margin-top:14px; font-size:15.5px; line-height:1.65; color:#A8A8AC; }

.flash-wrap{ max-width:calc(1180px + 2 * clamp(20px,5vw,64px)); margin:0 auto; padding:24px clamp(20px,5vw,64px) 0; }
.flash{ border-radius:12px; padding:14px 18px; font-size:14.5px; border:1px solid rgba(255,255,255,.1); background:#101013; color:#fff; }
.flash.success{ border-color:rgba(76,175,80,.45); }
.flash.error{ border-color:rgba(202,43,47,.55); }

/* Event-Karte: Datum links wie ein Ticket-Abriss, Inhalt mittig, Aktion rechts */
.event-list{ display:flex; flex-direction:column; gap:14px; margin-top:clamp(28px,3vw,40px); }
.event{
  position:relative;
  display:grid; grid-template-columns:150px 1fr; gap:0 28px; align-items:start;
  background:#101013; border:1px solid rgba(255,255,255,.07); border-radius:18px; padding:26px 26px 26px 0;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), border-color .3s ease;
}
/* Status-Label oben rechts auf der Karte */
.card-badge{ position:absolute; top:16px; right:16px; z-index:2; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; padding:7px 12px; border-radius:100px; border:1px solid; background:rgba(16,16,19,.92); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); box-shadow:0 6px 18px rgba(0,0,0,.35); white-space:nowrap; }
.card-badge.draft{ color:#F0C36B; border-color:rgba(240,195,107,.6); }
.card-badge.cancelled{ color:#9A9A9E; border-color:rgba(255,255,255,.2); }
.event:hover{ border-color:rgba(202,43,47,.4); transform:translateY(-3px); }
.event.is-cancelled{ opacity:.55; }
.event.is-cancelled h3{ text-decoration:line-through; }

.event-date{
  position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:2px;
  padding:10px 16px; border-right:1px dashed rgba(255,255,255,.14); align-self:stretch; justify-content:center;
}
.event-date .wd{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em; color:#7A7A7E; text-transform:uppercase; margin-bottom:6px; }
.event-date .d{ font-family:'Ethnocentric','Archivo',sans-serif; font-size:46px; line-height:1; color:#fff; }
.event-date .m{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.16em; color:#CA2B2F; text-transform:uppercase; margin-top:8px; }
.event-date .w{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.04em; color:#B6B6BB; margin-top:10px; white-space:nowrap; }
.event-date .w small{ display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#7A7A7E; margin-top:3px; }
/* Ticket-Kerben oben/unten an der Abrisskante */
.event-date::before, .event-date::after{ content:""; position:absolute; right:-7px; width:13px; height:13px; border-radius:50%; background:#0B0B0D; border:1px solid rgba(255,255,255,.07); }
.event-date::before{ top:-33px; } .event-date::after{ bottom:-33px; }

.event-body{ min-width:0; position:relative; }
/* "Helfer gesucht" als Aufkleber auf dem Bild (oben rechts); ohne Bild steht die Pill über dem Titel */
.pill-float{ position:absolute; top:12px; right:12px; z-index:2; background:rgba(16,16,19,.88); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); box-shadow:0 6px 18px rgba(0,0,0,.35); }
.card-badge ~ .event-body .pill-float{ top:52px; }
.event-body > .pill:not(.pill-float){ margin-bottom:12px; }
.event-cal .btn-help{ padding:11px 20px; font-size:13.5px; }
.event-img{ width:100%; aspect-ratio:4/1; object-fit:cover; border-radius:12px; margin-bottom:16px; display:block; }
.event-body h3{ font-size:clamp(19px,2vw,24px); font-weight:800; color:#fff; letter-spacing:-0.01em; line-height:1.2; }
.event-meta{ margin-top:8px; font-size:14px; color:#9F9FA4; }
.event-meta .loc{ display:inline-flex; align-items:center; gap:7px; color:inherit; }
.event-meta .loc:hover{ color:#E06A6E; text-decoration:underline; text-underline-offset:3px; }
.event-meta .loc .ext{ font-size:11px; opacity:.6; margin-left:2px; }
.event-cal{ display:flex; align-items:center; gap:14px; margin-top:16px; flex-wrap:wrap; }
.btn-cal{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:100px; padding:9px 16px; transition:border-color .2s, background .2s; }
.btn-cal svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.btn-cal:hover{ border-color:#CA2B2F; background:rgba(202,43,47,.1); color:#fff; }
.cal-alt{ font-size:12.5px; color:#8A8A8E; } .cal-alt:hover{ color:#fff; }
.event-meta svg{ color:#CA2B2F; flex:none; }
.teaser{ margin-top:12px; font-size:15px; line-height:1.6; color:#B6B6BB; max-width:62ch; }
.event-more{ margin-top:12px; }
.event-more summary{ cursor:pointer; font-size:13.5px; font-weight:600; color:#E06A6E; list-style:none; display:inline-flex; align-items:center; gap:6px; }
.event-more summary::-webkit-details-marker{ display:none; }
.event-more summary::after{ content:"+"; font-family:'JetBrains Mono',monospace; }
.event-more[open] summary::after{ content:"–"; }
.event-desc{ margin-top:10px; font-size:14.5px; color:#A8A8AC; max-width:62ch; }
.event-desc p + p{ margin-top:10px; }

.pill{ display:inline-flex; align-items:center; gap:8px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#E06A6E; border:1px solid rgba(202,43,47,.4); border-radius:100px; padding:6px 12px; white-space:nowrap; }
.pill i{ width:7px; height:7px; border-radius:50%; background:#CA2B2F; animation:ecgblip 1.6s ease-in-out infinite; }
.pill.muted{ color:#7A7A7E; border-color:rgba(255,255,255,.14); }
.btn-help{
  display:inline-flex; align-items:center; gap:8px; background:#CA2B2F; color:#fff; border:0; cursor:pointer;
  font-family:inherit; font-size:14px; font-weight:700; padding:12px 20px; border-radius:100px; white-space:nowrap;
  transition:background .25s, transform .25s;
}
.btn-help:hover{ background:#E03A3E; transform:translateY(-1px); }

.empty{ margin-top:28px; background:#101013; border:1px dashed rgba(255,255,255,.14); border-radius:18px; padding:36px 28px; }
.empty .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; color:#7A7A7E; text-transform:uppercase; margin-bottom:10px; }
.empty p{ color:#B6B6BB; font-size:15px; }

.event.is-draft{ border-style:dashed; }

/* Rückblick: Bild-Karten statt Textliste – hinter jedem Event stecken Fotos und ein Beitrag.
   Die Events-Seite läuft im hellen Modus (theme-light), die Farben sind direkt darauf abgestimmt. */
.past-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:clamp(24px,3vw,36px); }
.past-card{
  display:flex; flex-direction:column; overflow:hidden; border-radius:16px; text-decoration:none;
  background:#fff; border:1px solid rgba(0,0,0,.09); box-shadow:0 1px 2px rgba(17,17,20,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
a.past-card:hover{ transform:translateY(-2px); border-color:rgba(202,43,47,.45); box-shadow:0 10px 24px rgba(17,17,20,.10); }
.pc-media{ display:block; aspect-ratio:2/1; overflow:hidden; background:#17171B; }
.pc-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
a.past-card:hover .pc-media img{ transform:scale(1.04); }
.pc-fallback{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.pc-fallback img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; transform:none !important; }
.pc-fallback b{ position:relative; font-family:'Ethnocentric','Archivo',sans-serif; font-size:30px; color:rgba(255,255,255,.85); }
.pc-body{ display:flex; flex-direction:column; gap:6px; padding:16px 18px 18px; }
.pc-date{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.05em; color:#8A8A8E; }
.pc-title{ font-weight:800; font-size:17px; line-height:1.3; color:#111114; letter-spacing:-0.01em; }
.pc-cta{ margin-top:4px; font-size:13px; font-weight:600; color:#CA2B2F; }
a.past-card:hover .pc-cta{ text-decoration:underline; }
.past-card.is-quiet{ opacity:.75; }
.past-card.is-quiet .pc-media img{ filter:grayscale(.5); }
@media (max-width:980px){ .past-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:620px){ .past-grid{ grid-template-columns:1fr; gap:14px; } }

/* Rückblick-Seite (Bericht + Galerie) */
.hero-report .hero-inner h1{ font-size:clamp(30px,4.6vw,54px); }
.report-main{ padding-top:clamp(24px,3vw,40px); }
.report-body{ max-width:880px; }
.report-text{ color:#C9C9CE; font-size:16.5px; line-height:1.75; }
.report-text p{ margin:0 0 1.1em; }
.report-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:clamp(22px,3vw,34px); }
.report-pic{ margin:0; }
.report-pic img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; border:1px solid rgba(255,255,255,.08); display:block; transition:transform .18s, border-color .18s; }
.report-pic a:hover img{ transform:scale(1.015); border-color:rgba(255,255,255,.22); }
.report-pic figcaption{ color:#8A8A90; font-size:12.5px; margin-top:6px; }
.report-back{ margin-top:clamp(26px,3vw,40px); }
.report-back a{ color:#CA2B2F; text-decoration:none; font-weight:600; }
.report-back a:hover{ text-decoration:underline; }

/* So läuft das */
.how{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(12px,1.6vw,18px); margin-top:clamp(28px,3vw,40px); }
.how-step{ background:#101013; border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:24px 22px; }
.how-step .n{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; color:#CA2B2F; }
.how-step h3{ font-size:19px; font-weight:800; color:#fff; margin:14px 0 8px; }
.how-step p{ font-size:14.5px; color:#9F9FA4; line-height:1.6; }


/* ---------------------------------------------------------------------
   Popup (native <dialog>)
   --------------------------------------------------------------------- */
.help-modal{
  margin:auto; border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:0;
  background:#0F0F12; color:#B6B6BB; width:min(720px, calc(100vw - 32px));
  max-height:calc(100vh - 32px); overflow:auto;
  box-shadow:0 40px 100px rgba(0,0,0,.6);
}
.help-modal::backdrop{ background:rgba(6,6,8,.78); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.help-form, .help-success{ padding:clamp(22px,4vw,36px); position:relative; }
.help-close{ position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); color:#fff; font-size:22px; line-height:1; cursor:pointer; }
.help-close:hover{ background:rgba(255,255,255,.12); }
.help-head h2{ font-size:clamp(22px,3vw,30px); font-weight:800; color:#fff; letter-spacing:-0.02em; line-height:1.15; padding-right:44px; }
.help-head h2 span{ color:#E06A6E; }
.help-sub{ margin-top:8px; font-size:13.5px; color:#8A8A8E; }
.help-error{ margin-top:18px; border:1px solid rgba(202,43,47,.55); background:rgba(202,43,47,.1); color:#fff; border-radius:12px; padding:12px 16px; font-size:14px; }

.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; margin-top:24px; }
.field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.field.span2{ grid-column:1 / -1; }
.field label{ font-size:12.5px; font-weight:600; color:#D8D8DC; letter-spacing:.01em; }
.field label small{ color:#7A7A7E; font-weight:500; }
.field input, .field select, .field textarea{
  width:100%; font:inherit; font-size:15px; color:#fff; background:#16161A;
  border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:11px 13px;
  transition:border-color .2s, box-shadow .2s;
}
.field textarea{ resize:vertical; min-height:80px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:#CA2B2F; box-shadow:0 0 0 3px rgba(202,43,47,.22); }
.field input[type="date"]{ color-scheme:dark; }
body{ --dp-bg:#16161A; --dp-text:#fff; --dp-muted:#8A8A8E; --dp-border:rgba(255,255,255,.14); --dp-field:rgba(255,255,255,.06); --dp-hover:rgba(255,255,255,.08); --dp-accent:#CA2B2F; --dp-we:#F0989B; }
.field select{ appearance:none; background-image:linear-gradient(45deg, transparent 50%, #9A9A9E 50%), linear-gradient(135deg, #9A9A9E 50%, transparent 50%); background-position:calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size:5px 5px; background-repeat:no-repeat; }
.field.has-error input, .field.has-error select, .field.has-error textarea{ border-color:#CA2B2F; }
.err{ font-size:12.5px; color:#F0989B; min-height:0; }
.err:empty{ display:none; }

.hp{ position:absolute; left:-9999px; top:-9999px; height:0; width:0; overflow:hidden; }

.consent{ display:flex; gap:12px; align-items:flex-start; margin-top:22px; font-size:13.5px; line-height:1.55; color:#A8A8AC; cursor:pointer; }
.consent input{ flex:none; width:18px; height:18px; margin-top:3px; accent-color:#CA2B2F; }

.help-actions{ display:flex; align-items:center; gap:14px; margin-top:26px; flex-wrap:wrap; }
.btn-submit{
  display:inline-flex; align-items:center; gap:10px; background:#CA2B2F; color:#fff; border:0; cursor:pointer;
  font-family:inherit; font-size:15px; font-weight:700; padding:14px 26px; border-radius:100px;
  transition:background .25s, transform .25s, opacity .2s;
}
.btn-submit:hover{ background:#E03A3E; transform:translateY(-1px); }
.btn-submit[disabled]{ opacity:.6; cursor:wait; transform:none; }
.btn-cancel{ background:none; border:0; color:#9A9A9E; font:inherit; font-size:14px; cursor:pointer; padding:10px 6px; }
.btn-cancel:hover{ color:#fff; }

.help-success h2{ font-size:clamp(24px,3vw,32px); font-weight:800; color:#fff; letter-spacing:-0.02em; }
.help-success p{ margin:14px 0 26px; font-size:15.5px; color:#B6B6BB; max-width:46ch; }

/* ---------------------------------------------------------------------
   Responsiv
   --------------------------------------------------------------------- */
@media (max-width:820px){
  /* Landing-Hero wie auf den anderen Unterseiten: volle Bildschirmhöhe, Inhalt mittig */
  .hero{ min-height:100svh; padding:96px 20px 44px; display:flex; flex-direction:column; justify-content:center; }
  .bgshard{ display:none; }
  .eyebrow{ font-size:11px; letter-spacing:.12em; }
  .event{ grid-template-columns:1fr; gap:16px; padding:18px 16px 20px; border-radius:16px; }
  /* Datum als ruhiger Block: große Tageszahl links, daneben Wochentag über Monat, Uhrzeit rechts */
  .event-date{
    display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto;
    column-gap:12px; row-gap:1px; align-items:center;
    border-right:0; border-bottom:1px dashed rgba(0,0,0,.16); padding:0 0 12px;
  }
  .event-date .d{ grid-column:1; grid-row:1/3; font-size:38px; line-height:.95; align-self:center; }
  .event-date .wd{ grid-column:2; grid-row:1; align-self:end; margin:0; }
  .event-date .m{ grid-column:2; grid-row:2; align-self:start; margin:0; }
  .event-date .w{ grid-column:3; grid-row:1/3; align-self:center; justify-self:end; margin:0; text-align:right; }
  .event-date .w small{ display:inline; margin-left:4px; }
  .event-date::before, .event-date::after{ display:none; }
  .event-body h3{ font-size:19px; line-height:1.25; }
  .event-img{ margin:2px 0 4px; border-radius:12px; }
  .pill-float{ top:10px; right:10px; }
  .card-badge{ top:12px; right:12px; }
  .teaser{ font-size:14px; }
  .event-cal{ flex-wrap:wrap; gap:10px; }
  .event-cal .btn-help, .event-cal .btn-cal{ width:100%; justify-content:center; }
  .event-cal .cal-alt{ margin:0 auto; }
  .grid2{ grid-template-columns:1fr; }
  .help-modal{ width:calc(100vw - 20px); max-height:calc(100vh - 20px); border-radius:16px; }
}
@media (max-width:370px){
  .event-date{ grid-template-columns:auto 1fr; }
  .event-date .w{ grid-column:1/3; grid-row:3; justify-self:start; text-align:left; margin-top:4px; }
}
@media (prefers-reduced-motion: reduce){
  .event, .btn-help, .btn-submit, .past-card, .pc-media img{ transition:none; }
  .pill i{ animation:none; }
}
.section-partner .partner-grid{ margin-top:28px; }

/* Bericht-Blöcke auf der öffentlichen Rückblick-Seite (feste Stile, wie im Editor) */
.report-text .rb-h{ font-family:'Ethnocentric','Archivo',sans-serif; font-size:clamp(21px,2.6vw,30px); line-height:1.25; color:#F2F2F4; margin:34px 0 12px; }
.report-text .rb-h:first-child{ margin-top:0; }
.report-text .rb-sub{ font-family:'Archivo',sans-serif; font-weight:800; font-size:19px; color:#E4E4E8; margin:24px 0 8px; }
.report-text .rb-p{ margin:0 0 1.1em; }
.report-text .rb-quote{ margin:22px 0; padding:4px 0 4px 18px; border-left:3px solid #CA2B2F; font-style:italic; font-weight:700; font-size:18px; color:#E4E4E8; }
.report-text .rb-list{ margin:0 0 1.2em 22px; line-height:1.8; }
.report-text .rb-list li::marker{ color:#CA2B2F; }

/* Abgesagte Events unmissverständlich machen */
.card-badge.cancelled{ color:#FF6B6E; border-color:rgba(202,43,47,.7); }
.event.is-cancelled .event-img{ filter:grayscale(1); opacity:.35; }
.event.is-cancelled h3{ color:#8A8A8E; }
.cancel-note{ display:inline-block; margin:2px 0 10px; padding:5px 12px; border-radius:100px;
  border:1px solid rgba(202,43,47,.55); color:#FF6B6E; font-size:13px; font-weight:600; text-decoration:none !important; }

/* Team-Vorschau-Hinweis auf der Rückblick-Seite: wie eine Team-Ankündigung, in Inhaltsbreite */
.preview-note{ margin:0 0 clamp(22px,3vw,34px); padding:12px 16px; border-radius:12px;
  border:1px solid rgba(240,195,107,.5); border-left:4px solid #F0C36B; background:rgba(240,195,107,.09);
  color:#E8C87E; font-size:14px; line-height:1.55; }
.preview-note b{ color:#F0C36B; }

/* =====================================================================
   Terminleiste + kompakte Liste (Überblick zuerst, Details auf Klick)
   ===================================================================== */
.jump-bar{ position:sticky; top:66px; z-index:20; display:flex; align-items:center; gap:14px; margin-top:clamp(22px,3vw,32px); padding:10px 12px; border-radius:16px; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(0,0,0,.08); box-shadow:0 8px 28px rgba(16,20,34,.08); }
.jump-scroll{ display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; flex:1; min-width:0; padding:2px; }
.jump-scroll::-webkit-scrollbar{ display:none; }
.jump{ flex:none; display:flex; align-items:center; gap:10px; padding:6px 12px 6px 8px; border-radius:12px; border:1px solid rgba(0,0,0,.08); background:#fff; color:#4A4A50; text-decoration:none; scroll-snap-align:center; transition:border-color .2s ease, background .2s ease, transform .2s ease; }
.jump:hover{ border-color:rgba(202,43,47,.45); color:#111114; transform:translateY(-1px); }
.jump.is-current{ border-color:#CA2B2F; background:rgba(202,43,47,.06); color:#111114; }
.jump.is-cancelled{ opacity:.5; }
.jump .jd{ display:flex; flex-direction:column; align-items:center; line-height:1; min-width:30px; }
.jump .jd b{ font-family:'Ethnocentric','Archivo',sans-serif; font-size:16px; color:#111114; }
.jump .jd small{ font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:#CA2B2F; margin-top:2px; }
.jump .jt{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.jump .jt-wd{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#8A8A8E; white-space:nowrap; }
.jump .jt-title{ font-size:13px; font-weight:700; white-space:nowrap; }
.jump-tools{ flex:none; display:flex; align-items:center; gap:10px; padding-left:12px; border-left:1px solid rgba(0,0,0,.1); }
.jump-count{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; color:#8A8A8E; text-transform:uppercase; white-space:nowrap; }
.view-toggle{ font:inherit; font-size:13px; font-weight:700; color:#111114; background:none; border:1px solid rgba(0,0,0,.14); border-radius:100px; padding:7px 13px; cursor:pointer; white-space:nowrap; }
.view-toggle:hover{ border-color:#CA2B2F; color:#CA2B2F; }
.event-month{ font-size:14px; font-weight:800; letter-spacing:.02em; color:#111114; margin:18px 0 -2px 4px; }
.event-month:first-of-type{ margin-top:22px; }
/* Kompakte Zeile */
.event-toggle{ all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:8px; font:inherit; color:inherit; }
.event-toggle .chev{ width:16px; height:16px; fill:none; stroke:#8A8A8E; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s ease; flex:none; }
.event.is-open .event-toggle .chev{ transform:rotate(180deg); }
.event-toggle:hover{ color:#CA2B2F; }
.event-detail{ margin-top:0; }
.event-list.is-compact .event:not(.is-open){ padding-top:16px; padding-bottom:16px; cursor:pointer; }
.event-list.is-compact .event:not(.is-open) .event-detail, .event-list.is-compact .event:not(.is-open) .event-img, .event-list.is-compact .event:not(.is-open) .pill-float, .event-list.is-compact .event:not(.is-open) .cancel-note{ display:none; }
.event-list.is-compact .event:not(.is-open) .event-date .wd, .event-list.is-compact .event:not(.is-open) .event-date::before, .event-list.is-compact .event:not(.is-open) .event-date::after{ display:none; }
.event-list.is-compact .event:not(.is-open) .event-date .d{ font-size:30px; }
.event-list.is-compact .event:not(.is-open) .event-date .m{ margin-top:4px; }
.event-list.is-compact .event:not(.is-open) .event-date .w{ margin-top:6px; }
.event-list.is-compact .event:not(.is-open) .event-body h3{ font-size:18px; }
.event-list.is-compact .event:not(.is-open) .event-body > .pill:not(.pill-float){ display:none; }
.event-list.is-compact .event .event-meta{ display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; }
.btn-help.mini{ padding:6px 13px; font-size:12.5px; }
.event.is-open .btn-help.mini{ display:none; }   /* offen: großer Knopf unten reicht */
.event.is-open .event-detail{ animation:evOpen .3s ease both; }
@keyframes evOpen{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
@media (max-width:820px){
  .jump-bar{ top:58px; margin-left:-8px; margin-right:-8px; border-radius:14px; padding:8px; gap:8px; }
  .jump-tools{ display:none; }
  .jump{ padding:5px 10px 5px 7px; }
  .jump .jt-title{ font-size:12.5px; max-width:130px; overflow:hidden; text-overflow:ellipsis; }
  .event-list.is-compact .event:not(.is-open) .event-date{ display:flex; gap:8px; align-items:baseline; border:0; padding:0; }
  .event-list.is-compact .event:not(.is-open) .event-date .d{ font-size:22px; }
  .event-list.is-compact .event:not(.is-open) .event-date .w{ margin:0 0 0 auto; }
  .event-list.is-compact .event:not(.is-open){ gap:8px; }
  .btn-help.mini{ width:auto !important; }
}
@media (prefers-reduced-motion: reduce){ .event.is-open .event-detail, .jump{ animation:none; transition:none; } }
.event-list.is-compact .event:not(.is-open) .event-date{ padding:2px 12px; min-height:0; }
.event-list.is-compact .event:not(.is-open) .event-date .w small{ display:inline; margin-left:4px; }
.event-list.is-compact .event:not(.is-open){ gap:0 20px; }
@media (max-width:820px){ .event-list.is-compact .event:not(.is-open) .event-date{ flex-direction:row; flex-wrap:wrap; } .event-list.is-compact .event:not(.is-open) .event-date .m{ margin:0; } }

/* Mobil: Terminleiste leichter und vom Header abgesetzt; kompakte Zeile mit klarer Datumszeile */
@media (max-width:820px){
  .jump-bar{ top:78px; margin:18px 0 0; padding:6px 6px; background:rgba(244,244,246,.9); border:0; box-shadow:none; border-radius:0; }
  .jump{ padding:5px 10px; gap:8px; border-radius:100px; }
  .jump .jd{ flex-direction:row; align-items:baseline; gap:4px; min-width:0; }
  .jump .jd b{ font-size:13px; font-family:'JetBrains Mono',monospace; font-weight:700; }
  .jump .jd small{ margin:0; font-size:9.5px; }
  .jump .jt-wd{ display:none; }
  .jump .jt-title{ font-size:12px; font-weight:600; max-width:110px; }
  .jump.is-current{ background:#CA2B2F; border-color:#CA2B2F; color:#fff; }
  .jump.is-current .jd b, .jump.is-current .jd small, .jump.is-current .jt-title{ color:#fff; }
  .event-month{ margin:22px 0 4px 2px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#8A8A8E; }
  /* Kompakte Zeile: [Sa · 03. Okt] rechts Uhrzeit / Titel / Badge / Mithelfen + Ort */
  .event-list.is-compact .event:not(.is-open){ padding:14px 16px 16px; gap:6px; }
  .event-list.is-compact .event:not(.is-open) .event-date{ display:flex; align-items:center; gap:8px; margin-bottom:2px; }
  .event-list.is-compact .event:not(.is-open) .event-date .wd{ display:inline; font-size:10.5px; color:#8A8A8E; margin:0; }
  .event-list.is-compact .event:not(.is-open) .event-date .wd::after{ content:"·"; margin-left:8px; color:#C4C4CA; }
  .event-list.is-compact .event:not(.is-open) .event-date .d{ font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; color:#111114; }
  .event-list.is-compact .event:not(.is-open) .event-date .d::after{ content:"."; }
  .event-list.is-compact .event:not(.is-open) .event-date .m{ font-size:11px; letter-spacing:.1em; margin:0; }
  .event-list.is-compact .event:not(.is-open) .event-date .w{ margin-left:auto; font-size:11px; color:#8A8A8E; }
  .event-list.is-compact .event:not(.is-open) .card-badge{ position:static; display:inline-flex; margin:0 0 6px; }
  .event-list.is-compact .event:not(.is-open) .event-body h3{ font-size:17px; line-height:1.3; }
  .event-list.is-compact .event:not(.is-open) .event-meta{ margin-top:8px; gap:8px 12px; }
  .event-list.is-compact .event:not(.is-open) .event-meta .loc{ font-size:13px; }
}
/* Desktop: Terminleiste mit Luft unter dem Header, nicht daran klebend */
@media (min-width:821px){ .jump-bar{ top:100px; } }
