/* Elementor / theme compatibility. All layout rules are scoped to the shortcode. */
.sdz {
  --sdz-pad:clamp(18px,3vw,32px);
  --sdz-date:100px;
  --sdz-marker:24px;
  --sdz-gap:18px;
  font-size:16px;
  line-height:1.55;
}
.sdz .sdz-controls { padding:22px var(--sdz-pad); }
.sdz .sdz-count {
  margin:18px calc(var(--sdz-pad) + clamp(24px, 3vw, 48px)) 5px;
  color:#466377; text-align:right; font-size:.9rem;
}
.sdz .sdz-year-label { display:flex; align-items:center; gap:10px; color:#134d73; font-weight:700; }
.sdz .sdz-year-select {
  appearance:auto; min-height:44px; min-width:145px; padding:8px 12px;
  border:1px solid #b9d5d0; border-radius:8px; background:#fff;
  color:#134d73; font:inherit; cursor:pointer;
}
/* Opt-in class for the separate Elementor intro widget above the shortcode.
   It does not restyle paragraphs across the WordPress theme. */
.sdz-page-intro,
.sdz-page-intro p,
.sdz-page-intro .elementor-widget-container { color:#fff !important; }
.sdz .sdz-event[data-category="Wissenschaft"] .sdz-node { background:#7dc8c5; }
.sdz .sdz-event[data-category="Presse"] .sdz-node { background:#eb595c; }
.sdz .sdz-event[data-category="Wissenschaft"] .sdz-tag { background:#e5f6f4; }
.sdz .sdz-event[data-category="Presse"] .sdz-tag { background:#fff0ee; }
.sdz .sdz-chip {
  appearance:none; margin:0; min-height:44px; box-shadow:none;
  font-family:inherit; font-size:.9rem; font-weight:700; line-height:1.3;
  text-transform:none; letter-spacing:normal;
}
.sdz .sdz-list { padding:5px var(--sdz-pad) 32px; }
/* The line, year markers and event markers share the exact same grid coordinates. */
.sdz .sdz-list::before {
  left:calc(var(--sdz-pad) + var(--sdz-date) + var(--sdz-gap) + 10.5px);
  top:27px; width:3px; z-index:0;
}
.sdz .sdz-year,
.sdz .sdz-event {
  display:grid;
  grid-template-columns:var(--sdz-date) var(--sdz-marker) minmax(0,1fr);
  column-gap:var(--sdz-gap);
  position:relative;
}
.sdz .sdz-year {
  align-items:center; padding:0; border:0;
  font-family:inherit; font-size:1.7rem; font-weight:750; line-height:1.2;
  text-transform:none; letter-spacing:-.04em; color:#134d73;
  margin:28px 0 13px;
}
.sdz .sdz-year span { grid-column:1; width:auto; text-align:right; }
.sdz .sdz-year::after {
  grid-column:2; justify-self:center; width:18px; height:18px;
  border:4px solid #f8fbfa; margin:0; box-sizing:border-box;
}
.sdz .sdz-event { align-items:start; gap:0 var(--sdz-gap); margin:0 0 16px; }
.sdz .sdz-date {
  grid-column:1; text-align:right; padding-top:23px;
  color:#466377; font-size:.84rem; font-weight:700; line-height:1.35;
}
.sdz .sdz-node {
  grid-column:2; justify-self:center; width:14px; height:14px;
  box-sizing:border-box; margin:24px 0 0; border:3px solid #f8fbfa;
}
.sdz .sdz-card { grid-column:3; min-width:0; }
.sdz .sdz-toggle {
  appearance:none; display:block; width:100%; padding:20px 24px;
  text-align:left; border:0; border-radius:0; margin:0; box-shadow:none;
  background:transparent; color:#173750; font:inherit;
  text-transform:none; letter-spacing:normal;
}
.sdz .sdz-toggle:hover,
.sdz .sdz-toggle:focus-visible { background:#f3faf8; color:#173750; }
.sdz .sdz-title { color:#173750; text-transform:none; letter-spacing:normal; }
.sdz .sdz-summary { color:#415f70; }
.sdz .sdz-detail { color:#29485c; }
.sdz .sdz-detail p { color:inherit; margin:16px 0 0; }
.sdz .sdz-detail a { color:#134d73; }

.sdz .sdz-count {
  display: none;
}

@media (max-width:680px) {
  .sdz { --sdz-date:24px; --sdz-marker:24px; --sdz-gap:12px; }
  .sdz .sdz-list::before { left:calc(var(--sdz-pad) + 10.5px); }
  .sdz .sdz-year,
  .sdz .sdz-event { grid-template-columns:var(--sdz-marker) minmax(0,1fr); }
  .sdz .sdz-year span { grid-column:2; grid-row:1; text-align:left; }
  .sdz .sdz-year::after { grid-column:1; grid-row:1; }
  .sdz .sdz-date { grid-column:2; grid-row:1; padding:0; text-align:left; margin:0 0 7px; }
  .sdz .sdz-node { grid-column:1; grid-row:1 / span 2; margin-top:10px; }
  .sdz .sdz-card { grid-column:2; grid-row:2; }
  .sdz .sdz-toggle { padding:17px; }
}
