/* Veranstaltungskalender: Navigation wie bei den vorhandenen Belegungen. */
.tsg-termine{max-width:1080px;padding:30px 22px 48px;font-size:.95rem}.tsg-termine h1{font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1.2}.tsg-termine .tsg-eyebrow{margin:0 0 8px}.tsg-termine .tsg-lead{font-size:1rem;line-height:1.5;margin:12px 0 20px}.tsg-termine-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}.tsg-termine-picker label{display:block;font-weight:700;margin-bottom:6px}.tsg-termine-picker>div{display:flex;gap:8px;flex-wrap:wrap}.tsg-termine-picker input,.tsg-termine-picker button{font:inherit;padding:6px 10px;border:1px solid #a7b6c7;border-radius:7px}.tsg-termine-picker button{background:#1542a1;border-color:#1542a1;color:#fff;cursor:pointer}.tsg-termine .tsg-cal-nav,.tsg-termine .tsg-cal-tabs{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0}.tsg-termine .tsg-cal-nav h2{margin:0;font-size:1.2rem;text-align:center}.tsg-termine .tsg-cal-nav a{font-weight:700}.tsg-termine .tsg-cal-tabs{justify-content:flex-start;margin:0}.tsg-termine .tsg-cal-tabs a{padding:5px 12px;border:1px solid #c5d2e2;border-radius:8px;text-decoration:none}.tsg-termine .tsg-cal-tabs .active{background:#1d468c;border-color:#1d468c;color:#fff}.tsg-termine-current{margin:0 0 12px;font-size:.9rem}.tsg-termine-scroll{overflow-x:auto;border:1px solid #dce2eb;border-radius:12px;background:#fff}.tsg-termine-month{width:100%;min-width:660px;table-layout:fixed;border-collapse:collapse}.tsg-termine-month th{background:#f3f6fb;padding:7px 8px;font-size:.82rem;text-align:left;border-bottom:1px solid #dce2eb}.tsg-termine-month th abbr{text-decoration:none}.tsg-termine-month td{height:80px;vertical-align:top;padding:5px 6px;border-right:1px solid #e0e6ee;border-bottom:1px solid #e0e6ee}.tsg-termine-month td:last-child{border-right:0}.tsg-termine-month tr:last-child td{border-bottom:0}.tsg-termine-month .tsg-termine-blank{background:#f7f9fb}.tsg-termine-day{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;min-width:23px;height:23px}.tsg-termine-today .tsg-termine-day{background:#1542a1;color:#fff;border-radius:50%}.tsg-termine-entry{display:block;background:#eaf0fb;border-left:3px solid #1542a1;padding:4px 5px;margin-top:4px;border-radius:4px;text-decoration:none;color:#16385f;font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}.tsg-termine-entry:hover{background:#dbe6fa}.tsg-termine-entry-time{display:block;font-size:.72rem;font-weight:700;margin-bottom:3px}.tsg-termine-entry.is-cancelled{background:#f8eeee;border-color:#9b3636;color:#7c2828}.tsg-termine-entry.is-cancelled>span:last-child{text-decoration:line-through}.tsg-termine-list{margin-top:24px}.tsg-termine-list>h2{margin-bottom:12px}.tsg-termine-card{display:flex;gap:16px;padding:16px;margin:10px 0;border:1px solid #dce2eb;border-radius:12px;background:#fff;scroll-margin-top:28px}.tsg-termine-card:target{outline:3px solid #1542a1;outline-offset:3px}.tsg-termine-card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:flex-start;min-width:70px;background:#f0f4fb;color:#16385f;border-radius:8px;padding:8px;line-height:1.35}.tsg-termine-card-date strong{font-size:1.6rem}.tsg-termine-card-date span{font-size:.75rem}.tsg-termine-card-body{min-width:0;overflow-wrap:anywhere}.tsg-termine-card h3{margin:0 0 8px;font-size:1.1rem;line-height:1.4}.tsg-termine-meta{margin:0 0 12px;color:#415268}.tsg-termine-description{line-height:1.55}.tsg-termine-cancelled{color:#8d2929;font-weight:700;margin:0 0 8px}.tsg-termine-card.is-cancelled{border-color:#e4bcbc}.tsg-termine-empty{padding:22px;background:#f3f6fb;border-radius:10px}.tsg-termine-scrollhint{font-size:.85rem;color:#536478}.tsg-termine-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tsg-termine a:focus-visible,.tsg-termine input:focus-visible,.tsg-termine button:focus-visible,.tsg-termine-scroll:focus-visible{outline:3px solid #1542a1;outline-offset:3px}@media(min-width:800px){.tsg-termine-scrollhint{display:none}}@media(max-width:600px){.tsg-termine-card{padding:16px;gap:14px}.tsg-termine-card-date{min-width:65px;padding:9px 6px}.tsg-termine-card-date span{font-size:.72rem}.tsg-termine .tsg-cal-nav{gap:8px}.tsg-termine .tsg-cal-nav h2{font-size:1.1rem}.tsg-termine .tsg-cal-nav a{font-size:.85rem}}

/* Startseite: drei kommende Veranstaltungen direkt unter dem Bildslider. */
.tsg-events-preview{padding:38px 0 42px;background:#f3f6fb;border-bottom:1px solid #e0e6ee}.tsg-events-preview-inner{width:min(calc(100% - 44px),1220px);margin:auto}.tsg-events-preview-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.tsg-events-preview-heading .content-kicker{margin:0 0 4px}.tsg-events-preview-heading h2{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.2;margin:0}.tsg-events-preview-all,.tsg-events-preview-more{font-weight:700;color:#1542a1}.tsg-events-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tsg-events-preview-card{display:flex;align-items:start;gap:16px;background:#fff;border:1px solid #dce2eb;border-radius:12px;padding:22px;min-width:0}.tsg-events-preview-date{flex:0 0 70px;display:flex;flex-direction:column;align-items:center;padding:12px 6px;border-radius:8px;background:#eaf0fb;color:#16385f;line-height:1.35}.tsg-events-preview-date strong{font-size:2rem}.tsg-events-preview-date span{font-size:.8rem}.tsg-events-preview-date small{font-size:.75rem}.tsg-events-preview-body{min-width:0;overflow-wrap:anywhere}.tsg-events-preview-body h3{margin:0 0 9px;font-size:1.1rem;line-height:1.4}.tsg-events-preview-body h3 a{text-decoration:none}.tsg-events-preview-body h3 a:hover{text-decoration:underline}.tsg-events-preview-when,.tsg-events-preview-place{font-size:.9rem;color:#415268;margin:0 0 8px;line-height:1.55}.tsg-events-preview-more{font-size:.9rem}.tsg-events-preview-empty{margin-bottom:0;color:#415268}.tsg-events-preview a:focus-visible{outline:3px solid #1542a1;outline-offset:3px}@media(max-width:1000px){.tsg-events-preview-grid{grid-template-columns:1fr}.tsg-events-preview-card{padding:18px}.tsg-events-preview-date{flex-basis:76px}}@media(max-width:600px){.tsg-events-preview{padding:28px 0}.tsg-events-preview-inner{width:calc(100% - 32px)}.tsg-events-preview-heading{gap:12px}.tsg-events-preview-card{gap:14px}.tsg-events-preview-date{flex-basis:65px}}

/* Flyer in den Termindetails; Originalformat bleibt erhalten. */
.tsg-termine-flyer{margin:14px 0 0;max-width:260px}.tsg-termine-flyer img{display:block;width:100%;height:auto;border:1px solid #dce2eb;border-radius:8px}.tsg-termine-flyer figcaption{margin-top:8px;font-size:.85rem}.tsg-termine-flyer a{color:#1542a1}

@media(max-width:600px){.tsg-termine{padding:24px 16px 36px}.tsg-termine-toolbar{gap:14px}.tsg-termine-card{padding:12px;gap:12px}.tsg-termine-card h3{font-size:1.05rem}}
