/* =========================================================
   WordPress- & Plugin-Anpassungen (Menü, Inhalte, Events Manager,
   NextGEN Gallery, WPForms, MailPoet, Elementor)
   ========================================================= */

/* ---------- Admin-Leiste ---------- */
.admin-bar .hdr{top:32px}
@media (max-width:782px){ .admin-bar .hdr{top:46px} }
@media (max-width:600px){ .admin-bar .hdr{top:0} }

/* ---------- Hauptmenü (wp_nav_menu) ---------- */
.nav .menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav .menu > li{position:relative;display:flex;align-items:center}
.nav .menu li a{display:block;white-space:nowrap}
.nav .current-menu-item > a,.nav .current_page_item > a,.nav .current-menu-ancestor > a,.nav .current_page_ancestor > a{background:var(--plum-soft);color:var(--plum)}
.nav .sub-toggle{border:0;background:transparent;color:var(--muted);width:26px;height:32px;display:grid;place-items:center;cursor:pointer;margin-left:-8px;border-radius:6px}
.nav .sub-menu,.nav .children{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:none;z-index:60}
.nav .sub-menu a,.nav .children a{border-radius:8px;font-weight:400;padding:10px 12px}
.nav .sub-menu a:hover,.nav .children a:hover{background:var(--surface-2)}
@media (min-width:1021px){
  .nav .menu > li:hover > .sub-menu,.nav .menu > li:focus-within > .sub-menu,
  .nav .menu > li:hover > .children,.nav .menu > li:focus-within > .children{display:block}
}
.nav li.open > .sub-menu,.nav li.open > .children{display:block}
.nav .menu a[href*="login"],.nav .menu a[href*="anmelden"]{color:var(--muted);font-weight:400}
@media (max-width:1020px){
  .nav .menu{flex-direction:column;align-items:stretch;gap:0}
  .nav .menu > li{flex-wrap:wrap}
  .nav .menu > li > a{flex:1}
  .nav .sub-toggle{width:48px;height:48px;margin:0}
  .nav .sub-menu,.nav .children{position:static;box-shadow:none;border:0;padding:0 0 8px 16px;min-width:0;width:100%;background:transparent}
  .nav .sub-menu a,.nav .children a{border-bottom:0;font-size:1rem;padding:10px 8px}
  .nav .nav-cta{display:inline-flex}
}
@media (min-width:1021px){ .nav .nav-cta{display:none} }
.nav li.open > .sub-toggle svg{transform:rotate(180deg)}

/* ---------- Inhalte ---------- */
.prose-wide{max-width:900px}
.entry > *:first-child{margin-top:0}
.entry img{height:auto;border-radius:10px}
.entry figure{margin:1.5em 0}
.entry figcaption,.wp-caption-text{font-size:.88rem;color:var(--muted);margin-top:6px}
.entry ul,.entry ol{padding-left:1.3em}
.entry li{margin:.25em 0}
.entry h2{font-size:1.8rem;margin:1.6em 0 .5em}
.entry h3{font-size:1.3rem;margin:1.4em 0 .4em}
.entry h4{font-size:1.1rem;margin:1.2em 0 .4em}
.entry blockquote{margin:1.5em 0;padding:4px 0 4px 20px;border-left:4px solid var(--amber);font-style:italic}
.entry hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry a:not(.btn){word-break:break-word}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{margin-inline:auto}
.alignwide,.alignfull{max-width:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.post-nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.tickets-empty{color:var(--on-stage-muted);padding-bottom:48px}
.nl-band .btn{white-space:nowrap}
.archive-band .actions{display:flex;gap:10px;flex-wrap:wrap}

/* Tabellen (z. B. Gespielte Stücke, Vorstand) */
.entry .table-wrap,.entry .wp-block-table{overflow-x:auto;margin:1.5em 0}
.entry table{width:100%;border-collapse:collapse;font-size:.98rem;font-variant-numeric:tabular-nums}
.entry th{text-align:left;font:700 .76rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--plum);padding:12px 10px;border-bottom:2px solid var(--ink);background:var(--bg);position:sticky;top:68px}
.entry td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.entry tr:hover td{background:var(--surface)}
.entry td:first-child{white-space:nowrap;color:var(--muted)}
.table-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.table-tools .search{max-width:420px}
.table-tools .count{color:var(--muted);font-size:.9rem}

/* Pagination */
.pagination{margin-top:40px}
.pagination .nav-links{display:flex;gap:6px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-weight:700;color:var(--ink)}
.pagination .current{background:var(--plum);border-color:var(--plum);color:var(--plum-ink)}

/* Suche */
.search{max-width:520px}

/* ---------- Formulare allgemein, WPForms, MailPoet ---------- */
.entry input[type=text],.entry input[type=email],.entry input[type=tel],.entry input[type=url],.entry input[type=password],.entry input[type=number],.entry input[type=search],.entry select,.entry textarea,
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container textarea,.wpforms-container select,
.mailpoet_form input[type=text],.mailpoet_form input[type=email]{
  width:100%;max-width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line)!important;border-radius:10px!important;padding:12px 14px!important;box-shadow:none!important;height:auto!important}
.entry input:focus,.entry textarea:focus,.entry select:focus{outline:none;border-color:var(--plum)!important;box-shadow:0 0 0 3px var(--plum-soft)!important}
.entry label,.wpforms-field-label{font-weight:700!important;font-size:.95rem!important;color:var(--ink)!important}
.wpforms-field-sublabel{color:var(--muted)!important}
.entry button[type=submit],.entry input[type=submit],.wpforms-submit,.mailpoet_submit,.em-booking-submit,.em-button,.button{
  display:inline-flex!important;align-items:center;justify-content:center;font:700 1rem/1 var(--f-body)!important;padding:14px 22px!important;border-radius:999px!important;border:0!important;background:var(--plum)!important;color:var(--plum-ink)!important;cursor:pointer;height:auto!important;text-transform:none!important;letter-spacing:0!important}
