@font-face{font-family:"Space Grotesk";src:url("/static/SpaceGrotesk-VariableFont_wght.ttf") format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
:root{--blue:#0d3cab;--white:#fff;--paper:#f6f6f3;--text:#111;--muted:rgba(17,17,17,.72);--yellow:#f4d64d;--mint:#56d596;--cyan:#8ccff1;--coral:#ff7c57;--grey:#ecebe8;--black:#0b0b0b;--font-display:"Space Grotesk",sans-serif;--font-body:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max:1460px;--shadow-soft:0 12px 28px rgba(0,0,0,.08);--line-soft:1px solid rgba(17,17,17,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font-body);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.site{position:relative;overflow:hidden;isolation:isolate}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:0;background-image:radial-gradient(circle at 20% 20%,#000 .8px,transparent 1px),radial-gradient(circle at 80% 40%,#000 .8px,transparent 1px),radial-gradient(circle at 50% 75%,#000 .8px,transparent 1px);background-size:22px 22px,28px 28px,35px 35px}.wrap{width:min(calc(100% - 30px),var(--max));margin:0 auto;position:relative;z-index:2}
.topbar{position:sticky;top:0;z-index:50;background:rgba(246,246,243,.88);backdrop-filter:blur(12px);border-bottom:var(--line-soft)}.topbar-inner{width:min(calc(100% - 30px),var(--max));margin:0 auto;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;letter-spacing:-.04em}.brand-text strong{display:block;font-size:clamp(1.2rem,2vw,1.8rem);line-height:.95}.brand-text span{display:block;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;margin-top:3px}.nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nav a{padding:10px 12px;border:1.5px solid rgba(17,17,17,.12);border-radius:999px;background:rgba(255,255,255,.65)}.nav a:hover{background:var(--yellow)}
.pupsi-slot{display:inline-grid;place-items:center;width:76px;min-width:76px;height:62px;overflow:visible}.pupsi-slot svg,.loaded-pupsi-svg{width:100%;height:100%;object-fit:contain;overflow:visible;filter:drop-shadow(0 10px 14px rgba(0,0,0,.14))}.pupsi-slot.pupsi-fallback{background:var(--yellow);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-4deg);box-shadow:var(--shadow-soft)}.brand-pupsi{transform:rotate(-4deg)}
.hero{min-height:88vh;background:var(--blue);color:var(--white);display:grid;align-items:center;padding:70px 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}.kicker{display:inline-flex;width:fit-content;padding:10px 14px;margin-bottom:22px;background:var(--yellow);color:var(--black);font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-soft);transform:rotate(-2deg)}.hero h1{margin:0;max-width:10ch;font-family:var(--font-display);font-size:clamp(4.2rem,10vw,9.7rem);line-height:.86;letter-spacing:-.07em;font-weight:700}.hero h1 span{color:var(--yellow)}.hero-copy{max-width:35ch;margin:24px 0 0;color:rgba(255,255,255,.84);font-size:clamp(1.05rem,1.5vw,1.24rem);line-height:1.62}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border:0;border-radius:999px;background:var(--yellow);color:var(--black);font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-soft);transition:transform .18s ease,background .18s ease}.btn:hover{transform:translateY(-3px) rotate(-1deg);background:var(--mint)}.btn.ghost{background:transparent;color:var(--white);border:1.6px solid rgba(255,255,255,.75)}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.radar-card{position:relative;min-height:560px;padding:28px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);box-shadow:var(--shadow-soft);overflow:hidden}.radar-card:before,.radar-card:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.28);border-color:rgba(255,255,255,.32) transparent transparent transparent;border-radius:50%;pointer-events:none}.radar-card:before{width:340px;height:340px;left:-40px;bottom:40px;transform:rotate(38deg)}.radar-card:after{width:190px;height:190px;right:18%;top:42%;transform:rotate(-22deg)}.hero-pupsi{position:absolute;left:50%;top:45%;width:min(330px,46vw);height:min(260px,38vw);transform:translate(-50%,-50%) rotate(-6deg);z-index:1;opacity:.98}.hero-pupsi svg{width:100%;height:100%}.orbit-dot{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:12px 16px;font-family:var(--font-display);font-weight:700;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-soft);animation:bob 5s ease-in-out infinite}.orbit-dot.yellow{background:var(--yellow);color:var(--black)}.orbit-dot.mint{background:var(--mint);color:var(--black)}.orbit-dot.coral{background:var(--coral);color:var(--black)}.orbit-dot.soft{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22)}.orbit-dot:nth-child(2){left:8%;top:8%;transform:rotate(-7deg)}.orbit-dot:nth-child(3){right:4%;top:10%;transform:rotate(8deg);animation-delay:.5s}.orbit-dot:nth-child(4){left:22%;top:34%;transform:rotate(5deg);animation-delay:.9s}.orbit-dot:nth-child(5){right:10%;top:44%;transform:rotate(-7deg);animation-delay:1.2s}.orbit-dot:nth-child(6){left:6%;bottom:17%;transform:rotate(-5deg);animation-delay:1.6s}.orbit-dot:nth-child(7){right:18%;bottom:8%;transform:rotate(4deg);animation-delay:2s}.stats{position:absolute;left:28px;right:28px;bottom:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;z-index:3}.stat{padding:14px;background:rgba(255,255,255,.92);color:var(--black)}.stat strong{display:block;font-family:var(--font-display);font-size:2rem;line-height:1;letter-spacing:-.04em}.stat span{display:block;margin-top:5px;color:rgba(17,17,17,.68);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ticker{background:var(--white);overflow:hidden;border-top:var(--line-soft);border-bottom:var(--line-soft)}.ticker-track{display:flex;gap:34px;white-space:nowrap;width:max-content;padding:15px 0;font-family:var(--font-display);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;animation:ticker 22s linear infinite}
.section{padding:clamp(64px,8vw,130px) 0;position:relative}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:28px;align-items:end;margin-bottom:32px}.section-title{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,5.3rem);line-height:.92;letter-spacing:-.05em;font-weight:700;max-width:13ch}.section-intro{margin:0;max-width:760px;color:var(--muted);line-height:1.68;font-size:1.05rem}.filters{display:grid;grid-template-columns:1.3fr repeat(3,minmax(150px,.7fr));gap:14px;margin-bottom:22px;padding:18px;background:var(--white);border:var(--line-soft);box-shadow:var(--shadow-soft)}label{display:grid;gap:8px;font-family:var(--font-display);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}input,select,textarea{width:100%;padding:15px 16px;border:1.5px solid rgba(17,17,17,.12);background:rgba(255,255,255,.94);color:var(--text);outline:none}textarea{min-height:150px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(13,60,171,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hidden-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.calendar-card,.side-card,.system-card,.submit-card{background:rgba(255,255,255,.82);border:var(--line-soft);box-shadow:var(--shadow-soft)}.calendar-card{overflow:hidden}.calendar-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;background:var(--blue);color:var(--white)}.calendar-head span{display:block;font-family:var(--font-display);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}.calendar-head strong{display:block;margin-top:3px;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3.4rem);line-height:.92;letter-spacing:-.05em;text-transform:uppercase}.icon-btn{width:50px;height:50px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;background:transparent;color:var(--white);font-size:1.2rem}.icon-btn:hover{background:rgba(255,255,255,.15)}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays span{padding:12px;background:var(--white);border-right:var(--line-soft);border-bottom:var(--line-soft);font-family:var(--font-display);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center}.weekdays span:last-child{border-right:0}.day{min-height:136px;padding:10px;background:var(--white);border-right:var(--line-soft);border-bottom:var(--line-soft)}.day:nth-child(7n){border-right:0}.day.outside{background:var(--grey);color:rgba(17,17,17,.45)}.day.today{background:radial-gradient(circle at 20% 22%,rgba(244,214,77,.55) 0 18%,transparent 19%),var(--white)}.day-number{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-family:var(--font-display);font-weight:700}
.event-chip{width:100%;display:block;margin:6px 0;padding:8px 9px;border:0;background:var(--yellow);color:var(--black);text-align:left;font-family:var(--font-display);font-size:.78rem;font-weight:700;line-height:1.05;transition:transform .15s ease,filter .15s ease}.event-chip:hover{transform:translateY(-2px) rotate(-1deg);filter:saturate(1.08)}.event-chip small{display:block;margin-top:3px;color:rgba(17,17,17,.66);font-family:var(--font-body);font-size:.68rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip.coral{background:var(--coral)}.event-chip.cyan{background:var(--cyan)}.event-chip.yellow{background:var(--yellow)}.event-chip.blue{background:var(--blue);color:var(--white)}.event-chip.blue small{color:rgba(255,255,255,.75)}.event-chip.mint{background:var(--mint)}
.side-stack{display:grid;gap:18px}.side-card,.submit-card{padding:18px}.side-card h3,.system-card h3,.submit-card h3{margin:0 0 14px;font-family:var(--font-display);font-size:1.4rem;line-height:.95;letter-spacing:-.04em}.submit-card p{margin:0 0 16px;color:var(--muted);line-height:1.55}.event-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.event-card{padding:14px;background:var(--paper);border:var(--line-soft);cursor:pointer}.event-card:hover{background:var(--yellow)}.event-card strong{display:block;font-family:var(--font-display);font-size:1.05rem;line-height:1.05;letter-spacing:-.02em}.organizer-link{display:inline-flex;width:fit-content;margin-top:10px;border-bottom:2px solid currentColor;color:var(--blue);font-family:var(--font-display);font-weight:700}.meta{display:block;margin-top:5px;color:var(--muted);font-size:.84rem;line-height:1.35}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--white);color:var(--black);font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.tag.coral{background:var(--coral)}.tag.cyan{background:var(--cyan)}.tag.yellow{background:var(--yellow)}.tag.blue{background:var(--blue);color:var(--white)}.tag.mint{background:var(--mint)}
.system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.system-card{padding:20px}.system-card b{display:block;margin-bottom:18px;color:var(--blue);font-family:var(--font-display);font-size:3.8rem;line-height:.8;letter-spacing:-.08em}.system-card p{margin:0;color:var(--muted);line-height:1.6}.submit-form-card{background:var(--white);border:var(--line-soft);box-shadow:var(--shadow-soft);padding:clamp(22px,3vw,34px)}.form-status{display:none;margin-top:16px;padding:14px 16px;line-height:1.5}.form-status.is-visible{display:block}.form-status.is-success{background:rgba(86,213,150,.18);border-left:4px solid var(--mint)}.form-status.is-error{background:rgba(255,124,87,.16);border-left:4px solid var(--coral)}
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:18px;background:rgba(0,0,0,.55)}.modal.open{display:grid}.modal-card{position:relative;width:min(780px,100%);max-height:88vh;overflow:auto;padding:28px;background:var(--paper);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal-close{position:absolute;right:18px;top:18px;width:46px;height:46px;border:0;border-radius:999px;background:var(--yellow);font-size:1.5rem;font-weight:700}.modal-card h2{margin:20px 60px 14px 0;font-family:var(--font-display);font-size:clamp(2.3rem,5vw,4.8rem);line-height:.9;letter-spacing:-.05em}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.detail-grid div{padding:14px;background:var(--white);border:var(--line-soft)}.detail-grid dt{font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.detail-grid dd{margin:4px 0 0;line-height:1.35}.empty{padding:14px;border:1px dashed rgba(17,17,17,.26);color:var(--muted);line-height:1.45}.footer{padding:32px 0;background:var(--blue);color:var(--white)}.footer-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}.footer a{border-bottom:1px solid rgba(255,255,255,.4)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -14px}}
@media(max-width:1120px){.hero-grid,.section-head,.calendar-layout{grid-template-columns:1fr}.radar-card{min-height:500px}.filters,.system-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.topbar-inner{align-items:flex-start;flex-direction:column;padding:14px 0}.nav{justify-content:flex-start}.hero{min-height:auto}.hero h1{font-size:clamp(3.1rem,17vw,5.8rem)}.radar-card{min-height:560px}.stats,.filters,.system-grid,.detail-grid,.form-row{grid-template-columns:1fr}.calendar-head{grid-template-columns:auto minmax(0,1fr) auto}.weekdays span{padding:9px 4px;font-size:.65rem}.day{min-height:98px;padding:6px}.event-chip{font-size:.66rem;padding:6px}.event-chip small{display:none}}

