/* BFS Veranstaltungen 3.3.2 — public event/editorial relationships */
:root{
  --bfs-rel-blue:#2d98cf;
  --bfs-rel-blue-dark:#102d45;
  --bfs-rel-red:#d8003f;
  --bfs-rel-green:#63b32e;
  --bfs-rel-line:#dbe8ef;
  --bfs-rel-muted:#607381;
}

.bfs-related-event-card{
  position:relative;
  box-sizing:border-box;
  width:100%;
  max-width:780px;
  margin:0 auto 38px;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:18px 20px 18px 18px;
  overflow:hidden;
  border:1px solid var(--bfs-rel-line);
  border-radius:24px;
  background:
    radial-gradient(circle at 91% 0,rgba(99,179,46,.12) 0 80px,transparent 81px),
    linear-gradient(120deg,#f4fbff 0%,#fff 54%,#f9fcf5 100%);
  box-shadow:0 14px 34px rgba(16,45,69,.09);
  color:var(--bfs-rel-blue-dark);
}
.bfs-related-event-card__accent{position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--bfs-rel-red) 0 34%,var(--bfs-rel-blue) 34% 68%,var(--bfs-rel-green) 68%)}
.bfs-related-event-card__date{display:grid;grid-template-rows:auto 1fr auto;place-items:center;min-height:92px;overflow:hidden;border:1px solid #e3eaf0;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(16,45,69,.10)}
.bfs-related-event-card__month{box-sizing:border-box;width:100%;padding:6px 5px 5px;background:var(--bfs-rel-red);color:#fff;text-align:center;font-size:.66rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.bfs-related-event-card__date strong{font-size:2rem;line-height:1;margin-top:4px}
.bfs-related-event-card__year{padding-bottom:7px;color:var(--bfs-rel-muted);font-size:.69rem;font-weight:800}
.bfs-related-event-card__content{min-width:0}
.bfs-related-event-card__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;color:#418222;font-size:.72rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.bfs-related-event-card__eyebrow::before{content:"";width:22px;height:3px;border-radius:99px;background:var(--bfs-rel-green)}
.bfs-related-event-card__content h2{margin:0 0 9px!important;color:var(--bfs-rel-blue-dark)!important;font-size:clamp(1.2rem,2vw,1.6rem)!important;line-height:1.12!important;letter-spacing:-.025em!important}
.bfs-related-event-card__facts{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;color:#506673;font-size:.9rem;font-weight:750}
.bfs-related-event-card__facts>span{display:inline-flex;align-items:center;gap:7px}
.bfs-related-event-card__facts svg{width:18px;height:18px;fill:none;stroke:var(--bfs-rel-blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bfs-related-event-card__address{margin:5px 0 0!important;color:var(--bfs-rel-muted)!important;font-size:.84rem!important;line-height:1.45!important}
.bfs-related-event-card__link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px;padding:11px 14px 11px 17px!important;border:0!important;border-radius:15px!important;background:var(--bfs-rel-blue)!important;color:#fff!important;text-decoration:none!important;font-size:.9rem!important;font-weight:900!important;white-space:nowrap;box-shadow:0 8px 18px rgba(45,152,207,.22);transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important}
.bfs-related-event-card__link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bfs-related-event-card__link:hover,.bfs-related-event-card__link:focus-visible{background:var(--bfs-rel-red)!important;transform:translateY(-2px);box-shadow:0 11px 24px rgba(216,0,63,.2)}

/* Keep the blog relation exactly on the editorial content edge. */
.single-post-body>.bfs-related-event-card{max-width:780px;margin-left:auto;margin-right:auto}

/* Event landing page: align the story module with every other event section. */
.bfs-event-stories{box-sizing:border-box;width:min(1180px,calc(100% - 40px));margin:48px auto}
.event-template .bfs-event-stories{width:100%;max-width:1280px;margin:0 auto;padding:64px clamp(22px,6vw,80px)}
.bfs-event-stories__head{display:flex;align-items:center;gap:15px;margin-bottom:24px}
.bfs-event-stories__head>span{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--bfs-rel-blue),#52b8e9);color:#fff;font-size:1.2rem;box-shadow:0 9px 20px rgba(45,152,207,.2)}
.bfs-event-stories__head small{display:block;color:#418222;font-size:.72rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.bfs-event-stories__head h2{margin:3px 0 0!important;color:var(--bfs-rel-blue-dark);font-size:clamp(1.8rem,3.2vw,2.7rem)!important;line-height:1.05!important}
.bfs-event-stories__timeline{position:relative;display:grid;gap:18px;padding-left:34px}
.bfs-event-stories__timeline::before{content:"";position:absolute;left:9px;top:9px;bottom:9px;width:3px;border-radius:3px;background:linear-gradient(var(--bfs-rel-blue),var(--bfs-rel-green),var(--bfs-rel-red))}
.bfs-event-story{position:relative}
.bfs-event-story__marker{position:absolute;left:-34px;top:28px;width:20px;height:20px;border:5px solid #fff;border-radius:50%;background:var(--bfs-rel-blue);box-shadow:0 0 0 2px #a9d9ee}
.bfs-event-story__card{display:grid;grid-template-columns:minmax(175px,235px) minmax(0,1fr);overflow:hidden;border:1px solid var(--bfs-rel-line);border-radius:22px;background:#fff;box-shadow:0 10px 26px rgba(16,45,69,.07)}
.bfs-event-story__image{display:block;min-height:185px;overflow:hidden}
.bfs-event-story__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.bfs-event-story__image:hover img{transform:scale(1.035)}
.bfs-event-story__body{padding:22px 24px}
.bfs-event-story__meta{margin-bottom:5px;color:var(--bfs-rel-muted);font-size:.8rem;font-weight:700}
.bfs-event-story__body h3{margin:.25rem 0 .55rem!important;font-size:clamp(1.25rem,2vw,1.55rem)!important;line-height:1.16!important}
.bfs-event-story__body h3 a{color:var(--bfs-rel-blue-dark)!important;text-decoration:none!important}
.bfs-event-story__body p{margin:0 0 12px!important;color:var(--bfs-rel-muted)!important;line-height:1.58!important}
.bfs-event-story__more{color:var(--bfs-rel-blue)!important;font-weight:900!important;text-decoration:none!important}
.bfs-event-story__more:hover{color:var(--bfs-rel-red)!important}

html.bfs-dark-mode .bfs-related-event-card{border-color:#314b5d;background:linear-gradient(120deg,#102638,#142b3b 58%,#152d25);color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.2)}
html.bfs-dark-mode .bfs-related-event-card__date{background:#0d2130;border-color:#3c5363;color:#fff}
html.bfs-dark-mode .bfs-related-event-card__content h2,html.bfs-dark-mode .bfs-event-stories__head h2,html.bfs-dark-mode .bfs-event-story__body h3 a{color:#fff!important}
html.bfs-dark-mode .bfs-related-event-card__facts,html.bfs-dark-mode .bfs-related-event-card__address,html.bfs-dark-mode .bfs-event-story__body p{color:#c2d2da!important}
html.bfs-dark-mode .bfs-event-story__card{background:#13293a;border-color:#30495b}
html.bfs-dark-mode .bfs-event-story__marker{border-color:#10212e}

@media(max-width:820px){
  .bfs-related-event-card{grid-template-columns:78px minmax(0,1fr);gap:15px;padding:15px 16px 15px 15px;border-radius:21px}
  .bfs-related-event-card__date{min-height:82px;border-radius:15px}
  .bfs-related-event-card__date strong{font-size:1.7rem}
  .bfs-related-event-card__link{grid-column:1/-1;width:100%;justify-content:space-between!important}
  .event-template .bfs-event-stories{padding-top:48px;padding-bottom:48px}
}
@media(max-width:620px){
  .bfs-related-event-card{grid-template-columns:68px minmax(0,1fr);gap:12px;margin-bottom:30px}
  .bfs-related-event-card__date{min-height:74px}.bfs-related-event-card__date strong{font-size:1.5rem}.bfs-related-event-card__month{font-size:.58rem}
  .bfs-related-event-card__content h2{font-size:1.12rem!important}.bfs-related-event-card__facts{font-size:.82rem}
  .bfs-event-stories__timeline{padding-left:26px}.bfs-event-story__marker{left:-26px}.bfs-event-stories__timeline::before{left:8px}
  .bfs-event-story__card{grid-template-columns:1fr}.bfs-event-story__image{min-height:190px;max-height:250px}
  .bfs-event-story__body{padding:19px 18px}
}
@media(prefers-reduced-motion:reduce){.bfs-related-event-card__link,.bfs-event-story__image img{transition:none!important}}
