/* MR Termine – Liste, Blättern, Detail-Fenster */
.mr-termine{--mrt-accent:var(--accent,#c77742);--mrt-ink:var(--ink,#161616);--mrt-soft:var(--ink-soft,rgba(22,22,22,.62));--mrt-line:var(--line-dark,rgba(22,22,22,.14));--mrt-display:var(--font-display,"Cormorant Garamond",serif);--mrt-body:var(--font-body,Inter,sans-serif);position:relative;transition:opacity .25s ease}
.mr-termine.is-loading{opacity:.45;pointer-events:none}
.mr-termine .event-list{border-top:1px solid var(--mrt-line)}
.mr-termine .event-row{display:grid;grid-template-columns:150px 1.3fr .9fr auto;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--mrt-line);cursor:pointer;outline:none;transition:padding .35s ease,background .35s ease}
.mr-termine .event-row:hover,.mr-termine .event-row:focus-visible{padding-left:14px;padding-right:14px;background:rgba(199,119,66,.06)}
.mr-termine .event-row:focus-visible{box-shadow:inset 0 0 0 2px var(--mrt-accent)}
.mr-termine .event-date{font-family:var(--mrt-display);font-size:1.32rem;color:var(--mrt-ink)}
.mr-termine .event-date small{display:block;margin-top:3px;font:500 11px/1.2 var(--mrt-body);letter-spacing:.06em;text-transform:uppercase;color:var(--mrt-soft)}
.mr-termine .event-next{display:block;margin-bottom:5px;font:700 10px/1 var(--mrt-body);letter-spacing:.16em;text-transform:uppercase;color:var(--mrt-accent)}
.mr-termine .event-type{font-weight:600;color:var(--mrt-ink)}
.mr-termine .event-place{color:var(--mrt-soft)}
.mr-termine .event-note{display:block;margin-top:3px;font-size:.82em;opacity:.85}
.mr-termine .event-link{color:var(--mrt-ink);white-space:nowrap;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;transition:color .3s}
.mr-termine .event-row:hover .event-link{color:var(--mrt-accent)}
.mr-termine .event-row.is-past,.mr-termine .event-row.is-past:hover{opacity:1}
.mr-termine .mr-termine-heading{margin:38px 0 10px;font:700 12px/1 var(--mrt-body);letter-spacing:.16em;text-transform:uppercase;color:var(--mrt-ink)}
.mr-termine .mr-termine-heading:first-child{margin-top:0}
.mr-termine-empty{font-family:var(--mrt-body);color:var(--mrt-soft)}

/* Blättern */
.mr-termine-pagination{margin-top:34px}
.mr-termine-pagination ul{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
.mr-termine-pagination li{margin:0;padding:0}
.mr-termine-pagination a,.mr-termine-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--mrt-line);border-radius:999px;font:600 13px/1 var(--mrt-body);color:var(--mrt-ink);text-decoration:none;transition:background .25s,border-color .25s,color .25s}
.mr-termine-pagination a:hover,.mr-termine-pagination a:focus-visible{border-color:var(--mrt-accent);color:var(--mrt-accent);outline:none}
.mr-termine-pagination .is-current{background:var(--mrt-ink);border-color:var(--mrt-ink);color:#fff}
.mr-termine-pagination .mr-pg-prev,.mr-termine-pagination .mr-pg-next{padding:0 18px;letter-spacing:.06em}
.mr-termine-pagination .is-disabled{opacity:.35}
.mr-termine-pagination .mr-pg-dots{border:0;min-width:20px;padding:0}

/* Tablet */
@media (max-width:1024px){
.mr-termine .event-row{grid-template-columns:130px 1fr auto}
.mr-termine .event-place{grid-column:2}
.mr-termine .event-link{grid-column:3;grid-row:1/3}
}

/* Handy: Karten */
@media (max-width:767px){
.mr-termine .event-list{display:grid;gap:14px;border-top:0}
.mr-termine .event-row,.mr-termine .event-row:hover,.mr-termine .event-row:focus-visible{position:relative;display:grid;grid-template-columns:84px 1fr;grid-template-areas:"date type" "date place" "date link";column-gap:16px;row-gap:4px;align-items:start;padding:18px 16px;border:1px solid var(--mrt-line);border-radius:14px;background:rgba(255,255,255,.62);box-shadow:0 10px 26px rgba(22,22,22,.05)}
.mr-termine .event-row.is-next{border-color:var(--mrt-accent);background:#fff;margin-top:10px;box-shadow:0 14px 34px rgba(199,119,66,.14)}
.mr-termine .event-date{grid-area:date;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-right:14px;border-right:1px solid var(--mrt-line);font-size:1.12rem;line-height:1.1}
.mr-termine .event-date small{margin-top:6px;font-size:10px;line-height:1.35;letter-spacing:.04em}
.mr-termine .is-next .event-next{position:absolute;top:-10px;left:14px;margin:0;padding:5px 10px;border-radius:999px;background:var(--mrt-accent);color:#fff;font-size:9px}
.mr-termine .event-type{grid-area:type;grid-column:auto;font:700 10px/1.2 var(--mrt-body);letter-spacing:.16em;text-transform:uppercase;color:var(--mrt-accent)}
.mr-termine .event-place{grid-area:place;grid-column:auto;font:600 1rem/1.35 var(--mrt-body);color:var(--mrt-ink)}
.mr-termine .event-link{grid-area:link;grid-column:auto;grid-row:auto;justify-self:start;margin-top:10px;padding:8px 14px;border:1px solid var(--mrt-line);border-radius:999px;font-size:.62rem;line-height:1}
.mr-termine .is-next .event-link{background:var(--mrt-ink);border-color:var(--mrt-ink);color:#fff}
.mr-termine .mr-termine-heading{margin:34px 0 14px}
.mr-termine-pagination ul{justify-content:center;gap:6px}
.mr-termine-pagination a,.mr-termine-pagination span{min-width:40px;height:40px;padding:0 10px}
.mr-termine-pagination .mr-pg-prev,.mr-termine-pagination .mr-pg-next{flex-basis:calc(50% - 3px);order:2}
.mr-termine-pagination li:has(.mr-pg-prev),.mr-termine-pagination li:has(.mr-pg-next){flex:1 1 calc(50% - 3px);order:2}
.mr-termine-pagination li:has(.mr-pg-prev) span,.mr-termine-pagination li:has(.mr-pg-prev) a,.mr-termine-pagination li:has(.mr-pg-next) span,.mr-termine-pagination li:has(.mr-pg-next) a{width:100%}
}

/* Detail-Fenster */
.mr-termin-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:20px;background:#f7f4ee;color:#161616;box-shadow:0 40px 90px rgba(0,0,0,.45);overflow:hidden}
.mr-termin-dialog::backdrop{background:rgba(8,8,8,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.mr-termin-dialog[open]{animation:mrtIn .32s cubic-bezier(.2,.8,.2,1)}
@keyframes mrtIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.mr-td-inner{position:relative;max-height:calc(100dvh - 32px);overflow:auto;-webkit-overflow-scrolling:touch}
.mr-td-close{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(17,17,17,.72);color:#fff;font:400 26px/1 sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.mr-termin-dialog .mr-td-close,.mr-termin-dialog .mr-td-close:focus{background:rgba(17,17,17,.72);color:#fff;border:0;box-shadow:none}
.mr-termin-dialog .mr-td-close:hover,.mr-termin-dialog .mr-td-close:focus-visible{background:#c77742;color:#fff;outline:none}
.mr-td-media{aspect-ratio:16/8;overflow:hidden;background:#111}
.mr-td-media img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}
.mr-td-body{padding:26px 28px 28px;font-family:var(--font-body,Inter,sans-serif)}
.mr-td-art{display:inline-block;margin-bottom:10px;font:700 10px/1 var(--font-body,Inter,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:#c77742}
.mr-td-title{margin:0 0 18px;font:600 clamp(1.7rem,4.6vw,2.3rem)/1.05 var(--font-display,"Cormorant Garamond",serif);color:#161616}
.mr-td-facts{margin:0 0 18px;padding:0;list-style:none;border-top:1px solid rgba(22,22,22,.12)}
.mr-td-facts li{display:grid;grid-template-columns:86px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(22,22,22,.12);margin:0}
.mr-td-k{font:700 10px/1.6 var(--font-body,Inter,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:rgba(22,22,22,.55)}
.mr-td-v{font-size:15px;line-height:1.5;color:#161616}
.mr-td-v a{color:#161616;text-decoration:underline;text-underline-offset:3px}
.mr-td-text{font-size:15px;line-height:1.65;color:rgba(22,22,22,.78);margin-bottom:18px}
.mr-td-text p{margin:0 0 .8em}
.mr-td-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mr-td-cal-label{flex-basis:100%;font:700 10px/1 var(--font-body,Inter,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:rgba(22,22,22,.55);margin-bottom:2px}
.mr-td-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid rgba(22,22,22,.22);border-radius:999px;font:700 11px/1 var(--font-body,Inter,sans-serif);letter-spacing:.1em;text-transform:uppercase;color:#161616;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.mr-td-btn:hover,.mr-td-btn:focus-visible{border-color:#c77742;color:#c77742;outline:none}
.mr-td-btn.is-primary{background:#161616;border-color:#161616;color:#fff}
.mr-td-btn.is-primary:hover,.mr-td-btn.is-primary:focus-visible{background:#c77742;border-color:#c77742;color:#fff}
.mr-td-btn.is-ghost{border-style:dashed}
html.mr-dialog-open{overflow:hidden}
@media (max-width:767px){
.mr-termin-dialog{width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0}
.mr-termin-dialog[open]{animation:mrtUp .34s cubic-bezier(.2,.8,.2,1)}
@keyframes mrtUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.mr-td-inner{max-height:92dvh}
.mr-td-body{padding:22px 22px calc(26px + env(safe-area-inset-bottom))}
.mr-td-actions .mr-td-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.mr-termin-dialog[open]{animation:none}.mr-termine{transition:none}}