/* Past events + today navigation */
.calendar-nav-actions{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end}.today-btn{min-height:50px;padding:0 16px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(255,255,255,.12);color:var(--white);font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.today-btn:hover{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.day.past-day{background:repeating-linear-gradient(-45deg,rgba(17,17,17,.025) 0 8px,rgba(17,17,17,.045) 8px 16px),#e8e7e3;color:rgba(17,17,17,.48)}.day.past-day .day-number{opacity:.65}.event-chip.is-past{opacity:.52;filter:grayscale(.5);background:#d8d7d2!important;color:rgba(17,17,17,.62)!important}.event-chip.is-past small{color:rgba(17,17,17,.52)!important}.event-card.is-past{opacity:.58;background:#e8e7e3}.event-card.is-past:hover{opacity:.78;background:#deddd8}.event-card.is-past strong::after{content:" · vorbei";color:rgba(17,17,17,.46);font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:0}.past-notice{display:inline-flex;width:fit-content;margin-top:12px;padding:8px 10px;border-radius:999px;background:#d8d7d2;color:rgba(17,17,17,.68);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}@media(max-width:760px){.calendar-nav-actions{gap:6px}.today-btn{min-height:44px;padding:0 12px;font-size:.7rem}}


/* V4.2: clean suggestion form, no Brave dependency */
.calendar-nav-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
}

.today-btn {
  min-height: 50px;
  padding: 0 16px;
  border: 1.5px solid rgba(255,255,255,.4);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.today-btn:hover {
  background: var(--yellow);
  color: var(--black);
  border-color: var(--yellow);
}

.day.past-day {
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(17,17,17,.025) 0 8px,
      rgba(17,17,17,.045) 8px 16px
    ),
    #e8e7e3;
  color: rgba(17,17,17,.48);
}

.day.past-day .day-number {
  opacity: .65;
}

.event-chip.is-past {
  opacity: .52;
  filter: grayscale(.5);
  background: #d8d7d2 !important;
  color: rgba(17,17,17,.62) !important;
}

.event-chip.is-past small {
  color: rgba(17,17,17,.52) !important;
}

.event-card.is-past {
  opacity: .58;
  background: #e8e7e3;
}

.event-card.is-past:hover {
  opacity: .78;
  background: #deddd8;
}

.event-card.is-past strong::after {
  content: " · vorbei";
  color: rgba(17,17,17,.46);
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: 0;
}

.past-notice {
  display: inline-flex;
  width: fit-content;
  margin-top: 12px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #d8d7d2;
  color: rgba(17,17,17,.68);
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.submit-form-card {
  max-width: 1120px;
  margin: 0 auto;
}

.suggestion-form {
  display: block;
  width: 100%;
}

.suggestion-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 28px;
  align-items: start;
}

.suggestion-form .form-field {
  position: relative;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 9px;
  width: 100%;
  margin: 0;
  padding: 0 0 0 18px;
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.suggestion-form .form-field::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2.15em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--coral);
}

.suggestion-form .form-field span {
  display: block;
  line-height: 1.25;
}

.suggestion-form .form-field em {
  color: var(--coral);
  font-style: normal;
}

.suggestion-form .field-wide,
.suggestion-form .field-full {
  grid-column: span 2;
}

.suggestion-form input,
.suggestion-form select,
.suggestion-form textarea {
  width: 100%;
  min-width: 0;
  display: block;
  margin: 0;
  padding: 17px 18px;
  border: 2px solid rgba(17,17,17,.13);
  background: #fff;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

.suggestion-form select {
  appearance: auto;
}

.suggestion-form textarea {
  min-height: 170px;
  resize: vertical;
}

.suggestion-form input::placeholder,
.suggestion-form textarea::placeholder {
  color: rgba(17,17,17,.38);
}

.suggestion-form input:focus,
.suggestion-form select:focus,
.suggestion-form textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(13,60,171,.12);
}

.form-actions {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 26px;
}

.form-smallprint {
  max-width: 52ch;
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.5;
}

.hidden-field {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.form-status {
  display: none;
  margin-top: 18px;
  padding: 15px 18px;
  line-height: 1.55;
  font-weight: 650;
}

.form-status.is-visible {
  display: block;
}

.form-status.is-success {
  background: rgba(86,213,150,.18);
  border-left: 5px solid var(--mint);
}

.form-status.is-error {
  background: rgba(255,124,87,.16);
  border-left: 5px solid var(--coral);
}

@media (max-width: 760px) {
  .calendar-nav-actions {
    gap: 6px;
  }

  .today-btn {
    min-height: 44px;
    padding: 0 12px;
    font-size: .7rem;
  }

  .suggestion-grid {
    grid-template-columns: 1fr;
  }

  .suggestion-form .field-wide,
  .suggestion-form .field-full {
    grid-column: 1;
  }

  .suggestion-form .form-field {
    padding-left: 16px;
  }

  .form-actions {
    align-items: stretch;
  }

  .form-actions .btn {
    width: 100%;
  }
}


/* V4.3 suggestion form polish */
#vorschlagen .section-head{align-items:end} 
.submit-form-card{background:linear-gradient(180deg,#ffffff 0%,#fbfaf7 100%);border:1px solid rgba(17,17,17,.08);box-shadow:0 18px 45px rgba(17,17,17,.08);padding:clamp(24px,3vw,40px)}
.suggestion-form{display:block;width:100%}
.suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;align-items:start}
.suggestion-form .form-field{display:grid !important;grid-template-columns:1fr !important;align-items:start;gap:10px;width:100%;margin:0;padding:0;min-width:0} 
.suggestion-form .form-field::before{display:none !important;content:none !important}
.suggestion-form .form-field > span{display:block;font-family:var(--font-display);font-size:.84rem;font-weight:700;letter-spacing:.12em;line-height:1.25;text-transform:uppercase;color:var(--text)}
.suggestion-form .form-field > span em{font-style:normal;color:var(--coral)}
.suggestion-form .field-wide,.suggestion-form .field-full{grid-column:1 / -1}
.suggestion-form input,.suggestion-form select,.suggestion-form textarea{appearance:none;-webkit-appearance:none;width:100%;min-width:0;display:block;margin:0;border:1.5px solid rgba(17,17,17,.12);background:#fff;padding:16px 18px;color:var(--text);font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.35;border-radius:0;box-shadow:none;outline:none} 
.suggestion-form select{background-image:linear-gradient(45deg,transparent 50%,rgba(17,17,17,.7) 50%),linear-gradient(135deg,rgba(17,17,17,.7) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px} 
.suggestion-form textarea{min-height:180px;resize:vertical} 
.suggestion-form input::placeholder,.suggestion-form textarea::placeholder{color:rgba(17,17,17,.36);font-weight:500} 
.suggestion-form input:focus,.suggestion-form select:focus,.suggestion-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(13,60,171,.10)} 
.form-actions{display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid rgba(17,17,17,.08)}
.form-actions .btn{flex:0 0 auto} 
.form-smallprint{max-width:60ch;margin:0;color:var(--muted);font-size:.95rem;line-height:1.55} 
.form-status{display:none;margin-top:18px;padding:14px 16px;font-size:.96rem;font-weight:600;line-height:1.5} 
.form-status.is-visible{display:block} 
@media(max-width:760px){.suggestion-grid{grid-template-columns:1fr}.suggestion-form .field-wide,.suggestion-form .field-full{grid-column:1}.form-actions{align-items:flex-start}.form-actions .btn{width:100%}.form-smallprint{max-width:none}}


/* V4.4 category color system */
:root {
  --tag-comic: var(--coral);
  --tag-anime: var(--cyan);
  --tag-cosplay: var(--yellow);
  --tag-gaming: var(--blue);
  --tag-fantasy: var(--mint);
  --tag-furry: #c98fff;
}

.tag.coral,
.event-chip.coral { background: var(--tag-comic); color: var(--black); }

.tag.cyan,
.event-chip.cyan { background: var(--tag-anime); color: var(--black); }

.tag.yellow,
.event-chip.yellow { background: var(--tag-cosplay); color: var(--black); }

.tag.blue,
.event-chip.blue { background: var(--tag-gaming); color: var(--white); }

.tag.mint,
.event-chip.mint { background: var(--tag-fantasy); color: var(--black); }

.tag.violet,
.event-chip.violet { background: var(--tag-furry); color: var(--black); }

.event-chip.violet small,
.event-chip.coral small,
.event-chip.cyan small,
.event-chip.yellow small,
.event-chip.mint small {
  color: rgba(17,17,17,.66);
}

.event-chip.blue small {
  color: rgba(255,255,255,.75);
}

.category-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -6px 0 20px;
}

.category-legend .tag {
  box-shadow: 0 6px 14px rgba(0,0,0,.06);
}


/* V4.5 multi-category display */
.category-legend {
  display: none !important;
}

.event-chip.multi-tag {
  position: relative;
  overflow: hidden;
  padding-top: 16px;
  background: #fff !important;
  color: var(--black) !important;
  border: 1px solid rgba(17,17,17,.1);
  box-shadow: 0 5px 14px rgba(0,0,0,.045);
}

.event-chip.multi-tag::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 7px;
  background: var(--event-stripes, var(--yellow));
}

.event-chip.multi-tag span {
  display: block;
}

.event-chip.multi-tag small {
  color: rgba(17,17,17,.62) !important;
}

.event-chip.multi-tag i {
  display: block;
  margin-top: 5px;
  color: rgba(17,17,17,.46);
  font-family: var(--font-body);
  font-size: .64rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.event-chip.multi-tag:hover {
  background: #fff !important;
}

.event-chip.multi-tag.is-past {
  opacity: .58;
  filter: grayscale(.65);
  background: #f1f0ec !important;
}

.event-card {
  position: relative;
  overflow: hidden;
  padding-top: 20px;
}

.event-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 7px;
  background: var(--event-stripes, var(--yellow));
}

.event-card.is-past::before {
  filter: grayscale(.75);
  opacity: .65;
}

@media (max-width: 760px) {
  .event-chip.multi-tag {
    padding-top: 12px;
  }

  .event-chip.multi-tag::before,
  .event-card::before {
    height: 5px;
  }

  .event-chip.multi-tag i {
    display: none;
  }
}


/* V4.6 true split category backgrounds */
.event-chip.split-bg {
  position: relative;
  overflow: hidden;
  padding: 14px 12px 12px;
  background: var(--event-split-bg, var(--yellow)) !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.045);
  isolation: isolate;
}

.event-chip.split-bg::before {
  display: none !important;
  content: none !important;
}

.event-chip.split-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.18);
  z-index: -1;
  pointer-events: none;
}

