/* TD Kalender – Frontend
   Alle Regeln unter .tdk, damit das Theme unberührt bleibt. */

.tdk {
	--tdk-primary: #072f7c;
	--tdk-text: #2d3342;
	--tdk-muted: #6b7385;
	--tdk-line: #dfe4ee;
	--tdk-soft: #f4f6fb;
	--tdk-card: #fff;
	--tdk-radius: 10px;
	--tdk-cancel: #b42318;
	--tdk-ok: #17803d;
	--c: var(--tdk-primary);
	color: var(--tdk-text);
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 48px;
}
.tdk *, .tdk *::before, .tdk *::after { box-sizing: border-box; }
.tdk a { color: var(--tdk-primary); text-decoration: none; }
.tdk a:hover { text-decoration: underline; }
.tdk a:focus-visible, .tdk button:focus-visible, .tdk input:focus-visible, .tdk summary:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--tdk-primary) 45%, transparent);
	outline-offset: 2px;
}
.tdk h1, .tdk h2, .tdk h3 { margin: 0; letter-spacing: 0; }
.tdk ul, .tdk ol { margin: 0; padding: 0; list-style: none; }
.tdk p { margin: 0 0 .6em; }
.tdk .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.tdk-page { padding-top: 24px; padding-bottom: 24px; }
.tdk-muted { color: var(--tdk-muted); }

/* ---------- Kopf ---------- */
.tdk-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 16px; }
.tdk-crumbs { font-size: 14px; color: var(--tdk-muted); margin-bottom: 4px; }
.tdk-crumbs__sep { margin: 0 6px; }
.tdk-title { font-size: clamp(24px, 3.2vw, 34px); line-height: 1.15; color: var(--tdk-primary); font-weight: 700; }
.tdk-title__sub { display: block; font-size: 15px; font-weight: 400; color: var(--tdk-muted); margin-top: 4px; }

