/* Terminübersicht (14.11.2026) */
.tm-section{background:#ece7de;padding:64px 20px;border-top:1px solid #ded6ca;border-bottom:1px solid #ded6ca;scroll-margin-top:80px}
@media(min-width:640px){.tm-section{padding:80px 32px}}
.tm-wrap{max-width:56rem;margin:0 auto}
.tm-eyebrow{margin:0 0 10px;font:700 12px/1.4 "DM Sans",system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#d94516}
.tm-h2{margin:0 0 12px;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(28px,4.5vw,42px);line-height:1.1;color:#171514}
.tm-lead{margin:0 0 24px;max-width:40rem;font-size:16px;line-height:1.7;color:#514a42}
.tm-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.tm-filter button{font:700 13px "DM Sans",system-ui,sans-serif;padding:9px 14px;border-radius:999px;border:1px solid #cfc5b7;background:#fff;color:#171514;cursor:pointer}
.tm-filter button[aria-pressed="true"]{background:#171514;color:#fff;border-color:#171514}
.tm-filter button:focus-visible,.tm-btn:focus-visible{outline:3px solid #f05423;outline-offset:2px}
.tm-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tm-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid #dfd6c9;border-radius:16px;padding:14px 16px}
.tm-date{display:grid;justify-items:center;min-width:58px;padding:6px 4px;border-radius:12px;background:#171514;color:#fff;line-height:1.1}
.tm-wd{font:700 11px "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f5b29a}
.tm-day{font:700 24px "Playfair Display",Georgia,serif}
.tm-mon{font:600 11px "DM Sans",sans-serif}
.tm-name{margin:0;font:700 18px/1.25 "Playfair Display",Georgia,serif;color:#171514}
.tm-meta{margin:4px 0 0;font-size:14px;color:#6b6157}
.tm-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:12px 16px;border-radius:10px;background:#f05423;color:#fff;font:700 14px "DM Sans",sans-serif;text-decoration:none}
.tm-btn:hover{background:#d94516}
@media(max-width:560px){.tm-row{grid-template-columns:auto 1fr}.tm-btn{grid-column:1/-1}}
.tm-empty,.tm-note{margin:18px 0 0;font-size:14.5px;line-height:1.7;color:#514a42}
.tm-empty a,.tm-note a{color:#a23d12;font-weight:700}
.hero-h1-label{display:block;font-family:"DM Sans",system-ui,sans-serif;font-size:1rem;line-height:1.5;font-weight:700;letter-spacing:.08em;color:#f6e6ce;margin:0 0 .8rem}
.tm-lead a{color:#a23d12;font-weight:700}

/* 14.11.2026: Funken im Hintergrund + schönerer Button */
.tm-section{position:relative;overflow:hidden}
.tm-section::before{content:"";position:absolute;z-index:0;pointer-events:none;width:min(720px,90vw);aspect-ratio:1;right:-12%;top:-14%;background:url(/images/funken.svg) center/contain no-repeat;opacity:.16}
.tm-section::after{content:"";position:absolute;z-index:0;pointer-events:none;width:min(420px,60vw);aspect-ratio:1;left:-10%;bottom:-12%;background:url(/images/funken.svg) center/contain no-repeat;opacity:.09;transform:rotate(40deg)}
.tm-wrap{position:relative;z-index:1}
.tm-btn{gap:10px;padding:13px 20px;border-radius:12px;letter-spacing:.01em;box-shadow:0 8px 18px -10px rgba(217,69,22,.75);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.tm-btn:hover{transform:translateY(-1px);box-shadow:0 12px 22px -10px rgba(217,69,22,.85)}
.tm-btn .tm-arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);transition:transform .15s ease}
.tm-btn:hover .tm-arrow{transform:translate(2px,-2px)}
.tm-btn .tm-arrow svg{width:12px;height:12px}
@media (prefers-reduced-motion:reduce){.tm-btn,.tm-btn .tm-arrow{transition:none}}