.event-chip.split-bg span {
  display: block;
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 0 rgba(255,255,255,.18);
}

.event-chip.split-bg small {
  position: relative;
  z-index: 1;
  color: rgba(17,17,17,.66) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.18);
}

.event-chip.split-bg i {
  display: block;
  position: relative;
  z-index: 1;
  margin-top: 5px;
  color: rgba(17,17,17,.55);
  font-family: var(--font-body);
  font-size: .64rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .03em;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 rgba(255,255,255,.18);
}

.event-chip.split-bg:hover {
  background: var(--event-split-bg, var(--yellow)) !important;
  filter: saturate(1.08);
}

.event-chip.split-bg.is-past {
  opacity: .58;
  filter: grayscale(.65);
}

.event-chip.multi-tag {
  background: var(--event-split-bg, var(--event-stripes, var(--yellow))) !important;
  color: var(--black) !important;
}

.event-chip.multi-tag::before {
  display: none !important;
  content: none !important;
}

.event-card::before {
  background: var(--event-split-bg, var(--event-stripes, var(--yellow))) !important;
}

@media (max-width: 760px) {
  .event-chip.split-bg {
    padding: 10px 8px;
  }

  .event-chip.split-bg i {
    display: none;
  }
}


/* V4.7 forced split category backgrounds */
.event-chip.split-bg,
.event-chip.multi-tag,
.calendar-grid .event-chip.split-bg,
.calendar-grid .event-chip.multi-tag {
  position: relative;
  overflow: hidden;
  padding: 14px 12px 12px !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.045);
  isolation: isolate;
}