.tdk-views { display: inline-flex; background: var(--tdk-soft); border: 1px solid var(--tdk-line); border-radius: 999px; padding: 3px; }
.tdk-views__btn {
	padding: 6px 16px; border-radius: 999px; font-size: 14px; font-weight: 600;
	color: var(--tdk-text) !important; text-decoration: none !important; transition: background .15s, color .15s;
}
.tdk-views__btn:hover { background: #fff; }
.tdk-views__btn.is-active { background: var(--tdk-primary); color: #fff !important; }

/* ---------- Leiste ---------- */
.tdk-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 12px; }
.tdk-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.tdk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 38px; padding: 6px 14px; border: 1px solid var(--tdk-line); border-radius: 8px;
	background: #fff; color: var(--tdk-primary) !important; font-size: 14px; font-weight: 600; line-height: 1.2;
	text-decoration: none !important; cursor: pointer; transition: border-color .15s, background .15s;
}
.tdk-btn:hover { border-color: var(--tdk-primary); background: var(--tdk-soft); }
.tdk-btn.is-active { background: var(--tdk-primary); border-color: var(--tdk-primary); color: #fff !important; }
.tdk-btn--prev, .tdk-btn--next { width: 38px; padding: 0; font-size: 22px; font-weight: 400; }
.tdk-btn--primary { background: var(--tdk-primary); border-color: var(--tdk-primary); color: #fff !important; }
.tdk-btn--primary:hover { background: color-mix(in srgb, var(--tdk-primary) 85%, #000); }
.tdk-btn--block { display: flex; width: 100%; min-height: 46px; font-size: 16px; }
.tdk-btn--icon { width: 38px; padding: 0; }
.tdk-jump input {
	min-height: 38px; padding: 4px 10px; border: 1px solid var(--tdk-line); border-radius: 8px;
	background: #fff; color: var(--tdk-text); font: inherit; font-size: 14px;
}
.tdk-seg { display: inline-flex; border: 1px solid var(--tdk-line); border-radius: 8px; overflow: hidden; margin-left: 4px; }
.tdk-seg__btn { padding: 8px 12px; font-size: 13px; font-weight: 600; color: var(--tdk-text) !important; background: #fff; text-decoration: none !important; }
.tdk-seg__btn + .tdk-seg__btn { border-left: 1px solid var(--tdk-line); }
.tdk-seg__btn.is-active { background: var(--tdk-soft); color: var(--tdk-primary) !important; box-shadow: inset 0 -2px 0 var(--tdk-primary); }

.tdk-search { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.tdk-search input[type="search"] {
	width: 220px; min-height: 38px; padding: 6px 12px; border: 1px solid var(--tdk-line); border-radius: 8px;
	background: #fff; font: inherit; font-size: 14px; color: var(--tdk-text);
}
.tdk-search__reset { font-size: 13px; }

/* ---------- Kategorien ---------- */
.tdk-cats { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.tdk-cats--sub { margin-top: -2px; margin-bottom: 16px; padding-left: 12px; border-left: 3px solid var(--tdk-line); }
.tdk-cats:last-of-type { margin-bottom: 16px; }
.tdk-chip {
	display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 999px;
	border: 1px solid var(--tdk-line); background: #fff; font-size: 14px; font-weight: 600;
	color: var(--tdk-text) !important; text-decoration: none !important; white-space: nowrap; transition: border-color .15s;
}
.tdk-chip:hover { border-color: var(--c); }
.tdk-chip__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--c); flex: none; }
.tdk-chip.is-active { background: var(--c); border-color: var(--c); color: #fff !important; }
.tdk-chip.is-active .tdk-chip__dot { background: #fff; }

/* ---------- Monat ---------- */
.tdk-body { position: relative; transition: opacity .15s; }
.tdk-body.is-loading { opacity: .45; pointer-events: none; }
.tdk-month { background: var(--tdk-card); border: 1px solid var(--tdk-line); border-radius: var(--tdk-radius); overflow: visible; }
.tdk-month__head { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: var(--tdk-primary); border-radius: var(--tdk-radius) var(--tdk-radius) 0 0; }
.tdk-month__wd { padding: 9px 10px; color: #fff; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.tdk-month__wd abbr { text-decoration: none; border: 0; cursor: default; }
.tdk-month__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.tdk-day {
	position: relative; min-height: 128px; padding: 6px 6px 8px;
	border-right: 1px solid var(--tdk-line); border-bottom: 1px solid var(--tdk-line); background: #fff;
}
.tdk-day:nth-child(7n) { border-right: 0; }
.tdk-day:nth-last-child(-n+7) { border-bottom: 0; }
.tdk-day:nth-last-child(7) { border-bottom-left-radius: var(--tdk-radius); }
.tdk-day:last-child { border-bottom-right-radius: var(--tdk-radius); }
.tdk-day.is-weekend { background: #fbfcfe; }
.tdk-day.is-ferien { background-image: repeating-linear-gradient(135deg, transparent 0 8px, rgba(7, 47, 124, .035) 8px 16px); }
.tdk-day.is-other { background: #f7f8fb; }
.tdk-day.is-other .tdk-day__num { color: #a3a9b6; }
.tdk-day.is-past:not(.is-today) .tdk-ev { opacity: .62; }
.tdk-day__top { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin-bottom: 4px; min-height: 26px; }
.tdk-day__num {
	display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 4px;
	border-radius: 13px; font-size: 14px; font-weight: 700; color: var(--tdk-text) !important; text-decoration: none !important;
}
a.tdk-day__num:hover { background: var(--tdk-soft); }
.tdk-day.is-today .tdk-day__num { background: var(--tdk-primary); color: #fff !important; }
.tdk-day__hint { font-size: 10.5px; line-height: 1.2; color: var(--tdk-cancel); text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tdk-day__events { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; }
.tdk-day__events li { position: relative; min-width: 0; }
.tdk-day { min-width: 0; }
.tdk-ev {
	position: relative; display: block; padding: 3px 6px; border-radius: 4px; border-left: 3px solid var(--c);
	background: #eef2f9; background: color-mix(in srgb, var(--c) 11%, #fff);
	font-size: 12.5px; line-height: 1.3; color: var(--tdk-text) !important; text-decoration: none !important;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tdk-ev:hover, .tdk-ev:focus-visible { background: color-mix(in srgb, var(--c) 20%, #fff); }
.tdk-ev__time { font-weight: 700; font-variant-numeric: tabular-nums; }
.tdk-ev.is-allday { background: var(--c); color: #fff !important; border-left-color: transparent; }
.tdk-ev.is-cancelled .tdk-ev__title { text-decoration: line-through; }
.tdk-ev.is-cancelled { border-left-style: dashed; opacity: .75; }
.tdk-day__more { display: inline-block; margin-top: 3px; font-size: 12px; font-weight: 600; }
.tdk-day__dots { display: none; }

/* Hover-Karte */
.tdk-pop {
	position: absolute; left: 0; top: calc(100% + 6px); z-index: 30; display: none; width: 280px; padding: 12px 14px;
	background: #fff; border: 1px solid var(--tdk-line); border-top: 4px solid var(--c); border-radius: 8px;
	box-shadow: 0 12px 32px rgba(16, 30, 60, .18); white-space: normal; color: var(--tdk-text); font-size: 13.5px; line-height: 1.45;
	pointer-events: none;
}
.tdk-day__events li:hover .tdk-pop, .tdk-ev:focus-visible + .tdk-pop { display: block; }
.tdk-day:nth-child(7n) .tdk-pop, .tdk-day:nth-child(7n-1) .tdk-pop { left: auto; right: 0; }
.tdk-day:nth-last-child(-n+14) .tdk-pop { top: auto; bottom: calc(100% + 6px); }
.tdk-pop > span, .tdk-pop > strong { display: block; }
.tdk-pop__title { font-size: 15px; color: var(--tdk-primary); margin-bottom: 4px; }
.tdk-pop__when { font-weight: 600; }
.tdk-pop__where { color: var(--tdk-muted); }
.tdk-pop__cancel { color: var(--tdk-cancel); font-weight: 700; }
.tdk-pop__text { margin-top: 6px; color: var(--tdk-muted); }

/* Mobile Agenda unter dem Monat */
.tdk-agenda { display: none; }
.tdk-agenda__day { padding: 12px 0; border-bottom: 1px solid var(--tdk-line); scroll-margin-top: 140px; }
.tdk-agenda__day.is-flash { animation: tdk-flash 1.2s ease; }
@keyframes tdk-flash { 0% { background: color-mix(in srgb, var(--tdk-primary) 12%, #fff); } 100% { background: transparent; } }
.tdk-agenda__day.is-past { opacity: .7; }
.tdk-agenda.has-past:not(.show-past) .tdk-agenda__day.is-past { display: none; }
.tdk-agenda.show-past .tdk-agenda__toggle { display: none; }
.tdk-agenda__toggle { width: 100%; margin-bottom: 4px; }
.tdk-agenda__date { font-size: 15px; font-weight: 700; color: var(--tdk-primary); margin-bottom: 6px !important; }
.tdk-agenda__day.is-today .tdk-agenda__date::after { content: "Heute"; margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: var(--tdk-primary); color: #fff; font-size: 11px; vertical-align: 2px; }

.tdk-compact {
	display: grid; grid-template-columns: 96px 1fr; gap: 2px 12px; padding: 8px 10px; margin-bottom: 6px;
	border-radius: 8px; border-left: 4px solid var(--c); background: #fff; color: var(--tdk-text) !important;
	text-decoration: none !important; box-shadow: 0 1px 0 var(--tdk-line);
}
.tdk-compact:hover { background: var(--tdk-soft); }
.tdk-compact__time { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--tdk-muted); grid-row: span 2; padding-top: 1px; }
.tdk-compact__title { font-weight: 600; line-height: 1.3; }
.tdk-compact__where { font-size: 13px; color: var(--tdk-muted); }
.tdk-compact.is-cancelled .tdk-compact__title { text-decoration: line-through; }

/* ---------- Liste ---------- */
.tdk-list__month {
	position: sticky; top: 0; z-index: 2; margin: 22px 0 10px !important; padding: 6px 0;
	font-size: 15px !important; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
	color: var(--tdk-muted); background: inherit;
}
.tdk-list > .tdk-list__month:first-child { margin-top: 4px !important; }
.tdk-list__group { display: grid; gap: 10px; }
.tdk-item {
	display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: start;
	padding: 16px; background: var(--tdk-card); border: 1px solid var(--tdk-line); border-radius: var(--tdk-radius);
	transition: box-shadow .15s, border-color .15s;
}
.tdk-item:hover { border-color: color-mix(in srgb, var(--c) 45%, var(--tdk-line)); box-shadow: 0 6px 20px rgba(16, 30, 60, .07); }
.tdk-item.is-past { opacity: .72; }
.tdk-item__date {
	display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 0;
	border-radius: 8px; background: color-mix(in srgb, var(--c) 10%, #fff); border-top: 4px solid var(--c);
	color: var(--tdk-text) !important; text-decoration: none !important; line-height: 1.1;
}
.tdk-item__wd { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--tdk-muted); }
.tdk-item__d { font-size: 28px; font-weight: 800; color: var(--tdk-primary); font-variant-numeric: tabular-nums; }
.tdk-item__m { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--tdk-muted); }
.tdk-item__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.tdk-item__title { font-size: 19px !important; line-height: 1.3; margin-bottom: 4px !important; }
.tdk-item__title a { color: var(--tdk-primary); }
.tdk-item__when { font-weight: 600; margin-bottom: 2px !important; }
.tdk-item__where { display: flex; gap: 6px; align-items: flex-start; color: var(--tdk-muted); font-size: 14.5px; margin-bottom: 6px !important; }
.tdk-item__where svg { flex: none; margin-top: 4px; color: var(--c); }
.tdk-item__excerpt { font-size: 14.5px; color: var(--tdk-muted); margin-bottom: 6px !important; }
.tdk-item__more { font-size: 14px; font-weight: 700; }
.tdk-item__thumb img { display: block; width: 150px; height: 110px; object-fit: cover; border-radius: 8px; }
.tdk-item.is-cancelled .tdk-item__title a { text-decoration: line-through; }
.tdk-list.is-grouped .tdk-item__date { border-top-style: double; }

.tdk-tag {
	display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px;
	font-size: 12px; font-weight: 700; line-height: 1.6; color: var(--c) !important; text-decoration: none !important;
	background: color-mix(in srgb, var(--c) 12%, #fff);
}
.tdk-tag--series { --c: #4b5563; }
.tdk-tag--cancel { --c: var(--tdk-cancel); font-style: normal; }
.tdk-tag--open { --c: var(--tdk-ok); }

.tdk-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; }
.tdk-pager__info { color: var(--tdk-muted); font-size: 14px; }
.tdk-empty { padding: 32px 20px; text-align: center; background: var(--tdk-card); border: 1px dashed var(--tdk-line); border-radius: var(--tdk-radius); color: var(--tdk-muted); margin-top: 16px; }
.tdk-empty p:last-child { margin-bottom: 0; }

.tdk-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-top: 18px; font-size: 14px; }
.tdk-legend { display: inline-flex; align-items: center; gap: 6px; color: var(--tdk-muted); margin-left: auto; }
.tdk-legend i { width: 16px; height: 16px; border: 1px solid var(--tdk-line); border-radius: 3px; background-image: repeating-linear-gradient(135deg, transparent 0 4px, rgba(7, 47, 124, .12) 4px 8px); }
.tdk-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }

/* ---------- Hinweise ---------- */
.tdk-notice { margin: 12px 0 0; padding: 10px 14px; border-radius: 8px; border-left: 4px solid var(--tdk-primary); background: color-mix(in srgb, var(--tdk-primary) 7%, #fff); font-size: 15px; }
.tdk-notice--past { border-left-color: #8a93a5; background: #f2f3f6; }
.tdk-notice--cancel { border-left-color: var(--tdk-cancel); background: #fdf0ef; color: #7a1a12; }
.tdk-notice--soft { border-left-color: var(--tdk-line); background: var(--tdk-soft); color: var(--tdk-muted); margin-bottom: 12px; }

/* ---------- Detailseite ---------- */
.tdk-back { display: inline-block; margin-bottom: 14px; font-size: 14px; font-weight: 600; }
.tdk-single__head { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--tdk-line); }
.tdk-single__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.tdk-single__title { font-size: clamp(26px, 3.6vw, 38px) !important; line-height: 1.15; color: var(--tdk-primary); font-weight: 800; margin-bottom: 8px !important; }
.tdk-single__when { font-size: 19px; font-weight: 600; margin-bottom: 2px !important; }
.tdk-single__rule { color: var(--tdk-muted); }
.tdk-single__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
.tdk-single__img { margin: 0 0 20px; }
.tdk-single__img img { display: block; width: 100%; height: auto; border-radius: var(--tdk-radius); }
.tdk-content { font-size: 16.5px; }
.tdk-content > *:last-child { margin-bottom: 0; }
.tdk-single__side { display: grid; gap: 14px; position: sticky; top: 24px; }
.tdk-card { padding: 16px 18px; background: var(--tdk-card); border: 1px solid var(--tdk-line); border-radius: var(--tdk-radius); }
.tdk-card__title { font-size: 13px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--tdk-muted); margin-bottom: 10px !important; }
.tdk-card__name { font-weight: 700; margin-bottom: 4px !important; }
.tdk-card__addr { color: var(--tdk-text); }
.tdk-card p:last-child { margin-bottom: 0; }
.tdk-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 15px; }
.tdk-dl dt { font-weight: 700; color: var(--tdk-muted); }
.tdk-dl dd { margin: 0; }
.tdk-cal-links { display: grid; gap: 6px; }
.tdk-card--cal .tdk-muted { font-size: 13px; margin: 8px 0 0 !important; }

.tdk-dates { margin-top: 28px; }
.tdk-dates details { border: 1px solid var(--tdk-line); border-radius: var(--tdk-radius); background: var(--tdk-card); }
.tdk-dates summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding: 14px 18px; cursor: pointer; list-style: none; }
.tdk-dates summary::-webkit-details-marker { display: none; }
.tdk-dates summary h2 { font-size: 18px !important; color: var(--tdk-primary); }
.tdk-dates summary h2::before { content: "▸"; display: inline-block; margin-right: 8px; transition: transform .15s; }
.tdk-dates details[open] summary h2::before { transform: rotate(90deg); }
.tdk-dates__progress { margin: 0 !important; font-size: 14px; color: var(--tdk-muted); }
.tdk-dates__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px; padding: 0 18px 16px !important; }
.tdk-dates__item a {
	display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; padding: 7px 10px; border-radius: 8px;
	border: 1px solid var(--tdk-line); color: var(--tdk-text) !important; text-decoration: none !important; font-size: 14px;
}
.tdk-dates__item a:hover { border-color: var(--c); }
.tdk-dates__date { font-weight: 700; font-variant-numeric: tabular-nums; }
.tdk-dates__time { color: var(--tdk-muted); font-size: 13px; }
.tdk-dates__item.is-past a { background: var(--tdk-soft); color: var(--tdk-muted) !important; }
.tdk-dates__item.is-next a { border-color: var(--tdk-ok); box-shadow: inset 3px 0 0 var(--tdk-ok); }
.tdk-dates__item.is-current a { border-color: var(--tdk-primary); box-shadow: inset 3px 0 0 var(--tdk-primary); }
.tdk-dates__item.is-cancelled .tdk-dates__date { text-decoration: line-through; }
.tdk-dates__skip { padding: 0 18px 16px; margin: 0 !important; font-size: 14px; color: var(--tdk-muted); }

.tdk-anmeldung { margin-top: 36px; padding: 24px; background: var(--tdk-card); border: 1px solid var(--tdk-line); border-top: 4px solid var(--tdk-primary); border-radius: var(--tdk-radius); scroll-margin-top: 160px; }
.tdk-anmeldung > h2 { font-size: 24px !important; color: var(--tdk-primary); margin-bottom: 10px !important; }
.tdk-anmeldung__intro { font-size: 17px; margin-bottom: 18px !important; }

.tdk-single__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 36px; }
.tdk-pn { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--tdk-line); border-radius: var(--tdk-radius); background: var(--tdk-card); text-decoration: none !important; color: var(--tdk-text) !important; }
.tdk-pn:hover { border-color: var(--tdk-primary); }
.tdk-pn--next { text-align: right; grid-column: 2; }
.tdk-pn__label { font-size: 13px; font-weight: 700; color: var(--tdk-primary); }
.tdk-pn__title { font-weight: 700; }
.tdk-pn__date { font-size: 13px; color: var(--tdk-muted); }

/* ---------- Nächste Termine (Shortcode/Widget) ---------- */
.tdk-upcoming { margin-bottom: 16px; }
.tdk-upcoming__list li { display: grid; grid-template-columns: 52px 1fr; gap: 10px; align-items: start; margin-bottom: 8px; }
.tdk-upcoming__date { display: flex; flex-direction: column; align-items: center; padding: 4px 0; border-radius: 6px; background: var(--tdk-soft); font-size: 11px; text-transform: uppercase; color: var(--tdk-muted); line-height: 1.2; }
.tdk-upcoming__date strong { font-size: 14px; color: var(--tdk-primary); }
.tdk-upcoming .tdk-compact { grid-template-columns: 1fr; margin: 0; }
.tdk-upcoming .tdk-compact__time { grid-row: auto; }
.tdk-upcoming__all { margin: 8px 0 0 !important; font-weight: 700; font-size: 14px; }

/* ---------- Ort ---------- */
.tdk-place .tdk-single__title { margin-bottom: 6px !important; }
.tdk-place .tdk-list__month { position: static; margin-top: 28px !important; }

/* ---------- Responsiv ---------- */
@media (max-width: 991px) {
	.tdk-single__grid { grid-template-columns: 1fr; }
	.tdk-single__side { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
	.tdk-single__side > .tdk-btn--block { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.tdk { font-size: 15.5px; }
	.tdk-head { align-items: flex-start; flex-direction: column; }
	.tdk-search, .tdk-search input[type="search"] { width: 100%; }
	.tdk-search input[type="search"] { flex: 1; }
	.tdk-cats { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
	.tdk-month__wd { padding: 7px 0; text-align: center; font-size: 11px; }
	.tdk-day { min-height: 54px; padding: 4px 2px; text-align: center; }
	.tdk-day__top { justify-content: center; margin: 0; }
	.tdk-day__hint, .tdk-day__events, .tdk-day__more { display: none; }
	.tdk-day__dots { display: flex; justify-content: center; gap: 3px; margin-top: 3px; }
	.tdk-day__dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--c); }
	.tdk-agenda { display: block; margin-top: 12px; }
	.tdk-item { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; padding: 12px; }
	.tdk-item__thumb { display: none; }
	.tdk-item__d { font-size: 22px; }
	.tdk-item__title { font-size: 17px !important; }
	.tdk-single__nav { grid-template-columns: 1fr; }
	.tdk-pn--next { grid-column: 1; }
	.tdk-anmeldung { padding: 16px; }
	.tdk-dl { grid-template-columns: 1fr; gap: 0; }
	.tdk-dl dd { margin-bottom: 8px; }
}

@media print {
	.tdk-bar, .tdk-cats, .tdk-views, .tdk-foot, .tdk-single__nav, .tdk-anmeldung, .tdk-pop { display: none !important; }
	.tdk-day { min-height: 90px; }
}
.tdk-btn.is-disabled { opacity: .35; cursor: default; pointer-events: none; }
