/* VITZ Content Suite 5.2 – compact Termine layouts for narrow columns.
   All five layouts are designed to work in a 350 px desktop column and scale by container width. */
.vitz-events-v2{
  --vitz-accent:#ff6b00;--vitz-ink:#202020;--vitz-muted:#686868;--vitz-line:#e8e5e1;
  --vitz-surface:#fff;--vitz-soft:#f7f6f4;--vitz-status:#438a50;--vitz-radius:12px;
  --vitz-status-content-display:inline-flex;--vitz-status-date-display:none;--vitz-status-footer-display:flex;
  --vitz-status-content-position:absolute;--vitz-status-content-transform:translate(var(--vitz-status-x,0px),var(--vitz-status-y,-38%));
  --vitz-status-top:0;--vitz-status-right:auto;--vitz-status-bottom:auto;--vitz-status-left:0;--vitz-status-x:10px;--vitz-status-y:0px;
  box-sizing:border-box;width:100%;min-width:0;container-type:inline-size;color:var(--vitz-ink);font-family:inherit
}
.vitz-events-v2 *{box-sizing:border-box}.vitz-events-v2 a{color:inherit;text-decoration:none}
.vitz-events-v2__header{display:flex;align-items:center;gap:16px;margin:0 0 14px;padding:22px 26px;background:#efefef}.vitz-events-v2__header-text{min-width:0}
.vitz-events-v2__heading,.vitz-events-v2__subtitle,.vitz-event-v2__title{margin:0}.vitz-events-v2__heading{color:#313131}
.vitz-events-v2__subtitle{margin-top:5px;color:#777}.vitz-events-v2__header-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--vitz-accent);font-size:20px}
.vitz-events-v2__header-icon svg{width:1em;height:1em;fill:currentColor}.vitz-events-v2__header--separate .vitz-events-v2__header-icon{margin-left:auto}
.vitz-events-v2__archive{flex:none;margin-left:auto;color:var(--vitz-accent)}
.vitz-events-v2--frame-container{position:relative;isolation:isolate}.vitz-events-v2--frame-container::after,.vitz-events-v2--frame-list .vitz-events-v2__list::after{content:"";position:absolute;z-index:50;inset:0;box-sizing:border-box;border:1px solid var(--vitz-line);border-radius:inherit;pointer-events:none}.vitz-events-v2__list{display:flex;flex-direction:column;gap:0;background-clip:padding-box}.vitz-events-v2--frame-list .vitz-events-v2__list{position:relative;isolation:isolate}.vitz-events-v2__empty{padding:20px;border:1px dashed var(--vitz-line);border-radius:var(--vitz-radius);background:var(--vitz-soft);text-align:center;color:var(--vitz-muted)}

/* Shared compact event anatomy */
.vitz-event-v2{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 32px;grid-template-areas:"date content arrow";align-items:center;column-gap:12px;row-gap:7px;min-width:0;padding:14px 10px;border-bottom:1px solid var(--vitz-line);background:var(--vitz-surface);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
.vitz-event-v2.vitz-event-v2--custom-background{background:var(--vitz-event-custom-background)!important}
.vitz-event-v2:last-of-type{border-bottom:0}.vitz-event-v2--linked{cursor:pointer}.vitz-event-v2--linked:focus-visible{outline:3px solid color-mix(in srgb,var(--vitz-accent) 38%,transparent);outline-offset:2px}
.vitz-event-v2__date-stack{grid-area:date;display:flex;flex-direction:column;align-items:stretch;align-self:center;justify-self:start;width:max-content;max-width:100%;min-width:0}
.vitz-event-v2__date{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;min-height:58px;padding:7px 4px;border-radius:9px;background:var(--vitz-accent);color:#fff;line-height:1;box-shadow:none}
.vitz-event-v2__day{font-size:21px;font-weight:850;letter-spacing:-.03em}.vitz-event-v2__month{margin-top:4px;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.vitz-event-v2__weekday{display:none}
.vitz-event-v2__content{grid-area:content;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left}
.vitz-event-v2__title{overflow-wrap:anywhere;transition:color .2s ease}
.vitz-event-v2--linked:hover .vitz-event-v2__title{color:var(--vitz-accent)}
.vitz-event-v2__date-line{display:flex;align-items:flex-start;gap:6px;min-width:0;color:var(--vitz-muted)}
.vitz-event-v2__date-line>span:last-child{min-width:0}.vitz-event-v2__meta{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.vitz-event-v2__meta-item{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;border-radius:999px;background:var(--vitz-soft);color:#555;transition:background-color .2s ease,color .2s ease}
.vitz-event-v2__meta-item>span:last-child{min-width:0;overflow-wrap:anywhere}.vitz-event-v2__meta-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:var(--vitz-accent)}
.vitz-event-v2__meta-icon svg{width:11px;height:11px;fill:currentColor}.vitz-event-v2__category,.vitz-event-v2__status,.vitz-event-v2__relative{display:inline-flex;align-items:center;width:max-content;max-width:100%}
.vitz-event-v2__category{padding:3px 6px;border-radius:4px;color:var(--vitz-category-color,var(--vitz-accent));background:color-mix(in srgb,var(--vitz-category-color,var(--vitz-accent)) 11%,white)}
.vitz-event-v2__status{position:absolute;z-index:2;top:0;left:10px;transform:translate(var(--vitz-status-x,0px),var(--vitz-status-y,-38%));padding:3px 6px;border-radius:2px;color:#fff;background:var(--vitz-status);box-shadow:0 2px 5px rgba(0,0,0,.08);animation-duration:1.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both}
.vitz-event-v2__status--content{display:var(--vitz-status-content-display)!important;position:var(--vitz-status-content-position)!important;top:var(--vitz-status-top)!important;right:var(--vitz-status-right)!important;bottom:var(--vitz-status-bottom)!important;left:var(--vitz-status-left)!important;transform:var(--vitz-status-content-transform)!important}
.vitz-event-v2__footer--status{display:var(--vitz-status-footer-display)!important}
.vitz-event-v2__status--date{display:var(--vitz-status-date-display)!important;position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;align-self:stretch;width:100%;max-width:100%;min-width:0;margin-top:0;border-radius:0 0 7px 7px;transform:translateX(var(--vitz-status-date-x,0px))!important;contain:inline-size;z-index:0!important}
@keyframes vitz-status-attention{0%,100%{opacity:var(--vitz-status-max-opacity,1)}50%{opacity:var(--vitz-status-min-opacity,.15)}}
.vitz-events-v2--status-attention .vitz-event-v2__status{animation-name:vitz-status-attention}
@media (prefers-reduced-motion:reduce){.vitz-event-v2__status{animation:none!important;opacity:var(--vitz-status-max-opacity,1)!important}}
.vitz-event-v2__relative{color:var(--vitz-accent)}.vitz-event-v2__footer{display:flex;flex-wrap:wrap;gap:5px}.vitz-event-v2__excerpt{color:var(--vitz-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vitz-event-v2__arrow{grid-area:arrow;align-self:center;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--vitz-line);border-radius:50%;color:var(--vitz-accent);background:#fff;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.vitz-event-v2__arrow svg{width:13px;height:13px;fill:currentColor;transition:transform .2s ease}.vitz-event-v2--linked:hover .vitz-event-v2__arrow{transform:translateX(3px);background:var(--vitz-accent);color:#fff;border-color:var(--vitz-accent)}
.vitz-event-v2__image{display:none;overflow:hidden}.vitz-event-v2__divider{display:flex;width:auto!important;max-width:100%;min-width:0;background:none}.vitz-event-v2__divider::before{content:"";display:block;width:100%;height:1px;background:var(--vitz-line)}.vitz-events-v2__list>.vitz-event-v2__divider:last-child{display:none!important}

/* 1 – Klassisch & klar */
.vitz-events-v2--classic .vitz-events-v2__list{border:0;border-radius:10px;overflow:hidden;background:#fff}
.vitz-events-v2--classic .vitz-event-v2--ongoing{padding-top:18px}

/* Die Flächen des ersten und letzten Eintrags folgen der Rundung des
   Listenrahmens, damit sie dessen Eckbögen nicht übermalen. */
.vitz-events-v2--classic:not(.vitz-events-v2--no-list-frame) .vitz-events-v2__list>.vitz-event-v2:first-child,
.vitz-events-v2--chips:not(.vitz-events-v2--no-list-frame) .vitz-events-v2__list>.vitz-event-v2:first-child,
.vitz-events-v2--airy-list:not(.vitz-events-v2--no-list-frame) .vitz-events-v2__list>.vitz-event-v2:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit;background-clip:padding-box}
.vitz-events-v2--classic:not(.vitz-events-v2--no-list-frame) .vitz-events-v2__list>.vitz-event-v2:last-of-type,
.vitz-events-v2--chips:not(.vitz-events-v2--no-list-frame) .vitz-events-v2__list>.vitz-event-v2:last-of-type,
.vitz-events-v2--airy-list:not(.vitz-events-v2--no-list-frame) .vitz-events-v2__list>.vitz-event-v2:last-of-type{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background-clip:padding-box}

/* 2 – Modern & luftig */
.vitz-events-v2--airy .vitz-events-v2__list{gap:8px}.vitz-events-v2--airy .vitz-event-v2{padding:15px 11px;border:1px solid var(--vitz-line);border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.035)}
.vitz-events-v2--airy .vitz-event-v2__date{background:color-mix(in srgb,var(--vitz-accent) 13%,white);color:var(--vitz-accent);box-shadow:none}
.vitz-events-v2--airy .vitz-event-v2--linked:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07)}

/* 3 – Chip-orientiert */
.vitz-events-v2--chips .vitz-events-v2__list{border:0;border-radius:12px;overflow:hidden}.vitz-events-v2--chips .vitz-event-v2{grid-template-columns:56px minmax(0,1fr) 30px;padding:14px 9px}
.vitz-events-v2--chips .vitz-event-v2__date{border:1px solid var(--vitz-accent);border-radius:50%;background:#fff;color:var(--vitz-accent)}
.vitz-events-v2--chips .vitz-event-v2__date-line{padding:3px 6px;border-radius:999px;background:#fff5ed;color:#5d5d5d}
.vitz-events-v2--chips .vitz-event-v2__meta-item{background:#f6f5f3}.vitz-events-v2--chips .vitz-event-v2--ongoing{padding-top:18px}

/* 4 – Zeitleisten-Stil */
.vitz-events-v2--timeline .vitz-events-v2__list{position:relative;padding-left:16px}.vitz-events-v2--timeline .vitz-events-v2__list:before{content:"";position:absolute;top:8px;bottom:8px;left:6px;width:1px;background:color-mix(in srgb,var(--vitz-accent) 42%,var(--vitz-line))}
.vitz-events-v2--timeline .vitz-event-v2{border:0;border-bottom:1px solid var(--vitz-line);padding:14px 8px 14px 9px}.vitz-events-v2--timeline .vitz-event-v2:before{content:"";position:absolute;left:-14px;top:34px;width:9px;height:9px;border:2px solid var(--vitz-accent);border-radius:50%;background:#fff}
.vitz-events-v2--timeline .vitz-event-v2__date{border:1px solid color-mix(in srgb,var(--vitz-accent) 55%,white);background:#fff;color:var(--vitz-accent);box-shadow:none}
.vitz-events-v2--timeline .vitz-event-v2--ongoing:before{background:var(--vitz-accent)}.vitz-events-v2--timeline .vitz-event-v2--ongoing{padding-top:18px}

/* 5 – Karten-Stil */
.vitz-events-v2--cards .vitz-events-v2__list{display:flex;flex-direction:column;gap:9px}.vitz-events-v2--cards .vitz-event-v2{padding:14px 11px;border:1px solid var(--vitz-line);border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.045)}
.vitz-events-v2--cards .vitz-event-v2__date{background:#fff;color:var(--vitz-accent);border:1px solid #f0ddd0;box-shadow:none}.vitz-events-v2--cards .vitz-event-v2--ongoing{padding-top:18px}
.vitz-events-v2--cards .vitz-event-v2--linked:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}

/* Der layoutbedingte Rahmen der gesamten Liste kann unabhängig von
   Container und Einzelterminen vollständig abgeschaltet werden. */
.vitz-events-v2.vitz-events-v2--no-list-frame .vitz-events-v2__list{overflow:visible;border:0;border-radius:0;box-shadow:none}

/* Elementor's selectable arrow forms */
.vitz-event-v2--arrow-plain .vitz-event-v2__arrow{border-color:transparent;background:transparent}.vitz-event-v2--arrow-rounded .vitz-event-v2__arrow{border-radius:9px}.vitz-event-v2--arrow-square .vitz-event-v2__arrow{border-radius:0}

/* Responsive behavior is based on actual widget width, not the viewport. */
@container (max-width:349px){
 .vitz-event-v2{grid-template-columns:50px minmax(0,1fr) 28px;column-gap:9px;padding:12px 7px}.vitz-event-v2__date{width:46px;min-height:52px;padding:6px 3px}.vitz-event-v2__day{font-size:19px}.vitz-event-v2__month{font-size:8px}.vitz-event-v2__meta-item{padding:3px 6px}.vitz-event-v2__arrow{width:27px;height:27px}.vitz-event-v2__arrow svg{width:12px;height:12px}
}
@container (max-width:280px){
 .vitz-event-v2{grid-template-columns:46px minmax(0,1fr);grid-template-areas:"date content" "date arrow"}.vitz-event-v2__arrow{justify-self:end}.vitz-event-v2__meta{display:grid;grid-template-columns:1fr}.vitz-event-v2__meta-item{width:max-content;max-width:100%}
}
@container (min-width:520px){
 .vitz-event-v2{grid-template-columns:64px minmax(0,1fr) 36px;padding:16px 14px;column-gap:14px}.vitz-event-v2__date{width:58px;min-height:64px}.vitz-event-v2__arrow{width:34px;height:34px}
}
/* User responsive visibility switches */
@container (max-width:780px){.vitz-events-v2--hide-excerpt-tablet .vitz-event-v2__excerpt,.vitz-events-v2--hide-image-tablet .vitz-event-v2__image,.vitz-events-v2--hide-date-tablet .vitz-event-v2__date-stack,.vitz-events-v2--hide-meta-tablet .vitz-event-v2__meta{display:none}}
@container (max-width:540px){.vitz-events-v2--hide-excerpt-mobile .vitz-event-v2__excerpt,.vitz-events-v2--hide-category-mobile .vitz-event-v2__category,.vitz-events-v2--hide-arrow-mobile .vitz-event-v2__arrow,.vitz-events-v2--hide-image-mobile .vitz-event-v2__image,.vitz-events-v2--hide-date-mobile .vitz-event-v2__date-stack,.vitz-events-v2--hide-meta-mobile .vitz-event-v2__meta{display:none}}


/* 6 – Modern & luftig (Listenstil)
   Für schmale Desktop-Spalten um 350 px. Keine sichtbare Trennlinie im Standard;
   die optionale .vitz-event-v2__divider bleibt über den Elementor-Schalter verfügbar. */
.vitz-events-v2--airy-list .vitz-events-v2__list{
  overflow:hidden;
  border:0;
  border-radius:12px;
  background:var(--vitz-surface);
  box-shadow:0 3px 14px rgba(0,0,0,.035)
}
.vitz-events-v2--airy-list .vitz-event-v2{
  grid-template-columns:48px minmax(0,1fr) 28px;
  column-gap:10px;
  min-height:112px;
  padding:15px 9px;
  border:0;
  border-bottom:0;
  background:#fff
}
.vitz-events-v2--airy-list .vitz-event-v2 + .vitz-event-v2{
  margin-top:0
}
.vitz-events-v2--airy-list .vitz-event-v2__date{
  width:44px;
  min-height:50px;
  padding:6px 3px;
  border:1px solid color-mix(in srgb,var(--vitz-accent) 42%,white);
  border-radius:7px;
  background:#fff;
  color:var(--vitz-accent);
  box-shadow:none
}
.vitz-events-v2--airy-list .vitz-event-v2--ongoing .vitz-event-v2__date,
.vitz-events-v2--airy-list .vitz-event-v2--today .vitz-event-v2__date,
.vitz-events-v2--airy-list .vitz-event-v2--next .vitz-event-v2__date{
  border-color:transparent;
  background:var(--vitz-accent);
  color:#fff
}
.vitz-events-v2--airy-list .vitz-event-v2__day{font-size:18px}
.vitz-events-v2--airy-list .vitz-event-v2__month{font-size:8px;margin-top:3px}
.vitz-events-v2--airy-list .vitz-event-v2__content{gap:5px}
.vitz-events-v2--airy-list .vitz-event-v2__date-line{gap:5px}
.vitz-events-v2--airy-list .vitz-event-v2__meta{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px}
.vitz-events-v2--airy-list .vitz-event-v2__meta-item{
  width:max-content;
  max-width:100%;
  padding:3px 6px;
  background:#f8f7f5
}
.vitz-events-v2--airy-list .vitz-event-v2__arrow{width:27px;height:27px}
.vitz-events-v2--airy-list .vitz-event-v2__arrow svg{width:11px;height:11px}
.vitz-events-v2--airy-list .vitz-event-v2--ongoing{
  padding-top:20px
}
.vitz-events-v2--airy-list .vitz-event-v2__status{
  top:5px;
  left:9px;
  transform:translate(var(--vitz-status-x,0px),var(--vitz-status-y,0px));
  padding:2px 5px
}
.vitz-events-v2--airy-list .vitz-event-v2__divider{
  margin:0 9px
}
.vitz-events-v2--airy-list .vitz-event-v2--linked:hover{
  z-index:1;
  background:#fffaf6
}

@container (max-width:349px){
  .vitz-events-v2--airy-list .vitz-event-v2{
    grid-template-columns:46px minmax(0,1fr) 26px;
    column-gap:8px;
    min-height:104px;
    padding:13px 7px
  }
  .vitz-events-v2--airy-list .vitz-event-v2__date{width:42px;min-height:48px}
}
@container (max-width:280px){
  .vitz-events-v2--airy-list .vitz-event-v2{
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:"date content" "date arrow";
    min-height:0
  }
  .vitz-events-v2--airy-list .vitz-event-v2__arrow{justify-self:end}
}

/* 6.9.0 – Campus Agenda: ruhige, redaktionelle Terminspalte. */
.vitz-events-v2.vitz-events-v2--campus-agenda{overflow:hidden;padding:22px 26px 24px;border:1px solid #eadfd8;border-top:3px solid var(--vitz-accent);border-radius:10px;background:#fff8f4}
.vitz-events-v2--campus-agenda .vitz-events-v2__header{margin:0 0 14px}
.vitz-events-v2--campus-agenda .vitz-events-v2__subtitle{margin-top:6px}
.vitz-events-v2.vitz-events-v2--campus-agenda .vitz-events-v2__list{display:flex;flex-direction:column;gap:0}
.vitz-events-v2.vitz-events-v2--campus-agenda .vitz-event-v2{display:grid;grid-template-columns:68px minmax(0,1fr);grid-template-areas:"date content";align-items:center;gap:18px;min-height:116px;padding:20px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--vitz-accent) 45%,#eadfd8);border-radius:0;background:transparent;box-shadow:none;transform:none}
.vitz-events-v2--campus-agenda .vitz-event-v2:last-child{border-bottom:0}
.vitz-events-v2--campus-agenda .vitz-event-v2:hover{background:transparent;box-shadow:none;transform:none}
.vitz-events-v2.vitz-events-v2--campus-agenda .vitz-event-v2__date{align-items:flex-start;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--vitz-accent);box-shadow:none;text-align:left}
.vitz-events-v2--campus-agenda .vitz-event-v2__day{font-size:42px;font-weight:500;line-height:.9;letter-spacing:-.045em}
.vitz-events-v2--campus-agenda .vitz-event-v2__month{margin-top:8px;font-size:13px;font-weight:800;letter-spacing:.04em}
.vitz-events-v2--campus-agenda .vitz-event-v2__content{gap:6px;text-align:left}
.vitz-events-v2--campus-agenda .vitz-event-v2__category,.vitz-events-v2--campus-agenda .vitz-event-v2__date-line,.vitz-events-v2--campus-agenda .vitz-event-v2__excerpt,.vitz-events-v2--campus-agenda .vitz-event-v2__footer,.vitz-events-v2--campus-agenda .vitz-event-v2__arrow,.vitz-events-v2--campus-agenda .vitz-event-v2__image{display:none}
.vitz-events-v2--campus-agenda .vitz-event-v2__meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.vitz-events-v2--campus-agenda .vitz-event-v2__meta-item{display:flex;max-width:100%;padding:0;border-radius:0;background:transparent;color:#666}
.vitz-events-v2--campus-agenda .vitz-event-v2__meta-icon{display:none}
.vitz-events-v2__agenda-footer{padding-top:18px}
.vitz-events-v2__agenda-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 18px;border:1px solid var(--vitz-accent);border-radius:9px;background:transparent;color:var(--vitz-accent);text-align:center;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.vitz-events-v2__agenda-link:hover,.vitz-events-v2__agenda-link:focus-visible{background:var(--vitz-accent);color:#fff;transform:translateY(-1px)}

@container (max-width:380px){
  .vitz-events-v2.vitz-events-v2--campus-agenda{padding:18px 18px 20px}
  .vitz-events-v2--campus-agenda .vitz-event-v2{grid-template-columns:58px minmax(0,1fr);gap:13px;min-height:102px;padding:17px 0}
  .vitz-events-v2--campus-agenda .vitz-event-v2__day{font-size:36px}
  .vitz-events-v2--campus-agenda .vitz-event-v2__month{font-size:11px}
}

@container (max-width:540px){
  .vitz-events-v2__header{gap:12px;padding:17px 18px}
  .vitz-events-v2__header-icon{flex-basis:42px;width:42px;height:42px;font-size:18px}
}

/* Die allgemeine mobile Kopfregel weiter oben/unten darf das Kalender-Mockup nicht aufpolstern. */
.vitz-events-v2--calendar-agenda .vitz-events-v2__header{padding:0;background:transparent}

/* 6.38.0 – verfeinerte eigenständige Kalenderoberfläche. */
.vitz-terminkalender{--vitz-calendar-radius:16px}.vitz-terminkalender .vitz-calendar-agenda{border-color:color-mix(in srgb,var(--vitz-calendar-border) 86%,#fff);border-radius:var(--vitz-calendar-radius);box-shadow:0 12px 34px rgba(32,25,20,.075)}.vitz-terminkalender .vitz-calendar-agenda__monthbar{min-height:72px;padding:10px 16px;background:linear-gradient(180deg,#fff,#fdfcfb)}.vitz-calendar-agenda__monthcenter{display:flex;flex-direction:column;align-items:center;gap:5px}.vitz-calendar-agenda__today{padding:3px 10px;border:1px solid color-mix(in srgb,var(--vitz-accent) 28%,#ddd);border-radius:999px;color:var(--vitz-accent)!important;font-size:10px;font-weight:750}.vitz-calendar-agenda__today:hover,.vitz-calendar-agenda__today:focus-visible{background:var(--vitz-accent);color:#fff!important;outline:0}.vitz-terminkalender .vitz-calendar-agenda__nav{border:1px solid transparent;background:transparent}.vitz-terminkalender .vitz-calendar-agenda__days{gap:7px;padding:7px 14px 20px}.vitz-terminkalender .vitz-calendar-agenda__day,.vitz-terminkalender .vitz-calendar-agenda__days .is-empty{justify-self:center;width:38px;height:38px;min-height:38px;aspect-ratio:1;border-radius:50%}.vitz-terminkalender .vitz-calendar-agenda__day.has-event{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vitz-calendar-color) 24%,transparent)}.vitz-terminkalender .vitz-calendar-agenda__day.has-event:after{bottom:4px}.vitz-terminkalender .vitz-calendar-agenda__agenda{background:#fff}.vitz-terminkalender .vitz-calendar-agenda__agenda-title{min-height:72px;padding:12px 24px;background:linear-gradient(180deg,#fff,#fdfcfb);font-size:19px}.vitz-terminkalender .vitz-calendar-agenda__event{grid-template-columns:70px minmax(0,1fr);min-height:104px;padding:15px 22px;cursor:default}.vitz-terminkalender .vitz-calendar-agenda__event:hover{background:inherit}.vitz-terminkalender .vitz-calendar-agenda__event.is-featured{background:linear-gradient(110deg,#fffaf4,#fff4e7);box-shadow:inset 3px 0 0 var(--vitz-accent),inset 0 0 0 1px color-mix(in srgb,var(--vitz-accent) 25%,transparent)}.vitz-terminkalender .vitz-calendar-agenda__event-body{gap:7px}.vitz-terminkalender .vitz-calendar-agenda__archive{width:100%;border:0;border-top:1px solid var(--vitz-calendar-border);background:#fff;cursor:pointer;font-family:inherit}.vitz-terminkalender .vitz-calendar-agenda__archive:hover,.vitz-terminkalender .vitz-calendar-agenda__archive:focus-visible{background:#fff8f1;outline:0;text-decoration:none}.vitz-terminkalender .vitz-calendar-subscribe{width:100%;border-color:color-mix(in srgb,var(--vitz-calendar-border) 86%,#fff);border-radius:14px;color:inherit;cursor:pointer;font:inherit;text-align:left;appearance:none}.vitz-terminkalender .vitz-calendar-subscribe:hover{transform:translateY(-1px);box-shadow:0 9px 25px rgba(32,25,20,.08)}
.vitz-calendar-dialog{width:min(92vw,480px);padding:0;border:0;border-radius:18px;color:#25292d;box-shadow:0 28px 80px rgba(20,16,13,.28)}.vitz-calendar-dialog::backdrop{background:rgba(25,22,20,.54);backdrop-filter:blur(3px)}.vitz-calendar-dialog form{display:flex;flex-direction:column;align-items:center;padding:30px;text-align:center}.vitz-calendar-dialog__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff0e5;color:var(--vitz-accent);font-size:22px}.vitz-calendar-dialog h3{margin:17px 0 8px;font-size:22px}.vitz-calendar-dialog p{max-width:42ch;margin:0;color:#626970;line-height:1.55}.vitz-calendar-dialog__actions{display:flex;justify-content:center;gap:10px;width:100%;margin-top:24px}.vitz-calendar-dialog__actions button,.vitz-calendar-dialog__download{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #d7d9dc;border-radius:9px;background:#fff;color:#333!important;cursor:pointer;font:inherit;font-weight:700}.vitz-calendar-dialog__download{border-color:var(--vitz-accent);background:var(--vitz-accent);color:#fff!important}.vitz-calendar-dialog__actions button:focus-visible,.vitz-calendar-dialog__download:focus-visible{outline:3px solid color-mix(in srgb,var(--vitz-accent) 34%,transparent);outline-offset:2px}
@container (max-width:440px){.vitz-terminkalender .vitz-calendar-agenda__day,.vitz-terminkalender .vitz-calendar-agenda__days .is-empty{width:34px;height:34px;min-height:34px}.vitz-terminkalender .vitz-calendar-agenda__days{gap:3px;padding-inline:7px}.vitz-terminkalender .vitz-calendar-agenda__event{grid-template-columns:54px minmax(0,1fr);padding:13px 10px}.vitz-calendar-dialog__actions{flex-direction:column}.vitz-calendar-dialog__actions>*{width:100%}}

/* 6.39.0 – kompakte Heute-Navigation oberhalb der Kalenderseite. */
.vitz-calendar-agenda__toolbar{display:flex;justify-content:flex-end;width:var(--vitz-calendar-column);min-width:260px;margin:0 0 8px;padding-right:2px}.vitz-calendar-agenda__toolbar .vitz-calendar-agenda__today{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 11px;border-radius:999px;font-size:11px;line-height:1}.vitz-terminkalender .vitz-calendar-agenda__monthcenter{gap:0}
@container (max-width:720px){.vitz-calendar-agenda__toolbar{width:100%;min-width:0}}

/* 6.40.0 – Wochenraster mit durchgehenden Terminbalken. */
.vitz-terminkalender .vitz-calendar-agenda__weekdays{padding:12px 0 8px;border-bottom:1px solid var(--vitz-calendar-border);background:#fafbfc}.vitz-calendar-agenda__weeks{display:flex;flex-direction:column}.vitz-calendar-agenda__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:32px repeat(var(--vitz-week-lanes),24px);gap:3px 0;min-width:0;padding:4px 0 7px;border-bottom:1px solid var(--vitz-calendar-border);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(14.2857% - 1px),color-mix(in srgb,var(--vitz-calendar-border) 72%,transparent) calc(14.2857% - 1px),color-mix(in srgb,var(--vitz-calendar-border) 72%,transparent) 14.2857%)}.vitz-calendar-agenda__week:last-child{border-bottom:0}.vitz-calendar-agenda__gridday{grid-row:1;display:flex;align-items:center;justify-content:center;color:#4c535a;font-size:11px}.vitz-calendar-agenda__gridday>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%}.vitz-calendar-agenda__gridday.is-today>span{background:var(--vitz-accent);color:#fff;font-weight:800;box-shadow:0 3px 9px color-mix(in srgb,var(--vitz-accent) 28%,transparent)}.vitz-calendar-agenda__gridday.is-outside{color:#b4b8bc}.vitz-calendar-agenda__range{position:relative;z-index:2;display:flex;align-items:center;min-width:0;margin:1px 2px;padding:2px 7px;border-left:3px solid var(--vitz-calendar-color);border-radius:6px;background:color-mix(in srgb,var(--vitz-calendar-color) 28%,#f7f8fa);color:color-mix(in srgb,var(--vitz-calendar-color) 55%,#222);font-size:9px;font-weight:750;line-height:1.1;box-shadow:0 1px 3px rgba(20,25,30,.06)}.vitz-calendar-agenda__range>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vitz-calendar-agenda__range.continues-before{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.vitz-calendar-agenda__range.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.vitz-calendar-agenda__range.continues-before:before,.vitz-calendar-agenda__range.continues-after:after{position:absolute;top:50%;color:var(--vitz-calendar-color);font-size:9px;transform:translateY(-52%)}.vitz-calendar-agenda__range.continues-before:before{content:"‹";left:2px}.vitz-calendar-agenda__range.continues-after:after{content:"›";right:2px}
@container (max-width:430px){.vitz-calendar-agenda__week{grid-template-rows:28px repeat(var(--vitz-week-lanes),21px);gap:2px 0}.vitz-calendar-agenda__range{padding-inline:4px;font-size:8px}.vitz-calendar-agenda__gridday>span{width:23px;height:23px}}

/* 6.41.1 – Backend-Kategoriefarben ohne Aufhellung übernehmen. */
.vitz-terminkalender .vitz-calendar-agenda__range{border-left-color:var(--vitz-calendar-color);background:var(--vitz-calendar-color);color:var(--vitz-calendar-contrast,#fff);box-shadow:0 2px 5px color-mix(in srgb,var(--vitz-calendar-color) 28%,transparent)}.vitz-terminkalender .vitz-calendar-agenda__range.continues-before:before,.vitz-terminkalender .vitz-calendar-agenda__range.continues-after:after{color:var(--vitz-calendar-contrast,#fff)}

/* 6.41.0 – frei wählbares Abo-Icon und Google-Kalender-Bereitstellung. */
.vitz-calendar-subscribe__icon svg,.vitz-calendar-dialog__icon svg{width:1em;height:1em;fill:currentColor}.vitz-calendar-dialog__actions{flex-wrap:wrap}.vitz-calendar-dialog__google{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#1d4ed8!important;font-weight:750}.vitz-calendar-dialog__google:hover,.vitz-calendar-dialog__google:focus-visible{border-color:#4285f4;background:#eef5ff;outline:3px solid rgba(66,133,244,.2);outline-offset:2px}.vitz-calendar-dialog__feed{width:100%;margin-top:18px;padding-top:17px;border-top:1px solid #e5e7eb;text-align:left}.vitz-calendar-dialog__feed label{display:block;margin-bottom:6px;color:#555d66;font-size:11px;font-weight:750}.vitz-calendar-dialog__feed>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.vitz-calendar-dialog__feed input{min-width:0;height:39px;padding:7px 9px;border:1px solid #d7dbe0;border-radius:7px 0 0 7px;background:#f8fafc;color:#4b5563;font-size:11px}.vitz-calendar-dialog__feed button{padding:7px 11px;border:1px solid #d7dbe0;border-left:0;border-radius:0 7px 7px 0;background:#fff;cursor:pointer;font-weight:700}.vitz-calendar-dialog__feed small{display:block;margin-top:6px;color:#6b7280;font-size:10px;line-height:1.4}

/* 6.36.0 – Mockup Variante 3: Monatskalender und Agenda. */
.vitz-events-v2--calendar-agenda{--vitz-calendar-border:#e5e1dc;--vitz-calendar-soft:#fff8f1;--vitz-calendar-column:40%}.vitz-events-v2--calendar-agenda .vitz-events-v2__header{margin-bottom:18px;padding:0;background:transparent}.vitz-events-v2--calendar-agenda .vitz-events-v2__header-icon{display:none}.vitz-events-v2--calendar-agenda .vitz-events-v2__heading{font-size:clamp(28px,4cqi,43px);font-weight:780;letter-spacing:-.035em}.vitz-events-v2--calendar-agenda .vitz-events-v2__subtitle{color:#646a70;font-size:13px}.vitz-calendar-agenda{display:grid;grid-template-columns:minmax(260px,var(--vitz-calendar-column)) minmax(360px,1fr);overflow:hidden;border:1px solid var(--vitz-calendar-border);border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(36,29,23,.06)}
.vitz-calendar-agenda__calendar{display:flex;flex-direction:column;border-right:1px solid var(--vitz-calendar-border)}.vitz-calendar-agenda__monthbar{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;min-height:58px;padding:7px 10px;border-bottom:1px solid var(--vitz-calendar-border)}.vitz-calendar-agenda__monthbar strong{text-align:center;font-size:17px}.vitz-calendar-agenda__monthbar a{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font-size:28px;line-height:1}.vitz-calendar-agenda__monthbar a:hover,.vitz-calendar-agenda__monthbar a:focus-visible{outline:2px solid color-mix(in srgb,var(--vitz-accent) 35%,transparent);background:#fff3e9;color:var(--vitz-accent)}.vitz-calendar-agenda__weekdays,.vitz-calendar-agenda__days{display:grid;grid-template-columns:repeat(7,1fr)}.vitz-calendar-agenda__weekdays{padding:13px 12px 7px;color:#50565d;font-size:11px;font-weight:750;text-align:center}.vitz-calendar-agenda__days{gap:4px;padding:2px 12px 14px}.vitz-calendar-agenda__day,.vitz-calendar-agenda__days .is-empty{display:grid;place-items:center;aspect-ratio:1;min-width:0;border-radius:50%;font-size:12px}.vitz-calendar-agenda__day.has-event{position:relative;background:color-mix(in srgb,var(--vitz-calendar-color) 18%,white);color:#272b2f;font-weight:750}.vitz-calendar-agenda__day.has-event:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--vitz-calendar-color)}.vitz-calendar-agenda__day.is-today{outline:2px solid var(--vitz-accent);outline-offset:-2px}.vitz-calendar-agenda__legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:auto;padding:14px 16px;border-top:1px solid var(--vitz-calendar-border);font-size:10px}.vitz-calendar-agenda__legend span{display:inline-flex;align-items:center;gap:6px}.vitz-calendar-agenda__legend i,.vitz-calendar-agenda__event-body small i{width:7px;height:7px;border-radius:50%;background:var(--vitz-calendar-color)}
.vitz-calendar-agenda__agenda{min-width:0}.vitz-calendar-agenda__agenda-title{display:flex;align-items:center;min-height:58px;padding:10px 20px;border-bottom:1px solid var(--vitz-calendar-border);font-size:17px;font-weight:750}.vitz-calendar-agenda__event{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) 26px;align-items:center;min-height:92px;padding:12px 15px;border-bottom:1px solid var(--vitz-calendar-border);transition:background .18s}.vitz-calendar-agenda__event:hover,.vitz-calendar-agenda__event:focus-visible{outline:0;background:#fffaf5}.vitz-calendar-agenda__event.is-featured{min-height:140px;background:linear-gradient(105deg,#fffaf5,#fff3e5);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vitz-accent) 30%,transparent)}.vitz-calendar-agenda__event time{display:flex;flex-direction:column;align-items:center;padding-right:13px;border-right:1px solid var(--vitz-calendar-border);line-height:1}.vitz-calendar-agenda__event time strong{font-size:25px;font-weight:500}.vitz-calendar-agenda__event time span{margin-top:7px;font-size:10px;font-weight:750}.vitz-calendar-agenda__event.is-featured time strong{color:var(--vitz-accent);font-size:34px}.vitz-calendar-agenda__event-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 15px;min-width:0}.vitz-calendar-agenda__event-body em{color:var(--vitz-accent);font-size:9px;font-style:normal;font-weight:850}.vitz-calendar-agenda__event-body small{display:flex;align-items:center;gap:6px;color:var(--vitz-calendar-color);font-size:10px}.vitz-calendar-agenda__event-body b{overflow-wrap:anywhere;font-size:16px}.vitz-calendar-agenda__event.is-featured .vitz-calendar-agenda__event-body b{font-size:20px}.vitz-calendar-agenda__event-meta{display:flex;flex-wrap:wrap;gap:7px 20px;color:#61676d;font-size:11px}.vitz-calendar-agenda__event-arrow{color:var(--vitz-accent);font-size:27px}.vitz-calendar-agenda__archive{display:flex;align-items:center;justify-content:center;gap:8px;min-height:51px;padding:10px;color:var(--vitz-accent)!important;font-size:12px;font-weight:750}.vitz-calendar-agenda__archive:hover,.vitz-calendar-agenda__archive:focus-visible{text-decoration:underline}.vitz-calendar-agenda__empty{padding:32px 20px;color:#676d73;text-align:center}.vitz-calendar-subscribe{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;gap:13px;margin-top:12px;padding:14px 20px;border:1px solid var(--vitz-calendar-border);border-radius:10px;background:#fff;box-shadow:0 5px 16px rgba(36,29,23,.045)}.vitz-calendar-subscribe__icon{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--vitz-accent);border-radius:5px;color:var(--vitz-accent)}.vitz-calendar-subscribe span:nth-child(2){display:flex;flex-direction:column;gap:3px}.vitz-calendar-subscribe strong{font-size:13px}.vitz-calendar-subscribe small{color:#666d73;font-size:11px}.vitz-calendar-subscribe b{justify-self:end;font-size:24px}.vitz-calendar-subscribe:hover,.vitz-calendar-subscribe:focus-visible{outline:2px solid color-mix(in srgb,var(--vitz-accent) 35%,transparent);outline-offset:2px}
@container (max-width:720px){.vitz-calendar-agenda{grid-template-columns:1fr}.vitz-calendar-agenda__calendar{border-right:0;border-bottom:1px solid var(--vitz-calendar-border)}.vitz-calendar-agenda__day,.vitz-calendar-agenda__days .is-empty{aspect-ratio:auto;min-height:39px}.vitz-calendar-agenda__legend{margin-top:0}.vitz-calendar-agenda__event.is-featured{min-height:120px}}
@container (max-width:400px){.vitz-calendar-agenda__event{grid-template-columns:48px minmax(0,1fr) 18px;padding:11px 8px}.vitz-calendar-agenda__event-body{padding:0 9px}.vitz-calendar-agenda__event-meta{display:grid;gap:4px}.vitz-calendar-agenda__event.is-featured .vitz-calendar-agenda__event-body b{font-size:17px}.vitz-calendar-subscribe{padding:13px}.vitz-calendar-agenda__legend{gap:7px 11px}.vitz-calendar-agenda__weekdays,.vitz-calendar-agenda__days{padding-left:7px;padding-right:7px}}

/* 6.35.0 – VITZ Timeline nach dem freigegebenen Seiten-Mockup. */
.vitz-events-v2.vitz-events-v2--timeline{padding:clamp(18px,3cqi,32px);border:1px solid #e5ddd6;border-radius:16px;background:#fff;box-shadow:0 14px 38px rgba(38,28,21,.075)}
.vitz-events-v2--timeline .vitz-events-v2__header{gap:15px;margin:0 0 22px;padding:0;background:transparent}.vitz-events-v2--timeline .vitz-events-v2__header-icon{width:46px;height:46px;flex-basis:46px;border-radius:12px;background:#fff0e5}.vitz-events-v2--timeline .vitz-events-v2__heading{font-size:clamp(25px,3cqi,38px);font-weight:780;letter-spacing:-.035em}.vitz-events-v2--timeline .vitz-events-v2__subtitle{margin-top:4px;color:#65707a;font-size:14px}.vitz-events-v2--timeline .vitz-events-v2__archive{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border:1.5px solid var(--vitz-accent);border-radius:8px;color:var(--vitz-accent);font-size:13px;font-weight:700;transition:background-color .16s,color .16s,transform .16s}.vitz-events-v2--timeline .vitz-events-v2__archive:hover,.vitz-events-v2--timeline .vitz-events-v2__archive:focus-visible{background:var(--vitz-accent);color:#fff;transform:translateY(-1px)}
.vitz-events-v2--timeline .vitz-events-v2__list{position:relative;gap:8px;padding:4px 0;background:transparent}.vitz-events-v2--timeline .vitz-events-v2__list:before{content:"";position:absolute;z-index:0;top:36px;bottom:36px;left:108px;width:2px;border-radius:99px;background:color-mix(in srgb,var(--vitz-accent) 30%,#e7e1dc)}
.vitz-events-v2--timeline .vitz-event-v2{isolation:isolate;grid-template-columns:96px 24px minmax(0,1fr) 38px;grid-template-areas:"date . content arrow";column-gap:0;min-height:112px;padding:8px 11px 8px 0;border:0;background:transparent;box-shadow:none;transform:none}.vitz-events-v2--timeline .vitz-event-v2:after{content:"";position:absolute;z-index:-1;top:4px;right:0;bottom:4px;left:132px;border:1px solid #e5e0dc;border-radius:12px;background:#fff;box-shadow:0 4px 15px rgba(35,27,21,.055);transition:border-color .16s,box-shadow .16s,transform .16s}.vitz-events-v2--timeline .vitz-event-v2:before{content:"";position:absolute;z-index:2;left:102px;top:50%;width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:var(--vitz-event-color,var(--vitz-accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--vitz-event-color,var(--vitz-accent)) 38%,#e9e3df);transform:translateY(-50%)}.vitz-events-v2--timeline .vitz-event-v2--linked:hover:after,.vitz-events-v2--timeline .vitz-event-v2--linked:focus-visible:after{border-color:color-mix(in srgb,var(--vitz-event-color,var(--vitz-accent)) 48%,#ded8d3);box-shadow:0 9px 24px rgba(35,27,21,.1);transform:translateY(-2px)}.vitz-events-v2--timeline .vitz-event-v2--linked:focus-visible{outline:0}
.vitz-events-v2--timeline .vitz-event-v2__date-stack{z-index:1;align-items:flex-start;justify-self:stretch;width:96px}.vitz-events-v2--timeline .vitz-event-v2__date{align-items:flex-start;width:auto;min-height:0;padding:0;border:0;background:transparent;color:#20242a;box-shadow:none}.vitz-events-v2--timeline .vitz-event-v2__month{order:1;margin:0 0 5px;color:var(--vitz-accent);font-size:10px;font-weight:800;letter-spacing:.055em}.vitz-events-v2--timeline .vitz-event-v2__day{order:2;font-size:34px;font-weight:760;line-height:.9}.vitz-events-v2--timeline .vitz-event-v2__weekday{display:block;order:3;margin-top:7px;color:#68717a;font-size:11px;font-weight:600}.vitz-events-v2--timeline .vitz-event-v2__content{z-index:1;justify-content:center;gap:7px;padding:17px 15px}.vitz-events-v2--timeline .vitz-event-v2__title{font-size:clamp(16px,1.9cqi,21px);line-height:1.22}.vitz-events-v2--timeline .vitz-event-v2__date-line{display:none}.vitz-events-v2--timeline .vitz-event-v2__category{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700}.vitz-events-v2--timeline .vitz-event-v2__meta{gap:11px}.vitz-events-v2--timeline .vitz-event-v2__meta-item{padding:0;border-radius:0;background:transparent;color:#5e6871;font-size:12px}.vitz-events-v2--timeline .vitz-event-v2__meta-icon svg{width:13px;height:13px}.vitz-events-v2--timeline .vitz-event-v2__excerpt{max-width:70ch;font-size:13px;line-height:1.5}.vitz-events-v2--timeline .vitz-event-v2__footer{display:none}.vitz-events-v2--timeline .vitz-event-v2__arrow{z-index:1;align-self:center;width:32px;height:32px;border:0;background:transparent}.vitz-events-v2--timeline .vitz-event-v2--linked:hover .vitz-event-v2__arrow{background:var(--vitz-event-color,var(--vitz-accent));color:#fff}.vitz-events-v2--timeline .vitz-event-v2--important:after{border-left:4px solid var(--vitz-event-color,var(--vitz-accent))}
@container (max-width:620px){.vitz-events-v2.vitz-events-v2--timeline{padding:18px 15px}.vitz-events-v2--timeline .vitz-events-v2__header{align-items:flex-start}.vitz-events-v2--timeline .vitz-events-v2__header-icon{display:none}.vitz-events-v2--timeline .vitz-events-v2__archive{margin-left:auto}.vitz-events-v2--timeline .vitz-events-v2__list{padding-left:31px}.vitz-events-v2--timeline .vitz-events-v2__list:before{left:10px;top:30px;bottom:30px}.vitz-events-v2--timeline .vitz-event-v2{grid-template-columns:minmax(0,1fr) 34px;grid-template-areas:"date arrow" "content content";gap:4px 8px;min-height:0;margin-bottom:8px;padding:12px 12px 13px;border:1px solid #e5e0dc;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(35,27,21,.05)}.vitz-events-v2--timeline .vitz-event-v2:after{display:none}.vitz-events-v2--timeline .vitz-event-v2:before{left:-27px;top:27px}.vitz-events-v2--timeline .vitz-event-v2__date-stack{justify-self:start;width:auto}.vitz-events-v2--timeline .vitz-event-v2__date{flex-direction:row;align-items:baseline;gap:6px}.vitz-events-v2--timeline .vitz-event-v2__month{order:1;margin:0}.vitz-events-v2--timeline .vitz-event-v2__day{order:2;font-size:24px}.vitz-events-v2--timeline .vitz-event-v2__weekday{order:3;margin:0}.vitz-events-v2--timeline .vitz-event-v2__content{padding:7px 0 0}.vitz-events-v2--timeline .vitz-event-v2__arrow{justify-self:end}.vitz-events-v2--timeline .vitz-event-v2__excerpt{-webkit-line-clamp:3}}
@container (max-width:420px){.vitz-events-v2--timeline .vitz-events-v2__header{display:grid;grid-template-columns:1fr}.vitz-events-v2--timeline .vitz-events-v2__archive{justify-self:start;margin:5px 0 0}.vitz-events-v2--timeline .vitz-event-v2__meta{display:grid;gap:5px}.vitz-events-v2--timeline .vitz-event-v2__category{font-size:10px}}

/* Ausgeblendete Bestandteile reservieren keinen Rasterplatz. */
.vitz-events-v2 .vitz-event-v2--without-arrow:not(.vitz-event-v2--without-date){
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-areas:"date content"
}
.vitz-events-v2 .vitz-event-v2--without-date:not(.vitz-event-v2--without-arrow){
  grid-template-columns:minmax(0,1fr) max-content;
  grid-template-areas:"content arrow"
}
.vitz-events-v2 .vitz-event-v2--without-date.vitz-event-v2--without-arrow{
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"content"
}

@container (max-width:780px){
  .vitz-events-v2--hide-date-tablet .vitz-event-v2:not(.vitz-event-v2--without-arrow){
    grid-template-columns:minmax(0,1fr) max-content;
    grid-template-areas:"content arrow"
  }
  .vitz-events-v2--hide-date-tablet .vitz-event-v2--without-arrow{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"content"
  }
}

@container (max-width:540px){
  .vitz-events-v2--hide-arrow-mobile:not(.vitz-events-v2--hide-date-mobile) .vitz-event-v2:not(.vitz-event-v2--without-date),
  .vitz-events-v2--hide-arrow-mobile .vitz-event-v2--without-arrow:not(.vitz-event-v2--without-date){
    grid-template-columns:max-content minmax(0,1fr);
    grid-template-areas:"date content"
  }
  .vitz-events-v2--hide-date-mobile:not(.vitz-events-v2--hide-arrow-mobile) .vitz-event-v2:not(.vitz-event-v2--without-arrow){
    grid-template-columns:minmax(0,1fr) max-content;
    grid-template-areas:"content arrow"
  }
  .vitz-events-v2--hide-arrow-mobile.vitz-events-v2--hide-date-mobile .vitz-event-v2,
  .vitz-events-v2--hide-date-mobile .vitz-event-v2--without-arrow,
  .vitz-events-v2--hide-arrow-mobile .vitz-event-v2--without-date{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"content"
  }
}

/* Abschließende Layout-Priorität für das Kalender-Mockup. */
.vitz-events-v2--calendar-agenda .vitz-events-v2__header{padding:0;background:transparent}

/* 6.42.0 – finale, editierbare Balkendarstellung. */
.vitz-terminkalender{--vitz-range-height:28px}.vitz-terminkalender .vitz-calendar-agenda__week{grid-template-rows:32px repeat(var(--vitz-week-lanes),var(--vitz-range-height))}.vitz-terminkalender .vitz-calendar-agenda__range{min-height:calc(var(--vitz-range-height) - 2px);padding:3px 8px;color:var(--vitz-calendar-contrast,#fff);font-size:11px;font-weight:700;line-height:1.2}.vitz-terminkalender .vitz-calendar-agenda__range.continues-before:before,.vitz-terminkalender .vitz-calendar-agenda__range.continues-after:after{display:none}.vitz-terminkalender--show-continuations .vitz-calendar-agenda__range.continues-before:before,.vitz-terminkalender--show-continuations .vitz-calendar-agenda__range.continues-after:after{display:block}

/* 6.43.0 – vollflächige Einzeltermine mit barrierefreier schwebender Detailkarte. */
.vitz-terminkalender .vitz-calendar-agenda__gridday{grid-row:1/-1;position:relative;z-index:1;align-items:flex-start;padding-top:3px}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single{align-items:center;justify-content:flex-start;gap:4px;margin:2px;padding:5px 4px;border-radius:8px;background:var(--vitz-calendar-color);color:var(--vitz-calendar-contrast,#fff);cursor:help;box-shadow:0 2px 6px color-mix(in srgb,var(--vitz-calendar-color) 25%,transparent)}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single>span:first-child{flex:0 0 auto;color:inherit;font-weight:800}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single.is-today>span:first-child{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single>small{overflow:hidden;max-width:100%;padding:0 2px;color:inherit;font-size:9px;font-weight:700;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus-visible{z-index:12;outline:3px solid color-mix(in srgb,var(--vitz-calendar-color) 38%,#fff);outline-offset:2px}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:hover{z-index:12}.vitz-terminkalender .vitz-calendar-agenda__popover{position:absolute;z-index:20;top:50%;left:calc(100% + 10px);display:block;visibility:hidden;width:min(250px,72vw);padding:13px 14px;border:1px solid #d8d2cc;border-radius:11px;background:#fff;color:#25292d;text-align:left;opacity:0;box-shadow:0 14px 35px rgba(32,25,20,.22);pointer-events:none;transform:translate(5px,-50%);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.vitz-terminkalender .vitz-calendar-agenda__gridday.opens-left .vitz-calendar-agenda__popover{right:calc(100% + 10px);left:auto;transform:translate(-5px,-50%)}.vitz-terminkalender .vitz-calendar-agenda__popover:before{content:"";position:absolute;top:50%;left:-7px;width:12px;height:12px;border-bottom:1px solid #d8d2cc;border-left:1px solid #d8d2cc;background:#fff;transform:translateY(-50%) rotate(45deg)}.vitz-terminkalender .vitz-calendar-agenda__gridday.opens-left .vitz-calendar-agenda__popover:before{right:-7px;left:auto;border:0;border-top:1px solid #d8d2cc;border-right:1px solid #d8d2cc}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:hover .vitz-calendar-agenda__popover,.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus .vitz-calendar-agenda__popover,.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus-within .vitz-calendar-agenda__popover{visibility:visible;opacity:1;transform:translate(0,-50%);transition-delay:0s}.vitz-terminkalender .vitz-calendar-agenda__popover-event{display:block}.vitz-terminkalender .vitz-calendar-agenda__popover-event.is-following{margin-top:11px;padding-top:11px;border-top:1px solid #e6e1dc}.vitz-terminkalender .vitz-calendar-agenda__popover-category{display:block;margin-bottom:4px;color:var(--vitz-calendar-color);font-size:10px;font-weight:800;line-height:1.3;text-transform:uppercase}.vitz-terminkalender .vitz-calendar-agenda__popover strong{display:block;margin-bottom:7px;color:#25292d;font-size:14px;font-weight:750;line-height:1.25}.vitz-terminkalender .vitz-calendar-agenda__popover-meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:#606870;font-size:10px;line-height:1.4}
@container (max-width:430px){.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single>small{display:none}.vitz-terminkalender .vitz-calendar-agenda__popover{position:fixed;z-index:9999;top:auto;right:12px!important;bottom:12px;left:12px!important;width:auto;max-width:none;transform:translateY(6px)}.vitz-terminkalender .vitz-calendar-agenda__popover:before{display:none}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:hover .vitz-calendar-agenda__popover,.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus .vitz-calendar-agenda__popover,.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus-within .vitz-calendar-agenda__popover{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.vitz-terminkalender .vitz-calendar-agenda__popover{transition:none}}

/* Die Detailkarte darf über die Kalender-/Agenda-Grenze hinausragen und erbt keine Maße der Tageszahl. */
.vitz-terminkalender .vitz-calendar-agenda{overflow:visible}
.vitz-terminkalender .vitz-calendar-agenda__gridday>.vitz-calendar-agenda__popover{display:block;width:min(250px,72vw);height:auto;min-height:0;border-radius:11px;background:#fff;color:#25292d;box-shadow:0 14px 35px rgba(32,25,20,.22)}
@container (max-width:430px){.vitz-terminkalender .vitz-calendar-agenda__gridday>.vitz-calendar-agenda__popover{width:auto}}

/* 6.43.1 – Einzeltermine reichen ohne Kartenabstand bis an sämtliche Rasterkanten. */
.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single{align-self:stretch;justify-self:stretch;margin:0;border-radius:0;box-shadow:none}
.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus-visible{outline-offset:-3px}

/* 6.43.2 – auch die vertikalen Innenabstände der Wochenzeile vollständig einfärben. */
.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single{isolation:isolate;background:transparent;cursor:default}
.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:before{content:"";position:absolute;z-index:-1;inset:-4px 0 -7px;background:var(--vitz-calendar-color)}

/* 6.43.3 – schriftunabhängige Metadaten-Icons in der Overlay-Karte. */
.vitz-terminkalender .vitz-calendar-agenda__popover-meta>span{display:inline-flex;align-items:center;gap:4px}
.vitz-terminkalender .vitz-calendar-agenda__popover-icon{display:block;flex:0 0 auto;width:12px;height:12px;color:#778089}

/* 6.43.4 – Außenrundungen trotz sichtbarer, über den Kalender hinausragender Overlays. */
.vitz-terminkalender .vitz-calendar-agenda__monthbar{border-radius:var(--vitz-calendar-radius) 0 0 0}
.vitz-terminkalender .vitz-calendar-agenda__legend{border-radius:0 0 0 var(--vitz-calendar-radius)}
.vitz-terminkalender .vitz-calendar-agenda__agenda{overflow:hidden;border-radius:0 var(--vitz-calendar-radius) var(--vitz-calendar-radius) 0}
@container (max-width:720px){.vitz-terminkalender .vitz-calendar-agenda__monthbar{border-radius:var(--vitz-calendar-radius) var(--vitz-calendar-radius) 0 0}.vitz-terminkalender .vitz-calendar-agenda__legend{border-radius:0}.vitz-terminkalender .vitz-calendar-agenda__agenda{border-radius:0 0 var(--vitz-calendar-radius) var(--vitz-calendar-radius)}}

/* 6.44.0 – sichtbarer Detailhinweis und smartphonefreundliche Overlay-Position. */
.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single{cursor:pointer}
.vitz-terminkalender .vitz-calendar-agenda__details-hint{display:grid;place-items:center;flex:0 0 auto;width:16px!important;height:16px!important;margin-left:auto;border:1px solid currentColor;border-radius:50%!important;color:inherit;opacity:.9}
.vitz-terminkalender .vitz-calendar-agenda__details-hint .vitz-calendar-agenda__popover-icon{width:11px;height:11px;color:inherit}
@container (max-width:430px){.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single>small{display:none}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single{padding-inline:7px}.vitz-terminkalender .vitz-calendar-agenda__gridday>.vitz-calendar-agenda__popover{position:fixed;z-index:2147483000;top:50vh!important;right:auto!important;bottom:auto!important;left:50vw!important;width:min(330px,calc(100vw - 32px));max-width:none;transform:translate(-50%,-46%) scale(.98)}.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:hover .vitz-calendar-agenda__popover,.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus .vitz-calendar-agenda__popover,.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single:focus-within .vitz-calendar-agenda__popover{transform:translate(-50%,-50%) scale(1)}}

/* 6.44.1 – klare Info-Schaltfläche statt rundem Hinweissymbol. */
.vitz-terminkalender .vitz-calendar-agenda__details-hint{display:none}
.vitz-terminkalender .vitz-calendar-agenda__details-trigger{position:absolute;right:5px;bottom:4px;left:5px;display:flex;align-items:center;justify-content:center;min-width:0;min-height:18px;padding:2px 5px;border:1px solid color-mix(in srgb,currentColor 58%,transparent);border-radius:5px;background:color-mix(in srgb,currentColor 12%,transparent);color:inherit;cursor:pointer;font:inherit;font-size:8px;font-weight:800;line-height:1;text-transform:uppercase;appearance:none}
.vitz-terminkalender .vitz-calendar-agenda__details-trigger:hover{background:color-mix(in srgb,currentColor 20%,transparent)}
.vitz-terminkalender .vitz-calendar-agenda__details-trigger:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@container (max-width:430px){.vitz-terminkalender .vitz-calendar-agenda__gridday.has-single{align-items:flex-start;justify-content:center;padding-top:7px;padding-bottom:27px}.vitz-terminkalender .vitz-calendar-agenda__details-trigger{right:6px;bottom:5px;left:6px;min-height:19px}}