.event-chip.split-bg::before,
.event-chip.multi-tag::before {
  display: none !important;
  content: none !important;
}

.event-chip.split-bg::after,
.event-chip.multi-tag::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.20);
  z-index: -1;
  pointer-events: none;
}

.event-chip.split-bg span,
.event-chip.multi-tag span,
.event-chip.split-bg small,
.event-chip.multi-tag small,
.event-chip.split-bg i,
.event-chip.multi-tag i {
  position: relative;
  z-index: 1;
}

.event-chip.split-bg small,
.event-chip.multi-tag small {
  color: rgba(17,17,17,.66) !important;
}

.event-chip.split-bg i,
.event-chip.multi-tag i {
  display: block;
  margin-top: 5px;
  color: rgba(17,17,17,.55);
  font-family: var(--font-body);
  font-size: .64rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .03em;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.event-chip.split-bg.is-past,
.event-chip.multi-tag.is-past {
  opacity: .58;
  filter: grayscale(.65);
}

.event-card::before {
  background: var(--event-split-bg, var(--tag-cosplay)) !important;
}

@media (max-width: 760px) {
  .event-chip.split-bg,
  .event-chip.multi-tag {
    padding: 10px 8px !important;
  }

  .event-chip.split-bg i,
  .event-chip.multi-tag i {
    display: none;
  }
}


/* V5 forced final event split style */
.event-chip.split-bg,
.calendar-grid .event-chip.split-bg {
  position: relative;
  overflow: hidden;
  padding: 14px 12px 12px !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.045);
  isolation: isolate;
  background: var(--event-split-bg, var(--tag-cosplay)) !important;
}