.entry button[type=submit]:hover,.wpforms-submit:hover,.mailpoet_submit:hover{filter:brightness(1.1)}
.wpforms-container{max-width:720px!important}
.wpforms-confirmation-container-full{background:color-mix(in srgb,var(--ok) 12%,transparent)!important;border:1px solid color-mix(in srgb,var(--ok) 40%,transparent)!important;color:var(--ink)!important;border-radius:10px}

/* ---------- Events Manager ---------- */
.em.em-list,.em-events-list{display:flex;flex-direction:column;gap:12px}
.em-item,.em.em-item{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;padding:16px 20px!important;box-shadow:none!important}
.em-item:hover{border-color:var(--plum)!important}
.em-item-title a,.em-item-name a{font-family:var(--f-display);font-weight:800;color:var(--ink)!important;text-decoration:none}
.em-item-title,.em-item-name{font-size:1.35rem!important}
.em-date-box,.em-item-image .em-item-image-placeholder,.em .em-item-image-placeholder{background:var(--amber)!important;color:var(--amber-ink)!important;border-radius:10px!important}
.em-date-box *,.em .em-item-image-placeholder *{color:var(--amber-ink)!important;font-family:var(--f-display)!important}
.em-list-group-heading,.em-events-list-grouped h2,.em-events-list-grouped h3{font-family:var(--f-display);font-size:1.8rem;font-weight:800;border-bottom:2px solid var(--ink);padding:10px 0;margin:28px 0 12px}
.em-event-meta,.em-item-meta{color:var(--muted)}
.em-search,.em-search-advanced,.em-view-container .em-search{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.em.pixelbones a:not(.button),.em a{color:var(--plum)}
.em.pixelbones h1,.em.pixelbones h2,.em.pixelbones h3,.em.pixelbones h4{font-family:var(--f-display)!important;color:var(--ink)}
.em.pixelbones,.em.pixelbones p,.em.pixelbones label{font-family:var(--f-body)!important;color:var(--ink)}
.em-event-booking-form,.em-booking,.em-login{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.em-bookings-closed,.em-booking-message-error,.em-event-fully-booked{color:var(--sold);font-weight:700}
.em-event-location-map,.em-location-map-container{border-radius:var(--radius);overflow:hidden}
.em-event-add-to-calendar button,.em-event-add-calendar .button{background:transparent!important;color:var(--plum)!important;border:2px solid currentColor!important}

/* ---------- NextGEN Gallery ---------- */
.ngg-albumoverview,.ngg-galleryoverview{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin:0!important}
.ngg-album-compact,.ngg-album{float:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
.ngg-album-compactbox,.ngg-album-compactbox .Thumb{width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.ngg-album-compactbox img,.ngg-album img,.ngg-gallery-thumbnail img{width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;background:var(--surface-2)!important;transition:transform .4s}
.ngg-album-compact:hover img,.ngg-gallery-thumbnail:hover img{transform:scale(1.03)}
.ngg-album-compact h4,.ngg-album-compact .ngg-album-desc,.ngg-album h4{margin:10px 0 0!important;font:700 1.15rem/1.25 var(--f-display)!important;text-align:left!important;color:var(--ink)!important;max-width:none!important;height:auto!important;overflow:visible!important}
.ngg-album-compact h4 a,.ngg-album h4 a{color:inherit!important;text-decoration:none}
.ngg-album-compact p,.ngg-album-compact .ngg-album-gallery-image-counter{text-align:left!important;color:var(--muted)!important;font-size:.85rem;margin:2px 0 0!important}
.ngg-gallery-thumbnail-box{float:none!important;width:auto!important;margin:0!important}
.ngg-gallery-thumbnail{margin:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:hidden;border-radius:var(--radius)}
.ngg-gallery-thumbnail a{display:block;border:0!important}
.ngg-clear,.ngg-galleryoverview .ngg-clear{display:none!important}
.ngg-navigation{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.ngg-navigation a,.ngg-navigation span{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;text-decoration:none;font-weight:700}
.ngg-navigation .current,.ngg-navigation span.current{background:var(--plum)!important;border-color:var(--plum)!important;color:var(--plum-ink)!important}
.ngg-breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:16px}
.slideshowlink{grid-column:1/-1}

/* ---------- Elementor-Seiten (Schauspieler, Über uns …) ---------- */
.entry-elementor{max-width:none}
.tvd-elementor .elementor-section.elementor-section-boxed > .elementor-container{max-width:none}
.tvd-elementor .elementor-heading-title{font-family:var(--f-display)!important;color:var(--ink)}
.tvd-elementor .elementor-widget-text-editor,.tvd-elementor .elementor-widget-text-editor p{font-family:var(--f-body)!important;color:var(--ink)}
.tvd-elementor .elementor-flip-box__front,.tvd-elementor .elementor-image-box-img img,.tvd-elementor .elementor-widget-image img{border-radius:var(--radius)}
.tvd-elementor .elementor-flip-box__layer__title,.tvd-elementor .elementor-image-box-title{font-family:var(--f-display)!important}

/* ---------- Kommentare ---------- */
.comment-list{list-style:none;padding:0}
.comment-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}

/* ---------- Widgets im Footer ---------- */
.ftr-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:32px}
.ftr .menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}

/* ---------- Cookie-Banner (CookieYes) an Farben anpassen ---------- */
.cky-btn-accept{background:var(--plum)!important;border-color:var(--plum)!important}

/* Konto-Menüpunkt mit Profilbild */
.nav .menu img{width:28px;height:28px;border-radius:50%;object-fit:cover;display:inline-block;vertical-align:middle}
.nav .menu li a:has(> img){padding:6px 8px}

/* TablePress / DataTables */
.dataTables_wrapper,.dt-container{font-size:.95rem}
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dt-container .dt-length,.dt-container .dt-search{margin-bottom:14px;color:var(--muted)}
.dataTables_wrapper .dataTables_filter input,.dt-container .dt-search input{width:auto!important;min-width:240px;margin-left:8px;border-radius:999px!important}
.dataTables_wrapper select,.dt-container select{width:auto!important;padding:8px 12px!important;margin:0 6px}
.dataTables_wrapper .dataTables_paginate,.dt-container .dt-paging{margin-top:16px;display:flex;gap:6px;flex-wrap:wrap}
.dataTables_wrapper .paginate_button,.dt-container .dt-paging-button{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;border-radius:999px!important;padding:8px 14px!important;cursor:pointer;margin:0!important}
.dataTables_wrapper .paginate_button.current,.dt-container .dt-paging-button.current{background:var(--plum)!important;border-color:var(--plum)!important;color:var(--plum-ink)!important}
.dataTables_wrapper .paginate_button.disabled,.dt-container .dt-paging-button.disabled{opacity:.4;cursor:default}
.dataTables_info,.dt-info{color:var(--muted);font-size:.88rem;margin-top:12px}
.tablepress thead th,.tablepress tfoot th{background:var(--bg)!important;color:var(--plum)!important}
.tablepress tbody td,.tablepress tbody tr:nth-child(odd) td{background:transparent!important}
.tablepress .sorting:after,.tablepress .dt-orderable-asc span.dt-column-order{color:var(--muted)}
.edit-link a,.tablepress-table-description + a,a.post-edit-link{font-size:.8rem;color:var(--muted)}

/* NextGEN-Albumtitel (per JS ersetzt) */
.tvd-hidden{display:none!important}
.tvd-album-title{display:flex;flex-direction:column;gap:2px;margin-top:12px;text-decoration:none;color:var(--ink)}
.tvd-album-title time{font:400 .82rem/1.3 var(--f-body);color:var(--muted);letter-spacing:.04em}
.tvd-album-title span{font:700 1.2rem/1.2 var(--f-display)}
.ngg-album-compact .ngg-album-gallery-image-counter{margin-top:4px!important}
.ngg-breadcrumbs{text-transform:none!important;letter-spacing:0}
.slideshowlink a{font-weight:700}

/* Icons in Buttons */
.btn svg,.random button svg{width:18px;height:18px;flex:none}
.random button{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.random button svg{width:14px;height:14px}

/* Events Manager über seine eigenen Variablen einfärben */
.em,.em.pixelbones{--accent-color:var(--plum);--accent-color-hover:var(--plum);--button-primary-color:var(--plum-ink);--text-color-richer:var(--ink);--text-color-normal:var(--ink);--text-color-softer:var(--muted);--border-color:var(--line);--border-color-softer:var(--line);--background-color:var(--surface);--background-color-softer:var(--bg);--background-color-inputs:var(--surface);--font-family:var(--f-body)}
.em .em-item-image-placeholder,.em-item-image-placeholder{opacity:1!important}
.em.pixelbones .em-item-title a,.em.pixelbones .em-item-name a,.em .em-item-title a{color:var(--ink)!important;font-family:var(--f-display)!important;font-weight:800}
.em.pixelbones h1,.em.pixelbones h2,.em.pixelbones h3,.em.pixelbones h4,.em.pixelbones h5,.em h3.em-event-title{font-family:var(--f-display)!important;letter-spacing:-.01em}
.em.pixelbones .button,.em.pixelbones button:not(.em-clickable):not(.em-tooltip-ddm-trigger),.em.pixelbones input[type=submit]{border-radius:999px!important}
.em.pixelbones .em-item-read-more,.em.pixelbones a.button{border:2px solid var(--plum)!important;color:var(--plum)!important;background:transparent!important}
/* v1.5.1: Buchen-Knöpfe in der Liste → siehe unify.css (Vereinsgelb wie alle Karten-Knöpfe) */
.em-item-info{border-left-color:var(--amber)!important}

/* Platzhalter-Kacheln ohne Beitragsbild: in beiden Modi gleiche Bühnenfarben */
.post-card .ph.gen{background:linear-gradient(135deg,#3d1631,#6e1f4d)!important;color:#f7eef3!important}

/* Tabellen: in Hell & Dunkel lesbar (TablePress bringt feste Farben mit) */
.entry table,.entry .tablepress{background:transparent!important;color:var(--ink)!important}
.entry table td,.entry .tablepress tbody td,.entry .tablepress tbody tr td{color:var(--ink)!important;background:transparent!important;border-color:var(--line)!important}
.entry table td:first-child,.entry .tablepress tbody td.column-1{color:var(--muted)!important}
.entry .tablepress tbody tr:hover td,.entry .tablepress .row-hover tr:hover td{background:var(--surface)!important}
.entry table th,.entry .tablepress thead th,.entry .tablepress tfoot th{color:var(--plum)!important;background:var(--bg)!important;border-bottom:2px solid var(--ink)!important}
.entry .tablepress caption a{color:var(--muted)!important}
.dataTables_wrapper,.dt-container,.dataTables_wrapper label,.dt-container label{color:var(--muted)!important}

/* Chronik als Zeitleiste (per JS aus den Überschriften „JJJJ – …“ erzeugt) */
.tvd-page-chronik .entry{max-width:900px}
.timeline .tl-body > *:first-child{margin-top:0}
.timeline .tl-body p{margin:0 0 .8em}
.timeline .tl h3{margin:0 0 8px;font-size:1.35rem;line-height:1.2}
.timeline .names{margin:4px 0 12px}
.hub{margin-top:0}
.hub a .num{margin-bottom:2px}

/* Events Manager: Suchleiste in Theme-Farben (hell & dunkel) */
.em.em-search .em-search-form{background:var(--surface)!important;border-radius:999px!important}
.em.em-search .em-search-main-bar{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:6px 6px 6px 16px!important;align-items:center}
.em.em-search .em-search-main-bar input,.em.em-search .em-search-field,.em.em-search .em-search-text input{background:transparent!important;color:var(--ink)!important;border:0!important;box-shadow:none!important}
.em.em-search .em-search-main-bar input::placeholder{color:var(--muted)!important;opacity:1}
.em.em-search .em-search-views,.em.em-search .em-search-views-trigger button{border-color:var(--line)!important;color:var(--muted)!important;filter:none}
[data-theme=dark] .em.em-search .em-search-views-trigger button,[data-theme=dark] .em .em-icon{filter:invert(.85)}
@media (prefers-color-scheme:dark){ :root:not([data-theme=light]) .em.em-search .em-search-views-trigger button,:root:not([data-theme=light]) .em .em-icon{filter:invert(.85)} }
.em.em-search button.em-search-submit{background:var(--plum)!important;color:var(--plum-ink)!important;font:700 .95rem/1 var(--f-body)!important;letter-spacing:0!important;text-transform:none!important;border-radius:999px!important;padding:12px 20px!important;border:0!important;min-width:0!important;width:auto!important}

/* Events Manager: ausverkaufte Termine wie auf der Startseite */
.em-item.tvd-sold{position:relative;border-style:dashed!important}
.em-item.tvd-sold .em-item-image-placeholder{background:var(--stage-2)!important;opacity:1!important}
.em-item.tvd-sold .em-item-image-placeholder *{color:var(--on-stage-muted)!important}
.em-item.tvd-sold .em-item-image{position:relative}
.em-item.tvd-sold .em-item-title a{color:var(--muted)!important}
.em-item.tvd-sold .em-item-info{border-left-color:var(--line)!important}
.tvd-stamp{position:absolute;z-index:2;top:14px;left:50%;transform:translateX(-50%) rotate(-8deg);font:800 .85rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:#ff6b5e;border:2px solid currentColor;padding:6px 9px;border-radius:5px;background:color-mix(in srgb,var(--surface) 70%,transparent);white-space:nowrap;pointer-events:none}
.em-item .noteBox.danger{display:inline-flex;gap:6px;align-items:center;margin:6px 0 10px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--sold) 14%,transparent)!important;color:var(--sold)!important;border:0!important;font-size:.9rem}
.em-item .noteBox.danger strong{color:var(--sold)}

/* Hinweis-Kästen (v1.3.5) – im Inhalt z. B. <p class="noteBox hint food">…</p>
   hint   = „Gut zu wissen“ (Pflaume + i-Symbol; ein <section> nur aus Hinweis-Kästen bekommt die Überzeile)
   food / parking = Symbol Besteck / „P“ statt (i) – auch mit Farbvarianten kombinierbar
   yellow / blue / green / red = freie Farbvarianten für andere Seiten (Gelb ist sonst Zitat-Ebene) */
body .noteBox.noteBox:is(.hint,.yellow,.blue,.green,.red){position:relative;margin:0 0 12px!important;padding:14px 18px!important;border:0!important;border-left:4px solid var(--acc,var(--plum))!important;border-radius:var(--radius-s)!important;background:color-mix(in srgb,var(--acc,var(--plum)) var(--tint,10%),var(--surface))!important;color:var(--ink)!important;font-size:1rem;line-height:1.55}
.noteBox.yellow{--acc:var(--amber);--tint:16%}
.noteBox.blue{--acc:var(--info,#2f6fb5);--tint:10%}
.noteBox.green{--acc:var(--ok);--tint:10%}
.noteBox.red{--acc:var(--sold);--tint:9%}
.noteBox.hint{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-5M12 8h.01'/%3E%3C/svg%3E")}
.noteBox.food{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E")}
.noteBox.parking{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Cpath d='M9 17V7h4a3 3 0 0 1 0 6H9'/%3E%3C/svg%3E")}
body .noteBox.noteBox:is(.hint,.food,.parking){padding-left:52px!important}
.noteBox:is(.hint,.food,.parking)::before{content:"";position:absolute;left:18px;top:16px;width:20px;height:20px;background:var(--acc,var(--plum));-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.noteBox.yellow:is(.hint,.food,.parking)::before{background:color-mix(in srgb,var(--ink) 75%,var(--amber))}
/* Überzeile nur für einen Block, der ausschließlich aus Hinweis-Kästen besteht (z. B. EM-Termin) */
.tvd-hints,section:has(> .noteBox.hint):not(:has(> :not(.noteBox))){margin-top:28px;margin-bottom:36px}
.tvd-hints::before,section:has(> .noteBox.hint):not(:has(> :not(.noteBox)))::before{content:"Gut zu wissen";display:block;margin-bottom:12px;font:700 .78rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--plum)}
[data-theme=dark] .noteBox{--info:#8ab4f8}
@media (prefers-color-scheme:dark){ :root:not([data-theme=light]) .noteBox{--info:#8ab4f8} }

/* Einzeltermin (v1.3.6): Kopf mit Datum-Pille + Reihenfolge der Karte
   Ausverkauft → Zum Stück → Gut zu wissen → Termin & Karten (Wann/Wo/Vorverkauf/Buchungen) → Karte → Buchungsformular */
.phead p.tvd-when{display:inline-flex;margin:.9em 0 0;padding:8px 14px;border-radius:999px;background:rgb(255 255 255 / .08);border:1px solid rgb(255 255 255 / .14);color:var(--on-stage);font-weight:700;font-size:.95rem;max-width:none}
.em-item-single.em-event-single{display:flex!important;flex-direction:column}
.em-event-single > *{order:20!important}
.em-event-single > .em-item-header{display:contents!important}
.em-event-single > .em-item-header > *{order:20!important}
.em-event-single > .em-item-header > .noteBox.danger{order:1!important;align-self:flex-start;margin-bottom:18px}
.em-event-single > .em-item-header > .em-item-image{order:2!important}
.em-event-single > .em-event-content{order:3!important}
.em-event-single > section:has(> .noteBox){order:4!important}
.em-event-single > .em-item-header::before{order:5!important}
.em-event-single > .em-item-header > .em-item-meta{order:6!important}
.em-event-single > .em-event-location{order:7!important}
.em-event-single > .em-event-bookings{order:8!important}
.em-event-single > .em-event-content:has(> *)::before,.em-event-single > .em-item-header::before{display:block;font:700 .78rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--plum);margin:6px 0 12px}
.em-event-single > .em-event-content:has(> *)::before{content:"Zum Stück"}
.em-event-single > .em-item-header::before{content:"Termin & Karten";margin-top:28px}
.em-event-single > .em-event-bookings > h2{display:none}
.em-event-single > .em-event-content{margin-bottom:0!important}
.em-event-single > .em-event-content > :last-child{margin-bottom:0!important}
/* Übergang: Stücktitel/Untertitel stehen noch im Inhalt → sind jetzt im Kopf */
.tvd-head-from-content .em-event-content > h2:first-child,.tvd-head-from-content .em-event-content > h2:first-child + p.no-top{display:none}

/* Vereinslogo */
img.brand-mark{width:40px;height:40px;border-radius:10px;display:block;object-fit:contain}
.ftr img.brand-mark{width:44px;height:44px}
.ftr .brand{display:flex;align-items:center;gap:12px}

/* ---------- Elementor: Globale Farben auf Vereinsfarben abbilden ----------
   Das Elementor-Kit nutzt noch die Standardfarben (Blau #6EC1E4, Grau #7A7A7A).
   Hier auf die Theme-Tokens umgelegt – dadurch passen sie sich auch dem Dunkelmodus an. */
html body[class*="elementor-kit-"]{
  --e-global-color-primary:var(--plum);
  --e-global-color-secondary:var(--muted);
  --e-global-color-text:var(--ink);
  --e-global-color-accent:var(--amber);
}

/* Elementor-Bereiche mit eigenem (hellem) Hintergrund, z. B. die Karte auf /newsletter:
   dort gilt immer die helle Farbpalette, damit Text auch im Dunkelmodus lesbar bleibt. */
.tvd-elementor:not(.tvd-page-newsletter) .elementor-element[data-settings*='"background_background":"classic"']{
  --bg:#f6f2f4; --surface:#fffdfe; --surface-2:#efe7ec;
  --ink:#221620; --muted:#6b5866; --line:#e2d6de;
  --plum:#6e1f4d; --plum-ink:#fff; --plum-soft:#f1e1ea;
  --amber-soft:#fbf5cc; --sold:#b3261e; --ok:#2f7a4f;
  --e-global-color-primary:#6e1f4d; --e-global-color-secondary:#6b5866; --e-global-color-text:#221620;
  color-scheme:light; color:var(--ink);
}
.tvd-elementor:not(.tvd-page-newsletter) .elementor-element[data-settings*='"background_background":"classic"'] a:not(.elementor-button){color:var(--plum)}

/* MailPoet-Formular (Newsletter): Felder, Checkbox, Button, Meldungen */
.mailpoet_form .mailpoet_paragraph{margin-bottom:14px}
.mailpoet_form input.mailpoet_text,.mailpoet_form input[type=email],.mailpoet_form input[type=text]{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.mailpoet_form input::placeholder{color:var(--muted)!important;opacity:1}
.mailpoet_form input[type=checkbox]{width:20px!important;height:20px!important;accent-color:var(--plum);vertical-align:middle;margin-right:8px}
.mailpoet_form label,.mailpoet_form .mailpoet_checkbox_label{color:var(--ink)!important}
.mailpoet_form .mailpoet_submit{width:100%;background:var(--plum)!important;color:var(--plum-ink)!important}
.mailpoet_form .mailpoet_validate_success{color:var(--ok)!important}
.mailpoet_form .mailpoet_validate_error,.mailpoet_form .parsley-errors-list{color:var(--sold)!important}

/* Elementor-Karten auf dem Handy: weniger Innenabstand, damit der Text Platz hat */
@media (max-width:600px){
  .tvd-elementor .elementor-element[data-settings*='"background_background":"classic"'] > .elementor-element-populated{padding:32px 22px!important}
  .elementor-template-canvas .elementor-top-section{padding:28px 14px!important}
}

/* Übersicht-Kacheln: Einheit neben der Zahl (z. B. „35 Alben“) */
.hub .num small{font:700 1rem/1 var(--f-body);color:var(--muted);letter-spacing:.02em;margin-left:4px;vertical-align:.35em}

/* ---------- Team Members (Seite „Schauspieler“, Shortcode [tmm]) ----------
   Das Plugin setzt feste Farben (weiße Karte, #222/#555/#888). Hier auf die Theme-Tokens
   umgelegt, damit die Karten in Hell- und Dunkelmodus zum Design passen. */
.tmm .tmm_member{background:var(--surface)!important;border:1px solid var(--line);border-radius:6px 6px var(--radius) var(--radius);box-shadow:var(--shadow)!important}
.tmm .tmm_member .tmm_photo{border-color:var(--surface-2)!important;box-shadow:none!important;background-color:var(--surface-2)}
.tmm .tmm_names,.tmm .tmm_names span,.tmm .tmm_names span.tmm_fname,.tmm .tmm_names span.tmm_lname{color:var(--ink)!important;font-family:var(--f-display);font-weight:700}
.tmm .tmm_job,.tmm .tmm_job p{color:var(--muted)!important}
.tmm .tmm_desc,.tmm .tmm_desc span,.tmm .tmm_desc p{color:var(--ink)!important}
.tmm .tmm_desc p{display:inline-block;margin:4px 0 0;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--plum)!important;background:var(--plum-soft);border-radius:999px;padding:3px 10px}
.tmm .tmm_member .tmm_textblock a{color:var(--plum)}

/* MailPoet: Einwilligungs-Checkbox – Text läuft rechts neben der Box weiter (auch auf dem Handy) */
.mailpoet_form .mailpoet_checkbox_label{display:flex!important;align-items:flex-start;gap:10px;line-height:1.45}
.mailpoet_form .mailpoet_checkbox_label input[type=checkbox]{flex:none;margin:1px 0 0!important}

/* Browser-Autofill (Chrome/Safari) nicht hellgelb/weiß, sondern in Theme-Farben */
.entry input:-webkit-autofill,.entry input:-webkit-autofill:hover,.entry input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink)!important;-webkit-box-shadow:0 0 0 60px var(--surface) inset!important;caret-color:var(--ink)}

/* ---------- Ultimate Member (Konto, Anmelden, Registrieren, Passwort, Profil) ----------
   UM bringt feste Farben mit (weiße Felder, #eee-Navigation, blaue Links/Icons).
   Hier auf die Theme-Tokens umgelegt – dadurch passend in Hell- und Dunkelmodus. */
.um,.um *{font-family:var(--f-body)}
.um .um-form input[type=text],.um .um-form input[type=email],.um .um-form input[type=password],.um .um-form input[type=tel],.um .um-form input[type=url],.um .um-form input[type=number],.um .um-form input[type=search],.um .um-form textarea,.um .um-form select{
  background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:10px!important;height:auto!important;min-height:46px;padding:12px 14px!important;font:inherit!important;line-height:1.3!important;box-shadow:none!important}
.um .um-form .um-field-area-password input{padding-right:46px!important}
.um .um-form input:focus,.um .um-form textarea:focus,.um .um-form select:focus{outline:none;border-color:var(--plum)!important;box-shadow:0 0 0 3px var(--plum-soft)!important}
.um .um-form input[disabled],.um .um-form input[readonly],.um .um-form textarea[disabled]{background:var(--surface-2)!important;color:var(--muted)!important;cursor:not-allowed;opacity:1!important;-webkit-text-fill-color:var(--muted)}
.um .um-form input::placeholder,.um .um-form textarea::placeholder{color:var(--muted)!important;opacity:1}
.um .um-form input:-webkit-autofill{-webkit-text-fill-color:var(--ink)!important;-webkit-box-shadow:0 0 0 60px var(--surface) inset!important}
.um .um-field-label,.um .um-field-label label{color:var(--ink)!important;font-weight:700!important;font-size:.95rem!important}
.um .um-field-label .um-req{color:var(--sold)!important}
.um .um-field-label .um-field-label-icon,.um .um-field-icon i,.um .um-tip,.um .um-toggle-password,.um .um-field-area-password .um-toggle-password i{color:var(--muted)!important}
.um .um-field-label{border-bottom:0!important;margin-bottom:6px!important}
.um .um-field-radio-option,.um .um-field-checkbox-option,.um .um-field-block,.um .um-field-value{color:var(--ink)!important}
.um .um-field-radio-state i,.um .um-field-checkbox-state i{color:var(--plum)!important}
.um .um-field-radio.active .um-field-radio-state i,.um .um-field-checkbox.active .um-field-checkbox-state i{color:var(--plum)!important}
.um a,.um a.um-link,.um .um-link,.um .um-link-alt{color:var(--plum)!important}
.um .um-field-error{background:var(--sold)!important;color:#fff!important;border-radius:8px}
.um .um-field-error .um-field-arrow{color:var(--sold)!important}
.um .um-notice{border-radius:10px!important}
.um .um-notice.success{background:var(--ok)!important;color:#fff!important}
.um .um-notice.err,.um .um-notice.error{background:var(--sold)!important;color:#fff!important}
/* Buttons: Hauptaktion in Vereinsfarbe, Zweitaktion (z. B. „Registrieren“ beim Login) als Kontur */
.um input[type=submit].um-button,.um a.um-button,.um .um-button,.um .um-request-button{display:inline-flex!important;align-items:center;justify-content:center;background:var(--plum)!important;color:var(--plum-ink)!important;border:2px solid var(--plum)!important;border-radius:999px!important;font:700 1rem/1 var(--f-body)!important;padding:14px 22px!important;height:auto!important;min-height:0!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.um input[type=submit].um-button.um-alt,.um a.um-button.um-alt,.um .um-button.um-alt{background:transparent!important;color:var(--plum)!important}
.um .um-button:hover,.um input[type=submit].um-button:hover{filter:brightness(1.08)}
/* Select2-Auswahlfelder (Tab „Datenschutz“) */
.um .select2-container--default .select2-selection--single{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px!important;height:46px!important}
.um .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink)!important;line-height:44px!important;padding-left:14px!important}
.um .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px!important}
.um .select2-container--default .select2-selection--single .select2-selection__arrow b{border-top-color:var(--muted)!important}
.um .select2-container--disabled .select2-selection--single{background:var(--surface-2)!important}
.um .select2-container--disabled .select2-selection__rendered{color:var(--muted)!important}
.select2-container--open .select2-dropdown{background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink)!important}
.select2-container--default .select2-results__option{color:var(--ink)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted{background:var(--plum-soft)!important;color:var(--ink)!important}
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--surface-2)!important}
.select2-search--dropdown .select2-search__field{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important}

/* Konto-Seite: Profilkopf und Seitennavigation */
.um-account-name a{color:var(--ink)!important;font:800 1.2rem/1.2 var(--f-display)!important;text-decoration:none}
.um-account-profile-link a{color:var(--plum)!important;font-size:.9rem}
.um-account-meta img{border:3px solid var(--surface-2)}
.um-account-side ul{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.um-account-side li{background:var(--surface)!important;margin:0!important;border-bottom:1px solid var(--line)}
.um-account-side li:last-child{border-bottom:0}
.um-account-side li a{color:var(--muted)!important;background:transparent!important;height:auto!important;padding:12px 4px!important;display:flex!important;align-items:center;text-decoration:none;transition:background .15s,color .15s}
.um-account-side li a:hover{background:var(--surface-2)!important;color:var(--ink)!important}
.um-account-side li a.current{background:var(--plum-soft)!important;color:var(--ink)!important;font-weight:700}
.um-account-side li a span.um-account-icon,.um-account-side li a span.um-account-icontip{color:var(--muted)!important;border-right:1px solid var(--line)!important;height:auto!important;line-height:1.4!important}
.um-account-side li a.current span.um-account-icon,.um-account-side li a.current span.um-account-icontip,.um-account-side li a:hover span.um-account-icon{color:var(--plum)!important}
.um-account-side li a span.um-account-title{color:inherit!important;line-height:1.4!important;height:auto!important}
.um-account-side li a span.um-account-arrow{color:var(--muted)!important;line-height:1.4!important;height:auto!important;margin-left:auto}
.um-account-main .um-account-heading{color:var(--ink)!important;font:800 1.5rem/1.2 var(--f-display)!important}
.um-account-main .um-account-heading i{color:var(--plum)!important}
.um-account-main .um-account-tab p,.um-account-main .um-field-area-response{color:var(--muted)}
/* Konto auf dem Handy: Reiter oben als Liste */
.um-account-nav a{color:var(--ink)!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px;margin-bottom:6px;padding:12px 14px!important;text-decoration:none}
.um-account-nav a.current{color:var(--plum)!important;border-color:var(--plum)!important}
.um-account-nav a .ico,.um-account-nav a .arr{color:var(--muted)!important}

/* Profil- & Mitgliederseiten (UM): Karten und Navigation */
.um-profile .um-profile-nav{background:var(--surface-2)!important;border-radius:10px}
.um-profile .um-profile-nav-item a{color:var(--muted)!important;background:transparent!important}
.um-profile .um-profile-nav-item.active a,.um-profile .um-profile-nav-item a:hover{color:var(--ink)!important;background:var(--plum-soft)!important}
.um-profile .um-name a,.um-member-name a,.um-directory .um-member-name a{color:var(--ink)!important;font-family:var(--f-display)!important}
.um-profile .um-profile-body,.um-profile .um-field-label{color:var(--ink)}
.um-member,.um-directory .um-member{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important}
.um-directory .um-member-directory-header,.um-directory .um-search{background:transparent!important}

/* ---------- Events Manager: „Meine Buchungen“ ----------
   EM stellt die Tabelle per Flexbox dar (Kopfzeile passt dann nicht zu den Spalten)
   und positioniert das Menü „Aktionen“ per Script – das verrutscht beim Scrollen (Safari).
   Hier: echte Tabelle, Menü fest unter dem Button verankert. */
.em-my-bookings table#dbem-bookings-table{display:table!important;width:100%!important;table-layout:auto!important;overflow:visible!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;border-collapse:separate!important;border-spacing:0;background:var(--surface)!important;margin:0!important}
.em-my-bookings #dbem-bookings-table thead{display:table-header-group!important}
.em-my-bookings #dbem-bookings-table tbody{display:table-row-group!important}
.em-my-bookings #dbem-bookings-table tr{display:table-row!important}
.em-my-bookings #dbem-bookings-table th,.em-my-bookings #dbem-bookings-table td{display:table-cell!important;width:auto!important;vertical-align:middle!important}
.em-my-bookings #dbem-bookings-table th{position:static!important;background:transparent!important;border-bottom:2px solid var(--line)!important;white-space:nowrap;padding:14px 14px!important}
.em-my-bookings #dbem-bookings-table td{padding:12px 14px!important;border-bottom:1px solid var(--line)!important;white-space:nowrap}
.em-my-bookings #dbem-bookings-table td:first-child{color:var(--ink)!important;white-space:normal;min-width:10em}
.em-my-bookings #dbem-bookings-table tr:last-child td{border-bottom:0!important}
.em-my-bookings #dbem-bookings-table td:last-child{position:relative;text-align:right;width:1%!important}
.em-my-bookings .table-wrap{margin:0!important}
.em-my-bookings .em-tooltip-ddm{background:transparent!important;color:var(--plum)!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:8px 14px!important;font:700 .8rem/1 var(--f-body)!important;letter-spacing:.08em;white-space:nowrap;cursor:pointer}
.em-my-bookings .em-tooltip-ddm[aria-expanded=true]{border-color:var(--plum)!important}
.em-my-bookings td [data-tippy-root].em-my-bookings-actions-tooltip{position:absolute!important;inset:auto!important;top:calc(100% - 6px)!important;right:14px!important;transform:none!important;width:auto!important;min-width:150px;z-index:20!important}
.em-my-bookings tr:last-child td [data-tippy-root].em-my-bookings-actions-tooltip{top:auto!important;bottom:calc(100% - 6px)!important}
.em-my-bookings-actions-tooltip .tippy-box{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:var(--shadow)!important;color:var(--ink)!important}
.em-my-bookings-actions-tooltip .tippy-arrow{display:none!important}
.em-my-bookings-actions-tooltip .tippy-content{padding:6px!important}
.em-my-bookings-actions-tooltip a{display:block;padding:9px 12px;border-radius:8px;color:var(--sold)!important;font-weight:700;text-decoration:none;text-align:left}
.em-my-bookings-actions-tooltip a:hover{background:var(--surface-2)}
.em-my-bookings .tablenav{margin:0 0 14px!important}


/* ---------- Seitenblättern (Pagination) einheitlich: Events Manager + TablePress/DataTables ----------
   Die Plugins setzen eigene Farben mit höherer Spezifität (EM: grau + gepunktete Unterstreichung,
   TablePress: color:inherit) – dadurch war die aktuelle Seite auf dem Plum-Kreis unlesbar. */
.em .em-pagination{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center}
.em .em-pagination .page-numbers,.em .em-pagination a.page-numbers,.em .em-pagination span.page-numbers{display:inline-grid!important;place-items:center;min-width:40px;height:40px;padding:0 12px!important;margin:0!important;border-radius:999px!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;text-decoration:none!important;font:700 .95rem/1 var(--f-body)!important;opacity:1!important}
.em .em-pagination a.page-numbers:hover{border-color:var(--plum)!important;color:var(--plum)!important}
.em .em-pagination .page-numbers.current,.em .em-pagination .page-numbers.current:hover{background:var(--plum)!important;border-color:var(--plum)!important;color:var(--plum-ink)!important;text-decoration:none!important}
html body .em .em-pagination .page-numbers.next,html body .em .em-pagination .page-numbers.prev{width:auto!important;height:40px!important;background-image:none!important;font-size:0!important;opacity:1!important}
html body .em .em-pagination .page-numbers.next::before{content:"›";font:700 1.35rem/1 var(--f-body)}
html body .em .em-pagination .page-numbers.prev::before{content:"‹";font:700 1.35rem/1 var(--f-body)}
.em .em-pagination .page-numbers.dots{border-color:transparent!important;background:transparent!important;min-width:0}
.entry .dt-container .dt-paging .dt-paging-button,.entry .dataTables_wrapper .dataTables_paginate .paginate_button{color:var(--ink)!important;background:var(--surface)!important;border:1px solid var(--line)!important;min-width:40px;height:40px;padding:0 12px!important;border-radius:999px!important;font-weight:700;box-shadow:none!important}
.entry .dt-container .dt-paging .dt-paging-button:hover:not(.disabled):not(.current),.entry .dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.disabled):not(.current){background:var(--surface-2)!important;border-color:var(--plum)!important;color:var(--plum)!important}
.entry .dt-container .dt-paging .dt-paging-button.current,.entry .dt-container .dt-paging .dt-paging-button.current:hover,.entry .dataTables_wrapper .dataTables_paginate .paginate_button.current,.entry .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:var(--plum)!important;border-color:var(--plum)!important;color:var(--plum-ink)!important}
.entry .dt-container .dt-paging .dt-paging-button.disabled,.entry .dataTables_wrapper .dataTables_paginate .paginate_button.disabled{opacity:.35;cursor:default}
.entry .dt-container .dt-paging .ellipsis{color:var(--muted)!important;padding:0 4px}

/* ---------- Einzelbeitrag / Einzeltermin (v1.3.2) ----------
   Inhalt als Karte wie die Seitenleiste, lesbare Zeilenlänge, Hinweis-Absätze als Callout. */
.single-entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,48px);box-shadow:var(--shadow);min-width:0}
.single-entry > *{max-width:68ch}
.single-entry > .lead,.single-entry > .wp-block-image,.single-entry > figure,.single-entry > .wp-block-gallery,.single-entry > .wp-block-table,.single-entry > .table-wrap,.single-entry > .em,.single-entry > .post-nav{max-width:none}
.single-entry > img.lead,.single-entry > .lead{display:block;width:calc(100% + 2 * clamp(22px,4vw,48px));max-width:none;margin:calc(-1 * clamp(22px,4vw,48px)) calc(-1 * clamp(22px,4vw,48px)) clamp(22px,3vw,36px);border-radius:var(--radius) var(--radius) 0 0;aspect-ratio:16/8;height:auto;max-height:440px;object-fit:cover}
.single-entry p{margin:0 0 1em;line-height:1.7}
.single-entry > p:first-of-type{font-size:1.14rem;color:var(--ink)}
.single-entry strong{color:var(--ink)}
.single-entry a:not(.btn):not(.pn){color:var(--plum);text-decoration-thickness:1px;text-underline-offset:3px}
.single-entry a:not(.btn):not(.pn):hover{text-decoration-thickness:2px}
/* Absätze mit Hintergrundfarbe (Editor) = Hinweis-Kasten im Vereinsgelb, in Hell und Dunkel lesbar */
.single-entry .has-background{background:var(--amber-soft)!important;color:var(--ink)!important;border-left:4px solid var(--amber);border-radius:var(--radius-s);padding:16px 20px!important;margin:1.6em 0}
.single-entry .has-background > :last-child{margin-bottom:0}
/* Vor/Zurück */
.single-entry .post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(28px,4vw,44px);padding-top:clamp(20px,3vw,28px);border-top:1px solid var(--line)}
.post-nav .pn{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.post-nav .pn:hover{border-color:var(--plum);transform:translateY(-2px)}
.post-nav .pn small{font:700 .72rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.post-nav .pn span{font:700 1.02rem/1.25 var(--f-display)}
.post-nav .pn.next{text-align:right;grid-column:2}
@media (max-width:560px){ .single-entry .post-nav{grid-template-columns:1fr} .post-nav .pn.next{grid-column:1;text-align:left} }

/* Veranstaltungsort (v1.4.0): Kopf mit Aktionen, Termine als Eintrittskarten */
.phead .tvd-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.phead .tvd-actions .btn-ghost{color:var(--on-stage)}
.phead .tvd-actions svg{width:18px;height:18px}
.tvd-location > .eyebrow{margin-bottom:14px}
.tvd-location .tickets{padding-bottom:8px}
.tvd-location .tickets-empty{color:var(--muted)}
.tvd-location .tvd-hints{margin-top:32px;margin-bottom:0}
