/* Programm — Gestaltung 1:1 aus der bestehenden Seite übernommen (mrh-event-*). */
.mrh-event-search{margin-bottom:2em}
.mrh-search-row{display:flex;gap:0.75em;align-items:center;margin-bottom:1em;flex-wrap:wrap}
.mrh-search-input-wrap{position:relative;display:flex;align-items:center;flex:0 1 280px;border:1px solid #c9ced6!important;border-radius:0!important;box-shadow:none!important;padding:0.45em 1em 0.45em 2.2em;background:#fff!important;transition:border-color 0.2s;height:2.6em;box-sizing:border-box}
.mrh-search-input-wrap:focus-within{border-color:#1b2a49!important;box-shadow:none!important}
.mrh-search-icon{position:absolute;left:0.75em;top:50%;transform:translateY(-50%);color:#6b7684;pointer-events:none}
.mrh-search-input,.mrh-search-input:focus,.mrh-search-input:active{flex:1;border:none!important;border-radius:0!important;outline:none!important;box-shadow:none!important;font-family:"DM Sans",sans-serif;font-size:0.88em;color:#1b2a49;background:transparent!important;min-width:0;padding:0;line-height:1;height:auto}
.mrh-search-input::placeholder{color:#6b7684;opacity:1}
.mrh-search-clear{background:none;border:none;cursor:pointer;color:#6b7684;font-size:0.8em;padding:0 0.2em;line-height:1;display:none;align-items:center;transition:color 0.2s}
.mrh-search-clear:hover{color:#1b2a49}
.mrh-cal-trigger{display:inline-flex;align-items:center;gap:0.4em;font-family:"DM Sans",sans-serif;font-size:0.88em;font-weight:500;color:#1b2a49;cursor:pointer;padding:0 1em;border:1px solid #c9ced6;border-radius:0;transition:border-color 0.2s,background 0.2s;user-select:none;position:relative;background:#fff;white-space:nowrap;height:2.6em;box-sizing:border-box}
.mrh-cal-trigger:hover{border-color:#1b2a49}
.mrh-cal-trigger.mrh-cal-active{border-color:#1b2a49;color:#1b2a49;background:#eef3f5}
.mrh-cal-arrow{opacity:0.6}
.mrh-custom-select{position:relative;display:inline-block}
.mrh-custom-select-trigger{display:inline-flex;align-items:center;gap:0.4em;font-family:"DM Sans",sans-serif;font-size:0.88em;font-weight:500;color:#1b2a49;cursor:pointer;padding:0 1em;border:1px solid #c9ced6;border-radius:0;background:#fff;white-space:nowrap;height:2.6em;box-sizing:border-box;user-select:none;transition:border-color 0.2s}
.mrh-custom-select-trigger:hover,.mrh-custom-select-trigger.mrh-open{border-color:#1b2a49}
.mrh-custom-select-trigger svg:first-child{color:#6b7684;flex-shrink:0}
.mrh-custom-select-arrow{opacity:0.6;margin-left:auto;transition:transform 0.2s}
.mrh-custom-select-trigger.mrh-open .mrh-custom-select-arrow{transform:rotate(180deg)}
.mrh-custom-select-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #c9ced6;border-radius:0;box-shadow:0 6px 20px rgba(27,42,73,0.12);z-index:200;overflow:hidden}
.mrh-custom-select-option{display:block;width:100%;text-align:left;font-family:"DM Sans",sans-serif;font-size:0.88em;color:#1b2a49;background:none;border:none;padding:0.7em 1em;cursor:pointer;transition:background 0.15s;white-space:nowrap}
.mrh-custom-select-option:hover{background:#eef3f5}
.mrh-custom-select-option.mrh-active{background:#1b2a49;color:#fff}
.mrh-cal-popup{position:absolute;z-index:200;background:#fff;box-shadow:0 8px 28px rgba(27,42,73,0.14);padding:1.25em 1.25em 0.75em;min-width:280px;margin-top:4px;border-radius:0;border:1px solid #e2e6ea}
.mrh-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1em}
.mrh-cal-month-label{font-family:"DM Sans",sans-serif;font-size:1em;font-weight:700;color:#1b2a49}
.mrh-cal-nav{background:none;border:none;font-size:1.4em;color:#5c6673;cursor:pointer;padding:0 0.35em;line-height:1;transition:color 0.2s}
.mrh-cal-nav:hover{color:#1b2a49}
.mrh-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:0.4em}
.mrh-cal-weekdays span{font-family:"DM Sans",sans-serif;font-size:0.72em;font-weight:600;color:#6b7684;padding:0.2em 0}
.mrh-cal-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}
.mrh-cal-day{font-family:"DM Sans",sans-serif;font-size:0.82em;background:none;border:none;border-radius:0;padding:0.5em 0.2em;cursor:pointer;color:#1b2a49;transition:background 0.15s,color 0.15s;position:relative}
.mrh-cal-day:hover{background:#eef3f5}
.mrh-cal-empty{cursor:default}
.mrh-cal-empty:hover{background:none}
.mrh-cal-past{color:#b6bcc5;cursor:default}
.mrh-cal-past:hover{background:none}
.mrh-cal-today{font-weight:700}
.mrh-cal-has-event::after{content:"";display:block;width:4px;height:4px;background:#d4a017;margin:2px auto 0;border-radius:50%}
.mrh-cal-selected{background:#1b2a49!important;color:#fff!important}
.mrh-cal-selected::after{background:#fff}
.mrh-cal-footer{border-top:1px solid #e8eaed;margin-top:0.75em;padding-top:0.6em;text-align:center}
.mrh-cal-reset{background:none;border:none;font-family:"DM Sans",sans-serif;font-size:0.82em;color:#245f79;cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:0.1em}
.mrh-cal-reset:hover{color:#1b2a49}
.mrh-filter-tags{display:flex;flex-wrap:wrap;gap:0.5em;margin-top:0.75em}
.mrh-filter-tag{font-family:"DM Sans",sans-serif;font-size:0.82em;font-weight:500;background:#fff;color:#5c6673;border:1px solid #c9ced6;border-radius:999px;padding:0.42em 1em;cursor:pointer;transition:background 0.2s,border-color 0.2s,color 0.2s;white-space:nowrap;display:inline-flex;align-items:center;line-height:1}
.mrh-filter-tag:hover{border-color:#1b2a49;color:#1b2a49}
.mrh-filter-tag.active{background:#1b2a49;border-color:#1b2a49;color:#fff}
.mrh-filter-tag:focus-visible,.mrh-cal-trigger:focus-visible,.mrh-cal-day:focus-visible,.mrh-cal-nav:focus-visible,.mrh-cal-reset:focus-visible,.mrh-custom-select-trigger:focus-visible,.mrh-custom-select-option:focus-visible,.mrh-search-clear:focus-visible,.event-excerpt-toggle:focus-visible,.event-organizer-link:focus-visible,.event-show-more-btn:focus-visible,.tickets-button:focus-visible{outline:2px solid #245f79;outline-offset:2px}
.mrh-search-no-results,.mrh-no-events{font-family:"DM Sans",sans-serif;font-size:0.95em;color:#4a4a4a;padding:2em 0;text-align:center}
.mrh-month-separator{display:flex;align-items:center;gap:1em;padding:1.5em 0 0.75em}
.mrh-month-separator:first-child{padding-top:0}
.mrh-month-label{font-family:"DM Sans",sans-serif;font-size:0.82em;font-weight:600;color:#6b7684;white-space:nowrap;letter-spacing:0.04em}
.mrh-month-line{flex:1;height:1px;background:#e2e6ea;display:block}
.event-row{display:grid!important;grid-template-columns:35% 1fr!important;gap:2em;padding:2em 0;border-bottom:1px solid #e8eaed;align-items:start;box-sizing:border-box}
.event-row:last-child{border-bottom:none}
.event-col-image{position:relative;width:100%;aspect-ratio:16/9}
.event-col-image img.event-thumbnail{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.event-image-placeholder{width:100%;aspect-ratio:16/9;background:#c8d4da}
.event-col-content{display:flex;flex-direction:column;gap:0.5em;min-width:0}
.event-meta-line{display:block;font-family:"DM Sans",sans-serif;font-size:1.1em;font-weight:700;color:#1b2a49;line-height:1.2}
.event-title{margin:0;font-family:"DM Sans",sans-serif;font-size:2em;font-weight:700;line-height:1.1;color:#1b2a49;text-wrap:balance;text-decoration:underline;text-underline-offset:0.12em;text-decoration-thickness:2px;text-decoration-color:#d4a017}
.event-excerpt-wrap{position:relative}
.event-excerpt{margin:0;max-width:68ch;font-family:"DM Sans",sans-serif;color:#4a4a4a;line-height:1.6;font-size:0.85em;text-wrap:pretty;overflow:hidden;max-height:8.4em;--closed:8.4em;transition:max-height 0.7s cubic-bezier(0.22,1,0.36,1),-webkit-mask-image 0.4s,mask-image 0.4s}

.event-excerpt-wrap.has-overflow .event-excerpt{-webkit-mask-image:linear-gradient(to bottom,black 62%,transparent 100%);mask-image:linear-gradient(to bottom,black 62%,transparent 100%)}
.event-excerpt-wrap.has-overflow .event-excerpt.is-open{-webkit-mask-image:none;mask-image:none}
.event-excerpt>*:first-child{margin-top:0}
.event-excerpt>*:last-child{margin-bottom:0}
.event-excerpt p{margin:0 0 0.75em;font-size:inherit;line-height:inherit;color:inherit}
.event-excerpt p:empty{display:none}
.event-excerpt p+p{margin-top:0}
.event-excerpt strong,.event-excerpt b{font-weight:700;color:#1b2a49}
.event-excerpt em,.event-excerpt i{font-style:italic}
.event-excerpt a{color:#245f79;text-decoration:underline;text-underline-offset:0.12em}
.event-excerpt a:hover{color:#1b2a49}
.event-excerpt ul,.event-excerpt ol{margin:0 0 0.75em;padding-left:1.3em}
.event-excerpt li{margin-bottom:0.25em}
.event-excerpt h1,.event-excerpt h2,.event-excerpt h3,.event-excerpt h4{font-family:"DM Sans",sans-serif;font-size:1.05em;font-weight:700;color:#1b2a49;line-height:1.3;margin:0.9em 0 0.4em}
.event-excerpt img{max-width:100%;height:auto;display:block;margin:0.75em 0}
.event-excerpt br{line-height:inherit}
.event-excerpt blockquote{margin:0.75em 0;padding-left:0.9em;border-left:2px solid #d4a017;color:#4a4a4a}
.event-excerpt-toggle{display:none;align-items:center;gap:0.3em;background:none;border:none;cursor:pointer;font-family:"DM Sans",sans-serif;font-size:0.82em;font-weight:600;color:#245f79;padding:0.35em 0 0;transition:color 0.2s}
.event-excerpt-wrap.has-overflow .event-excerpt-toggle{display:inline-flex}
.event-excerpt-toggle:hover{color:#1b2a49}
.event-excerpt-toggle svg{transition:transform 0.3s ease;flex-shrink:0}
.event-excerpt-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.event-organizer{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 0.4em;font-family:"DM Sans",sans-serif;font-size:0.8em;line-height:1.45;margin-top:0.4em}
.event-organizer-label{color:#6b7684;font-weight:500}
.event-organizer-label::after{content:":"}
.event-organizer-value{color:#6b7684;font-weight:500}
.event-organizer-name{color:#6b7684}
.event-organizer-link{color:#245f79!important;text-decoration:none!important;border-bottom:1px solid #b9cdd6;padding-bottom:0.05em;transition:color 0.2s,border-color 0.2s;display:inline}
.event-organizer-link svg{vertical-align:-0.05em;margin-left:0.25em;opacity:0.7;transition:opacity 0.2s}
.event-organizer-link:hover{color:#1b2a49!important;border-bottom-color:#1b2a49}
.event-organizer-link:hover svg{opacity:1}
.event-organizer-sep{color:#a8b0ba;padding:0 0.3em}
.event-footer{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-top:0.75em;flex-wrap:wrap}
.event-footer-meta-row{display:flex;flex-direction:column;align-items:flex-start;gap:0.15em;font-family:"DM Sans",sans-serif;font-weight:700;color:#1b2a49;line-height:1.3;min-width:0}
.event-footer-saal{font-weight:700;color:#1b2a49;font-size:1.15em;line-height:1.25}
.event-footer-times{display:flex;align-items:baseline;flex-wrap:wrap;font-size:0.92em}
.event-footer-item{font-weight:700;color:#1b2a49}
.event-footer-item--soft{font-weight:500;color:#6b7684}
.event-footer-dot{font-weight:400;color:#1b2a49;opacity:0.4;padding:0 0.55em}
.event-free-badge{background:#d4a017!important;color:#1b2a49!important;font-family:"DM Sans",sans-serif!important;font-weight:700;font-size:0.85em;padding:0.6em 1.4em;border-radius:0;display:inline-block;white-space:nowrap;flex-shrink:0;line-height:1.4;cursor:default;user-select:none}
.event-sold-out-badge{background:#eef0f3!important;color:#4a5462!important;font-family:"DM Sans",sans-serif!important;font-weight:700;font-size:0.85em;padding:0.6em 1.4em;border-radius:0;display:inline-block;white-space:nowrap;flex-shrink:0;line-height:1.4;cursor:default;user-select:none}
.event-row--hidden{display:none!important}
.event-show-more-overlay{position:relative;margin-top:-12em;padding-top:10em;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 45%,rgba(255,255,255,1) 100%);display:flex;justify-content:center;align-items:flex-end;padding-bottom:2em;pointer-events:none;z-index:10}
.event-show-more-btn{pointer-events:all;font-family:"DM Sans",sans-serif;font-size:0.92em;font-weight:600;background:transparent;color:#1b2a49;border:1px solid #1b2a49;border-radius:0;padding:0.6em 1.6em;cursor:pointer;transition:background 0.2s,color 0.2s}
.event-show-more-btn:hover{background:#1b2a49;color:#fff}
@media screen and (max-width:900px){.event-row{grid-template-columns:42% 1fr!important;gap:1.5em}.event-title{font-size:1.6em}.event-meta-line{font-size:1em}.event-footer-saal{font-size:1.08em}.event-excerpt{max-height:6.8em}.mrh-search-input-wrap{flex:0 1 220px}}
@media screen and (max-width:660px){.mrh-search-row{flex-direction:column;align-items:stretch;gap:0.5em}.mrh-search-input-wrap{flex:1 1 auto;width:100%;height:2.9em}.mrh-cal-trigger{width:100%;justify-content:space-between;height:2.9em}.mrh-custom-select{width:100%}.mrh-custom-select-trigger{width:100%;justify-content:space-between;box-sizing:border-box;height:2.9em}.mrh-custom-select-menu{width:100%}.mrh-custom-select-option{padding:0.85em 1em}.mrh-filter-tags{margin-top:0.6em;gap:0.45em}.mrh-filter-tag{font-size:0.82em;padding:0.6em 1em}.mrh-month-separator{padding:1.4em 0 0.6em}.event-row{grid-template-columns:1fr!important;gap:0;padding:0 0 1.1em;margin-bottom:0.9em;border-bottom:none;background:#fff;box-shadow:0 1px 2px rgba(27,42,73,0.06),0 6px 18px rgba(27,42,73,0.08);overflow:hidden}.event-col-image{width:100%;aspect-ratio:16/9}.event-col-content{padding:0.95em 1.05em 0;gap:0.45em}.event-meta-line{font-size:0.92em}.event-title{font-size:1.32em;line-height:1.18}.event-excerpt{max-height:4.8em;font-size:0.88em}.event-excerpt-toggle{margin-top:0.15em;padding:0.5em 0}.event-organizer{font-size:0.78em;margin-top:0.5em}.event-footer{flex-direction:column;align-items:stretch;gap:0.8em;margin-top:0.9em}.event-footer-saal{font-size:1.02em}.event-footer-times{font-size:0.88em}.event-footer-dot{padding:0 0.4em}.tickets-button,.event-free-badge,.event-sold-out-badge,.event-cancelled-badge{width:100%;text-align:center;padding:0.85em 1em;box-sizing:border-box}.event-show-more-overlay{margin-top:-8em;padding-top:6em}.mrh-cal-popup{min-width:260px;left:0;right:0}.mrh-cal-day{padding:0.7em 0.2em;font-size:0.88em}}
@media (prefers-reduced-motion:reduce){.event-excerpt,.event-excerpt-toggle svg,.mrh-custom-select-arrow,.tickets-button{transition:none!important}}
.genre-tags{position:absolute;top:0.55em;left:0.55em;right:0.55em;z-index:2;display:flex;flex-wrap:wrap;gap:0.3em}
.genre-tag{background:rgba(255,255,255,0.94);color:#1b2a49;font-family:"DM Sans",sans-serif;font-size:0.75em;font-weight:600;line-height:1.35;padding:0.2em 0.62em;border-radius:999px;white-space:nowrap}
.tickets-button{background:#1b2a49!important;color:#fff!important;font-family:"DM Sans",sans-serif;font-weight:600;font-size:0.85em;text-decoration:none!important;padding:0.6em 1.4em;border-radius:0!important;border:none!important;display:inline-block;white-space:nowrap;transition:background 0.25s,transform 0.1s;flex-shrink:0;cursor:pointer;line-height:1.4}
.tickets-button:hover{background:#245f79!important;color:#fff!important}
.tickets-button:active{transform:translateY(1px)}
/* Ergänzungen für diese Umsetzung */
.mrh-program{padding-top:clamp(2rem,1.5rem + 2vw,3.5rem);padding-bottom:var(--space-section)}
.mrh-program button{font-family:"DM Sans",sans-serif}
.mrh-filter-tag{border-radius:2px}
.mrh-search-clear.is-visible{display:inline-flex}
.mrh-cal-wrap{position:relative;display:inline-block}
.mrh-cal-day:disabled{cursor:default}
.mrh-cal-day:disabled:hover{background:none}
.mrh-status{font-size:0.82em;color:#6b7684;margin:0 0 0.5em}
.event-title{letter-spacing:-0.01em}
.event-row{scroll-margin-top:calc(var(--header-h) + 1rem)}
@media screen and (max-width:660px){.mrh-cal-wrap{width:100%}.mrh-cal-popup{right:auto;width:100%}}
.event-row[hidden],.mrh-month[hidden],.mrh-custom-select-menu[hidden],.mrh-cal-popup[hidden],[data-empty][hidden]{display:none!important}
.event-title{font-weight:500}
.mrh-cal-trigger #dateLabel{flex:1;text-align:left}
.event-cancelled-badge{background:#fff!important;color:#9b2c2c!important;border:1px solid #9b2c2c;font-family:"DM Sans",sans-serif!important;font-weight:700;font-size:0.85em;padding:0.6em 1.4em;border-radius:0;display:inline-block;white-space:nowrap;flex-shrink:0;line-height:1.4;cursor:default;user-select:none}
.event-row.is-cancelled .event-title{text-decoration:line-through;text-decoration-thickness:1px;color:#6b7684}
.event-row.is-cancelled .event-thumbnail{filter:grayscale(1);opacity:.7}

/* Eigenproduktionen: dunkle Bühne statt Liste */
.event-row.is-own{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;gap:clamp(1.5em,1em + 2vw,3em);margin:1.5em calc(-1 * clamp(1.25rem,0.5rem + 2vw,2.5rem));padding:clamp(1.25rem,0.5rem + 2vw,2.5rem);background:#1b2a49;border-bottom:0;color:#fff}
.event-row.is-own + .event-row{border-top:0}
.event-row.is-own .event-col-image{aspect-ratio:4/3}
.event-own-label{display:inline-flex;align-items:center;gap:0.5em;font-size:0.8em;font-weight:600;letter-spacing:0.02em;color:#e3b53a}
.event-own-label::before{content:"";width:1.6em;height:2px;background:currentColor}
.event-row.is-own .event-meta-line,.event-row.is-own .event-title,.event-row.is-own .event-footer-saal,.event-row.is-own .event-footer-item{color:#fff}
.event-row.is-own .event-title{font-size:2.6em;text-decoration-color:#e3b53a}
.event-row.is-own .event-excerpt,.event-row.is-own .event-excerpt *{color:rgba(255,255,255,0.82)}
.event-row.is-own .event-excerpt-toggle{color:#fff}
.event-row.is-own .event-footer-item--soft,.event-row.is-own .event-organizer,.event-row.is-own .event-organizer *{color:rgba(255,255,255,0.68)}
.event-row.is-own .event-footer-dot{color:#fff}
.event-row.is-own .tickets-button{background:#e3b53a!important;color:#1b2a49!important;font-size:0.95em;padding:0.75em 1.6em}
.event-row.is-own .tickets-button:hover{background:#fff!important;color:#1b2a49!important}
.event-row.is-own .event-free-badge,.event-row.is-own .event-sold-out-badge{color:#1b2a49}
@media screen and (max-width:900px){.event-row.is-own .event-title{font-size:2em}}
@media screen and (max-width:660px){.event-row.is-own{grid-template-columns:1fr!important;margin:1em 0;padding:1.1rem}.event-row.is-own .event-col-image{aspect-ratio:16/10}}