.event-chip.split-bg::before {
  display: none !important;
  content: none !important;
}

.event-chip.split-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.20);
  z-index: -1;
  pointer-events: none;
}

.event-chip.split-bg span,
.event-chip.split-bg small,
.event-chip.split-bg i {
  position: relative;
  z-index: 1;
}

.event-chip.split-bg small {
  color: rgba(17,17,17,.66) !important;
}

.event-chip.split-bg i {
  display: block;
  margin-top: 5px;
  color: rgba(17,17,17,.55);
  font-family: var(--font-body);
  font-size: .64rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .03em;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* V5.1 Pupsi local asset fix */
.pupsi-slot.has-pupsi {
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}

.pupsi-slot.has-pupsi svg,
.pupsi-slot.has-pupsi .loaded-pupsi-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.hero-pupsi.has-pupsi {
  background: transparent !important;
}

.pupsi-local-fallback {
  transform: rotate(-5deg);
}

/* V5.3: echte Mehrfachkategorien + schönere Tagesübersicht */
:root {
  --tag-comic: var(--coral);
  --tag-anime: var(--cyan);
  --tag-cosplay: var(--yellow);
  --tag-gaming: var(--blue);
  --tag-fantasy: var(--mint);
  --tag-furry: #c98fff;
}

.tag.violet,
.event-chip.violet,
.admin-cat-tag.violet {
  background: var(--tag-furry);
  color: var(--black);
}

.day {
  position: relative;
  min-height: 168px;
  padding: 12px;
  overflow: hidden;
}

.day-number {
  position: relative;
  z-index: 3;
}

.day-count {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: var(--yellow);
  color: var(--black);
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.day-count:hover {
  transform: translateY(-2px) rotate(-4deg);
  background: var(--mint);
}

.event-chip.split-bg,
.calendar-grid .event-chip.split-bg {
  position: relative;
  display: block;
  width: 100%;
  min-height: 54px;
  margin: 7px 0;
  padding: 10px 11px 9px !important;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(17,17,17,.10) !important;
  border-radius: 0;
  background: var(--event-split-bg, var(--yellow)) !important;
  color: var(--black) !important;
  text-align: left;
  box-shadow: 0 6px 14px rgba(0,0,0,.055);
}

.event-chip.split-bg::before,
.event-chip.split-bg::after,
.event-chip.multi-tag::before,
.event-chip.multi-tag::after {
  display: none !important;
  content: none !important;
}

.event-chip.split-bg span,
.event-chip.split-bg small,
.event-chip.split-bg i {
  position: relative;
  z-index: 2;
  display: block;
}

.event-chip.split-bg span {
  font-family: var(--font-display);
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--black) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.18);
}

.event-chip.split-bg small {
  margin-top: 4px;
  color: rgba(17,17,17,.68) !important;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 rgba(255,255,255,.16);
}

.event-chip.split-bg i {
  margin-top: 5px;
  color: rgba(17,17,17,.55) !important;
  font-family: var(--font-body);
  font-size: .58rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: .03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 rgba(255,255,255,.16);
}

.event-chip.split-bg.compact-chip {
  min-height: 46px;
  padding: 8px 9px 7px !important;
}

.event-chip.split-bg.compact-chip i {
  display: none;
}

.event-chip.split-bg:hover {
  transform: translateY(-2px) rotate(-1deg);
  filter: saturate(1.08) contrast(1.02);
}

.event-chip.split-bg.is-past {
  opacity: .52;
  filter: grayscale(.7);
}

.day-more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 36px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1.5px dashed rgba(17,17,17,.24);
  background: rgba(255,255,255,.72);
  color: rgba(17,17,17,.78);
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.day-more:hover {
  background: var(--yellow);
  border-style: solid;
  color: var(--black);
  transform: translateY(-2px);
}

.day.has-overflow-events::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 38px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.94));
  z-index: 1;
}

.day.past-day.has-overflow-events::after,
.day.outside.has-overflow-events::after {
  background: linear-gradient(180deg, rgba(232,231,227,0), rgba(232,231,227,.94));
}

.event-card {
  position: relative;
  overflow: hidden;
  padding-top: 22px !important;
}

.event-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 9px;
  background: var(--event-split-bg, var(--yellow)) !important;
}

.day-events-modal {
  z-index: 120;
}

.day-modal-card {
  width: min(860px, 100%);
}

.day-modal-card h2 {
  margin-bottom: 10px;
}

.day-modal-intro {
  margin-bottom: 22px;
}

.day-modal-list {
  display: grid;
  gap: 12px;
}

.day-modal-event {
  position: relative;
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 16px 18px 16px 22px;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.10);
  background: rgba(255,255,255,.92);
  color: var(--black);
  text-align: left;
  box-shadow: 0 8px 20px rgba(0,0,0,.055);
}

.day-modal-event::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 10px;
  background: var(--event-split-bg, var(--yellow));
}

.day-modal-event:hover {
  transform: translateY(-2px);
  background: #fff;
}

.day-modal-event strong {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.day-modal-event span {
  color: rgba(17,17,17,.76);
  font-weight: 700;
  line-height: 1.35;
}

.day-modal-event small {
  color: rgba(17,17,17,.54);
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.day-modal-event.is-past {
  opacity: .62;
  filter: grayscale(.65);
}

@media (max-width: 1120px) {
  .day {
    min-height: 150px;
  }
}

@media (max-width: 760px) {
  .day {
    min-height: 122px;
    padding: 7px;
  }

  .day-count {
    width: 28px;
    height: 28px;
    font-size: .78rem;
  }

  .event-chip.split-bg,
  .calendar-grid .event-chip.split-bg {
    min-height: 38px;
    margin: 5px 0;
    padding: 7px 7px 6px !important;
  }

  .event-chip.split-bg span {
    font-size: .68rem;
  }

  .event-chip.split-bg small,
  .event-chip.split-bg i {
    display: none;
  }

  .day-more {
    min-height: 30px;
    padding: 6px;
    font-size: .62rem;
    letter-spacing: .06em;
  }
}


/* V5.4 safety: preserve calendar height even when JS/data are still loading */
.calendar-grid:empty::before {
  content: "Kalender wird geladen …";
  grid-column: 1 / -1;
  min-height: 260px;
  display: grid;
  place-items: center;
  color: rgba(17,17,17,.55);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* V5.7: Lesbarkeit vor Farbfläche – Kategorien bleiben sichtbar, Text bleibt ruhig lesbar */
:root {
  --violet: #c98fff;
  --tag-furry: var(--violet);
}

.calendar-card {
  overflow: visible;
}

.day {
  position: relative;
  overflow: hidden;
  min-height: 168px;
}

.day-number {
  position: relative;
  z-index: 5;
}

.day-count {
  border: 0;
  background: var(--yellow);
  color: var(--black);
  box-shadow: 0 7px 16px rgba(0,0,0,.08);
}

.event-chip.split-bg,
.event-chip.multi-tag,
.calendar-grid .event-chip.split-bg,
.calendar-grid .event-chip.multi-tag {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 62px;
  margin: 8px 0;
  padding: 20px 11px 10px !important;
  border: 1px solid rgba(17,17,17,.12) !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--black) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.055);
  text-shadow: none !important;
}

.event-chip.split-bg::before,
.event-chip.multi-tag::before,
.calendar-grid .event-chip.split-bg::before,
.calendar-grid .event-chip.multi-tag::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0 0 auto 0;
  height: 9px;
  background: var(--event-split-bg, var(--yellow)) !important;
  z-index: 0;
}

.event-chip.split-bg::after,
.event-chip.multi-tag::after {
  display: none !important;
  content: none !important;
}

.event-chip.split-bg span,
.event-chip.split-bg small,
.event-chip.split-bg i,
.event-chip.multi-tag span,
.event-chip.multi-tag small,
.event-chip.multi-tag i {
  position: relative;
  z-index: 1;
  text-shadow: none !important;
}

.event-chip.split-bg span,
.event-chip.multi-tag span {
  display: block;
  color: var(--black) !important;
  font-size: .84rem;
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -.015em;
}

.event-chip.split-bg small,
.event-chip.multi-tag small {
  display: block;
  margin-top: 6px;
  color: rgba(17,17,17,.68) !important;
  font-size: .67rem;
  font-weight: 800;
  line-height: 1.15;
}

.event-chip.split-bg i,
.event-chip.multi-tag i {
  display: block;
  margin-top: 5px;
  color: rgba(17,17,17,.48) !important;
  font-family: var(--font-body);
  font-size: .58rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: .02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.event-chip.split-bg.compact-chip,
.event-chip.multi-tag.compact-chip {
  min-height: 50px;
  padding: 17px 9px 8px !important;
}

.event-chip.split-bg.compact-chip span,
.event-chip.multi-tag.compact-chip span {
  font-size: .75rem;
}

.event-chip.split-bg.compact-chip small,
.event-chip.multi-tag.compact-chip small {
  font-size: .61rem;
}

.event-chip.split-bg.compact-chip i,
.event-chip.multi-tag.compact-chip i {
  display: none;
}

.event-chip.split-bg:hover,
.event-chip.multi-tag:hover {
  background: #fff !important;
  transform: translateY(-2px);
  filter: saturate(1.03);
}

.event-chip.split-bg.is-past,
.event-chip.multi-tag.is-past {
  opacity: .56;
  filter: grayscale(.78);
  background: rgba(255,255,255,.78) !important;
}

.day-more {
  position: relative;
  z-index: 6;
  min-height: 38px;
  margin-top: 8px;
  border: 2px dashed rgba(17,17,17,.26);
  background: rgba(244,214,77,.90);
  color: var(--black);
  box-shadow: 0 7px 16px rgba(0,0,0,.06);
}

.day-more:hover {
  background: var(--yellow);
  border-style: solid;
}

.day.has-overflow-events::after {
  z-index: 4;
}

.event-card {
  position: relative;
  overflow: hidden;
  padding-top: 24px !important;
  background: rgba(255,255,255,.92) !important;
}

.event-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 10px;
  background: var(--event-split-bg, var(--yellow)) !important;
}

.event-card strong,
.day-modal-event strong {
  color: var(--black);
}

.day-modal-event {
  background: rgba(255,255,255,.96) !important;
}

.day-modal-event::before {
  background: var(--event-split-bg, var(--yellow)) !important;
}

.tag.violet,
.event-chip.violet {
  background: var(--tag-furry);
  color: var(--black);
}

@media (max-width: 760px) {
  .day {
    min-height: 126px;
  }

  .event-chip.split-bg,
  .event-chip.multi-tag,
  .calendar-grid .event-chip.split-bg,
  .calendar-grid .event-chip.multi-tag {
    min-height: 40px;
    padding: 14px 7px 7px !important;
  }

  .event-chip.split-bg::before,
  .event-chip.multi-tag::before {
    height: 6px;
  }

  .event-chip.split-bg span,
  .event-chip.multi-tag span {
    font-size: .68rem;
  }

  .event-chip.split-bg small,
  .event-chip.split-bg i,
  .event-chip.multi-tag small,
  .event-chip.multi-tag i {
    display: none;
  }
}


/* V5.8: Kalender volle Breite + kommende Events als horizontaler Slider */
.calendar-layout {
  grid-template-columns: 1fr !important;
  gap: 26px !important;
}

.calendar-card {
  width: 100%;
}

.side-stack {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: stretch;
}

.side-card {
  overflow: hidden;
  padding: clamp(18px, 2.2vw, 26px) !important;
}

.side-card h3::after {
  content: " · kommende Termine";
  color: rgba(17,17,17,.48);
  font-family: var(--font-body);
  font-size: .72em;
  font-weight: 750;
  letter-spacing: 0;
}

.event-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 8px 4px 18px !important;
  margin: 0 -4px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.event-list::-webkit-scrollbar {
  height: 10px;
}

.event-list::-webkit-scrollbar-track {
  background: rgba(17,17,17,.06);
}

.event-list::-webkit-scrollbar-thumb {
  background: rgba(17,17,17,.28);
}

.event-list .empty {
  flex: 1 1 100%;
  min-height: 120px;
}

.event-card {
  flex: 0 0 clamp(280px, 30vw, 420px) !important;
  min-height: 176px;
  scroll-snap-align: start;
  cursor: pointer;
}

.event-card .organizer-link {
  margin-top: 14px;
}

.submit-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: clamp(18px, 2.2vw, 26px) !important;
}

.submit-card h3 {
  margin-bottom: 8px !important;
}

.submit-card p {
  max-width: 74ch;
  margin: 0 !important;
}

.submit-card .btn {
  flex: 0 0 auto;
}

/* Past events: im Kalender sichtbar, im Slider per JS ausgeblendet */
.event-list .event-card.is-past {
  display: none !important;
}

@media (min-width: 1121px) {
  .calendar-card .day {
    min-height: 176px;
  }
}

@media (max-width: 760px) {
  .event-card {
    flex-basis: min(86vw, 360px) !important;
  }

  .submit-card {
    display: grid;
    justify-items: start;
  }

  .submit-card .btn {
    width: 100%;
  }

  .side-card h3::after {
    display: block;
    margin-top: 6px;
  }
}
