/*
Theme Name: BAENG3RZ Developer Edition
Theme URI: https://baengerz.de/
Author: NEXT Future-EDV 
Author URI: https://baengerz.de/
Description: Sauberes Esports-Theme mit Light/Dark, Customizer-Hero, Premium-Menü, Footer-Toggle, CPTs (Teams & Events) und stabilen page-{slug}.php Loadern.
Version: 1.3.21
Text Domain: the-baeng3rz-esports
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* ========================
   BASIS / VARIABLEN
======================== */
:root{
  --bg:#eef1f5; --surface:#f7f8fb; --text:#1e1f26; --muted:#6c7480;
  --accent:#0073e6; --radius:14px; --shadow:0 4px 16px rgba(0,0,0,.06);
  --header-footer-bg:#f5f5f5; --logo-max-h:32px;
}
:root[data-theme="dark"]{
  --bg:#0b0d12; --surface:#12151c; --text:#e6e8ee; --muted:#9aa2b1;
  --accent:#00e5ff; --shadow:0 10px 30px rgba(0,0,0,.35); --header-footer-bg:#1a1c20;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  min-height:100vh; display:flex; flex-direction:column;
  background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Inter",Oxygen,Ubuntu,Cantarell,Arial,sans-serif;
  line-height:1.6;
}
.site-main{flex:1 0 auto}
.site-footer{flex-shrink:0}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:.85}

/* ========================
   HEADER / NAV
======================== */
.site-header,.site-footer{background:var(--header-footer-bg)}
.site-header{
  position:sticky; top:0; z-index:999;
  border-bottom:1px solid rgba(0,0,0,.08);
  backdrop-filter:blur(10px)
}
:root[data-theme="dark"] .site-header{border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{
  max-width:1180px; margin:0 auto; padding:14px 20px;
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
}
.site-branding{display:flex;align-items:center;gap:12px;justify-content:center}
.site-title{font-size:20px;font-weight:800;letter-spacing:.5px;color:var(--text)}
.site-description{display:none;color:var(--muted);font-size:12px}
.custom-logo{height:var(--logo-max-h)!important;max-height:none!important;width:auto}
.custom-logo-link{display:inline-flex;align-items:center}

.site-navigation{display:inline-flex;align-items:center;gap:8px;justify-content:center}
.primary-menu{display:flex;gap:14px;align-items:center}
.primary-menu>li{list-style:none}
.primary-menu>li>a{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.3));
  border:1px solid rgba(0,0,0,.06); box-shadow:0 6px 16px rgba(0,0,0,.06);
  color:var(--text); transition:transform .16s,box-shadow .2s,background .2s;
  backdrop-filter:blur(6px)
}
:root[data-theme="dark"] .primary-menu>li>a{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border-color:rgba(255,255,255,.08); box-shadow:0 10px 30px rgba(0,0,0,.35)
}
.primary-menu>li>a:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.10)}
.primary-menu>li.current-menu-item>a,
.primary-menu>li.current-page-ancestor>a{border-color:var(--accent);box-shadow:0 6px 18px rgba(0,115,230,.18)}
.primary-menu>li.current-menu-item>a::after,
.primary-menu>li.current-page-ancestor>a::after{
  content:"";position:absolute;right:5px;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:999px;background:var(--accent)
}
.primary-menu>li>a::before{
  content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:scaleX(0);transform-origin:center;transition:transform .22s
}
.primary-menu>li>a:hover::before{transform:scaleX(1)}
.primary-menu li.menu-item-has-children{position:relative}
.primary-menu li.menu-item-has-children>a{padding-right:34px}
.primary-menu li.menu-item-has-children>a::after{content:"▾";font-size:12px;opacity:.6;margin-left:6px}
.primary-menu .sub-menu{
  position:absolute;top:100%;left:0;min-width:220px;z-index:9999;
  background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:12px;
  padding:8px;margin-top:10px;box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s,transform .18s,visibility .18s
}
:root[data-theme="dark"] .primary-menu .sub-menu{border-color:rgba(255,255,255,.08)}
.primary-menu .sub-menu li{list-style:none}
.primary-menu .sub-menu li a{display:block;padding:10px 12px;border-radius:10px;color:var(--text)}
.primary-menu .sub-menu li a:hover{background:rgba(0,0,0,.05)}
.primary-menu li.menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}

.nav-toggle{display:none;width:40px;height:38px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:var(--surface);align-items:center;justify-content:center;gap:4px}
.nav-toggle .bar{width:20px;height:2px;background:var(--text);display:block}
@media (max-width:880px){
  .nav-toggle{display:inline-flex}
  .site-navigation{
    position:fixed;top:70px;right:16px;left:16px;background:var(--surface);
    border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px;box-shadow:var(--shadow);
    transform:translateY(-12px);opacity:0;visibility:hidden;transition:.18s
  }
  .site-navigation.open{transform:translateY(0);opacity:1;visibility:visible}
  .primary-menu{flex-direction:column;gap:10px}
  .primary-menu>li>a{width:100%;justify-content:space-between}
}
.header-cta{display:none!important}

/* Logo helpers */
.custom-logo,.site-branding img.custom-logo{
  max-height:var(--logo-max-h)!important;height:auto!important;width:auto!important;display:inline-block
}
/* Menüausrichtung (Customizer) */
body.menu-center .header-inner{justify-content:center}
body.menu-center .site-navigation{margin-left:0}
body.menu-right .site-navigation{margin-left:auto}

/* ========================
   HERO / SECTIONS / FOOTER
======================== */
.hero{min-height:60vh;border-bottom:1px solid rgba(0,0,0,.06);position:relative}
.home .hero + .section{
  position:absolute;top:25%;left:50%;transform:translate(-50%,-25%);
  background:rgba(0,0,0,.55);color:#fff;text-align:center;padding:24px 32px;border-radius:16px;max-width:90%;z-index:5
}
:root[data-theme="dark"] .home .hero + .section{background:rgba(0,0,0,.65)}
@media (max-width:768px){.home .hero + .section{top:35%;transform:translate(-50%,-30%);padding:16px 20px}}

.section{max-width:1180px;margin:28px auto;padding:0 20px}
.card{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.meta{color:var(--muted);font-size:12px;margin-bottom:6px}

.site-footer .footer-inner,.site-footer .container{max-width:1180px;margin:0 auto;padding:2.5rem 20px}
.footer-menu{display:flex;gap:14px;flex-wrap:wrap}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:1.5rem;padding:1rem 20px;border-top:1px solid rgba(0,0,0,0.08)
}
:root[data-theme="dark"] .footer-bottom{border-top:1px solid rgba(255,255,255,0.08)}
.footer-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-right{margin-left:auto}
.theme-toggle{
  display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(0,0,0,.12);
  padding:6px 10px;border-radius:999px;background:var(--surface);color:var(--text);
  font-size:13px;line-height:1;transition:transform .15s,opacity .15s
}
.theme-toggle:hover{transform:translateY(-1px);opacity:.95}
#icon-sun{display:none}
:root[data-theme="dark"] #icon-sun{display:block}
:root[data-theme="dark"] #icon-moon{display:none}
.menu-cta{margin-left:14px}
.menu-cta .btn{
  display:inline-block;font-size:14px;padding:8px 14px;border-radius:999px;
  background:linear-gradient(180deg,var(--accent),#3aa0ff);color:#fff;font-weight:700;text-decoration:none;white-space:nowrap;transition:opacity .2s
}
.menu-cta .btn:hover{opacity:.85}
@media (max-width:880px){
  .menu-cta{width:100%;margin:10px 0 0 0;display:flex;justify-content:center}
}

/* ========================
   ACCOUNT TABS
======================== */
.baengz-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem 0}
.baengz-tabs a{text-decoration:none;padding:.5rem .75rem;border-radius:999px;background:rgba(255,255,255,.06)}
.baengz-tabs a.is-active{background:rgba(255,255,255,.12)}
.baengz-tabs a:hover{background:rgba(255,255,255,.18)}
.baengz-tabs-wrap{background:#151515;border-radius:12px;padding:20px;margin:1.5rem 0;box-shadow:0 0 10px rgba(0,0,0,.25)}
.baengz-events .baengz-muted{opacity:.8}
.baengz-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:12px}
.baengz-event-card{
  background:#151515;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;
  box-shadow:0 2px 10px rgba(0,0,0,.15);display:flex;flex-direction:column;gap:10px;color:#fff
}
.baengz-event-card__header{display:flex;align-items:center;justify-content:space-between}
.baengz-event-card__title{font-weight:700;line-height:1.25}
.baengz-event-card__meta .row{display:flex;gap:8px;align-items:center;margin:2px 0;opacity:.95}
.baengz-event-card__meta .row .i{width:20px;display:inline-block;text-align:center;opacity:.9}
.baengz-event-card__actions{margin-top:8px}
.baengz-event-card__actions .btn{
  display:inline-block;padding:8px 12px;border-radius:10px;text-decoration:none;
  background:var(--accent,#2563eb);color:#fff;transition:transform .05s ease
}
.baengz-event-card__actions .btn:hover{transform:translateY(-1px)}
.baengz-profile{margin:1.5rem 0}

/* Übersicht-Grid */
.baengz-overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
@media (max-width:900px){.baengz-overview-grid{grid-template-columns:1fr}}
.baengz-overview-card .meta-row{display:flex;align-items:center;gap:10px;margin:4px 0;opacity:.95}
.baengz-overview-card .meta-row .i{width:22px;display:inline-block;text-align:center;opacity:.9}
.baengz-btn{display:inline-block;padding:8px 12px;border-radius:10px;background:var(--accent,#2563eb);color:#fff;text-decoration:none;transition:transform .05s ease}
.baengz-btn:hover{transform:translateY(-1px)}

/* ========================
   GLOW PANELS (Dark)
======================== */
/* === NICHT ENTFERNEN: Glow Panels FIX BAENG3RZ === */
.card,.card.section,.baengz-event-card,.baengz-overview-card,
.tribe-common .tribe-common-l-container .tribe-common-g-row .tribe-common-g-col .card{
  background:rgba(30,30,30,0.9); border:1px solid rgba(0,180,216,0.28);
  border-radius:14px; padding:clamp(14px,1.5vw,22px); box-shadow:0 0 18px rgba(0,180,216,0.18); color:#fff
}
.card + .card,.card.section + .card.section,.baengz-event-card + .baengz-event-card{margin-top:1.2rem}
.baengz-event-card .row span{color:#eee}
.baengz-event-card .btn,.baengz-btn,.button,.btn,a.btn{border-radius:10px;border:none;outline:0;box-shadow:0 0 10px rgba(0,0,0,0.25)}
.baengz-event-card .btn:focus-visible,.baengz-btn:focus-visible,.button:focus-visible,.btn:focus-visible,a.btn:focus-visible{
  outline:2px solid rgba(0,180,216,0.55);outline-offset:2px
}
.tribe-common .tribe-common-b2,.tribe-common .tribe-common-b3,
.tribe-events .tribe-events-c-subscribe-dropdown__container{color:#eaeaea}
.section{background:transparent}

/* ========================
   EVENTS (Einzelansicht)
======================== */
.baengz-event .event-hero.card{
  display:flex;flex-direction:column;gap:10px;background:var(--surface);
  border:1px solid rgba(0,0,0,.06);border-radius:var(--radius)
}
:root[data-theme="dark"] .baengz-event .event-hero.card{background:#171b22;border-color:rgba(255,255,255,.12)}
.baengz-event .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.baengz-event .event-title{margin:0;font-size:clamp(24px,4vw,36px)}
.baengz-event .event-meta{display:flex;flex-wrap:wrap;gap:8px}
.baengz-event .pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--text);font-size:13px}
:root[data-theme="dark"] .baengz-event .pill{background:#232834;border-color:rgba(255,255,255,.1);color:#e7e9ee}
.baengz-event .btn.primary{align-self:flex-start;padding:10px 14px;border-radius:12px;background:var(--accent);color:#fff;border:none;text-decoration:none}
.baengz-event .event-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:18px;margin-top:18px}
@media (max-width:960px){.baengz-event .event-grid{grid-template-columns:1fr}.baengz-event .event-aside{order:-1}}
.baengz-event .event-content.card{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius)}
:root[data-theme="dark"] .baengz-event .event-content.card{background:#171b22;border-color:rgba(255,255,255,.12)}
.baengz-event .event-aside .card.info{margin-bottom:16px;background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius)}
:root[data-theme="dark"] .baengz-event .event-aside .card.info{background:#171b22;border-color:rgba(255,255,255,.12)}
.baengz-event .event-aside h3{margin:0 0 8px 0}
.baengz-event .info dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:0}
.baengz-event .info dt{color:var(--muted)}
.baengz-event .info .map iframe{border:0;border-radius:12px;width:100%;height:220px}
.baengz-event.section{max-width:1100px;margin:24px auto 0}
.baengz-event .event-hero.card{margin-bottom:16px}
.baengz-event .event-grid{gap:22px}
.baengz-event .card .map iframe{width:100%;height:280px;border-radius:12px;border:0}
.baengz-event .map iframe{width:100% !important;height:320px !important;border:0;border-radius:12px}

/* Tickets-Box (Dark + Light) */
.baengz-event .tickets-box{margin-top:16px;padding:14px;border-radius:14px;background:var(--surface);border:1px solid rgba(0,0,0,.06)}
:root[data-theme="dark"] .baengz-event .tickets-box{background:#151a22;border-color:rgba(255,255,255,.12)}
:root[data-theme="dark"] .tribe-tickets__tickets,:root[data-theme="dark"] .tribe-tickets__rsvp{color:#e9edf4}
:root[data-theme="dark"] .tribe-tickets__tickets input,
:root[data-theme="dark"] .tribe-tickets__tickets select,
:root[data-theme="dark"] .tribe-tickets__tickets textarea{background:#202633;color:#e9edf4;border-color:rgba(255,255,255,.16)}
:root[data-theme="dark"] .tribe-tickets__tickets .tribe-common-c-btn{background:var(--accent);color:#fff;border:none}

/* TEC Kleinkram */
.baengz-event .tribe-events .tribe-events-c-subscribe-dropdown{display:none}
.baengz-event ul{list-style:none;padding-left:0}

/* Header nicht sticky nur auf Eventseiten (Überlapp-Fix) */
.single-tribe_events .site-header,.single-tribe_events .baengz-header,.single-tribe_events header{
  position:static !important; top:auto !important; z-index:auto !important;
}
.single-tribe_events .tribe-events,.single-tribe_events .site-content{margin-top:12px}
.single-tribe_events .tribe-events :is(.tribe-events-c-subscribe-bar,.tribe-events-c-events-bar,.tribe-events-c-top-bar,.tribe-events-c-nav,.tribe-events-header){
  position:static !important; top:auto !important; z-index:auto !important;
}

/* ========================
   LIGHT-MODE SWITCH (Safe)
======================== */
/* === NICHT ENTFERNEN: LIGHT-MODE FIX BAENG3RZ === */
body.light-mode .card,
body.light-mode .card.section,
body.light-mode .baengz-overview-card,
body.light-mode .baengz-event-card{
  background:#fff !important;color:#0f172a !important;border:1px solid #e5e7eb !important;box-shadow:0 2px 14px rgba(15,23,42,.06) !important;
}
body.light-mode .baengz-tabs-wrap{
  background:rgba(255,255,255,.9)!important;border:1px solid #e5e7eb!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
body.light-mode .baengz-tabs .tab{background:rgba(0,0,0,.04)!important;color:#111827!important}
body.light-mode .baengz-tabs .tab:hover{background:rgba(0,0,0,.08)!important}
body.light-mode .baengz-tabs .tab.is-active{background:rgba(0,180,216,.12)!important;outline:1px solid rgba(0,180,216,.35)!important;box-shadow:0 0 10px rgba(0,180,216,.12)!important;color:#0f172a!important}

/* data-theme="light" */
body[data-theme="light"] .card,
body[data-theme="light"] .card.section,
body[data-theme="light"] .baengz-overview-card,
body[data-theme="light"] .baengz-event-card{
  background:#fff !important;color:#0f172a !important;border:1px solid #e5e7eb !important;box-shadow:0 2px 14px rgba(15,23,42,.06) !important;
}
body[data-theme="light"] .baengz-tabs-wrap{background:rgba(255,255,255,.9)!important;border:1px solid #e5e7eb!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body[data-theme="light"] .baengz-tabs .tab{background:rgba(0,0,0,.04)!important;color:#111827!important}
body[data-theme="light"] .baengz-tabs .tab:hover{background:rgba(0,0,0,.08)!important}
body[data-theme="light"] .baengz-tabs .tab.is-active{background:rgba(0,180,216,.12)!important;outline:1px solid rgba(0,180,216,.35)!important;box-shadow:0 0 10px rgba(0,180,216,.12)!important;color:#0f172a!important}

/* Fallback: System-Light */
@media (prefers-color-scheme: light){
  html:not(.dark):not([data-theme="dark"]) body .card,
  html:not(.dark):not([data-theme="dark"]) body .card.section,
  html:not(.dark):not([data-theme="dark"]) body .baengz-overview-card,
  html:not(.dark):not([data-theme="dark"]) body .baengz-event-card{
    background:#fff !important;color:#0f172a !important;border:1px solid #e5e7eb !important;box-shadow:0 2px 14px rgba(15,23,42,.06) !important;
  }
  html:not(.dark):not([data-theme="dark"]) body .baengz-tabs-wrap{
    background:rgba(255,255,255,.9)!important;border:1px solid #e5e7eb!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
  }
  html:not(.dark):not([data-theme="dark"]) body .baengz-tabs .tab{background:rgba(0,0,0,.04)!important;color:#111827!important}
  html:not(.dark):not([data-theme="dark"]) body .baengz-tabs .tab:hover{background:rgba(0,0,0,.08)!important}
  html:not(.dark):not([data-theme="dark"]) body .baengz-tabs .tab.is-active{background:rgba(0,180,216,.12)!important;outline:1px solid rgba(0,180,216,.35)!important;box-shadow:0 0 10px rgba(0,180,216,.12)!important;color:#0f172a!important}
}

/* Lesbarkeit Ticket-UI Light */
body.light-mode .tribe-tickets__tickets-title,
body.light-mode .tribe-tickets__tickets-item-content,
body[data-theme="light"] .tribe-tickets__tickets-title,
body[data-theme="light"] .tribe-tickets__tickets-item-content{
  color:#0f172a !important;
}
body.light-mode .tribe-tickets__tickets-item,
body[data-theme="light"] .tribe-tickets__tickets-item{border-radius:12px !important}

/* FORCE LIGHT PANELS, falls kein Marker vorhanden */
html:not(.dark):not([data-theme="dark"]) body .card,
html:not(.dark):not([data-theme="dark"]) body .card.section,
html:not(.dark):not([data-theme="dark"]) body .baengz-event-card,
html:not(.dark):not([data-theme="dark"]) body .baengz-overview-card{
  background:#ffffff !important;color:#0f172a !important;border:1px solid #e5e7eb !important;box-shadow:0 2px 14px rgba(15,23,42,.06) !important;
}

/* TEC Light Grundfarben */
html:not(.dark):not([data-theme="dark"]) .tribe-events,
body.light .tribe-events, body.light-mode .tribe-events,
html.light .tribe-events, html.light-mode .tribe-events{color:#111827 !important}
html:not(.dark):not([data-theme="dark"]) .tribe-events a,
body.light .tribe-events a, body.light-mode .tribe-events a,
html.light .tribe-events a, html.light-mode .tribe-events a{color:#111827 !important}
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-common-h2,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-common-h3,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-common-h4,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-common-h5,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-common-h6{color:#0f172a !important}

/* Hinweis-/Ticket-Boxen Light */
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-common-c-notice,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-events-notices,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-tickets__notice,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-block__tickets__notice,
html:not(.dark):not([data-theme="dark"]) .tribe-events .tribe-tickets__tickets-item-content--inactive{
  background:#ffffff !important;color:#0f172a !important;border:1px solid #e5e7eb !important;
  box-shadow:0 2px 10px rgba(15,23,42,.06) !important;border-radius:14px !important;opacity:1 !important;
}

/* Eigene Tickets-Box Light */
/* === NICHT ENTFERNEN: TICKETS-BOX LIGHT FIX (BAENG3RZ) === */
html:not(.dark):not([data-theme="dark"]) #tickets.tickets-box,
body.light #tickets.tickets-box, body.light-mode #tickets.tickets-box,
html.light #tickets.tickets-box, html.light-mode #tickets.tickets-box{
  background:#ffffff !important;color:#0f172a !important;border:1px solid #e5e7eb !important;
  box-shadow:0 2px 10px rgba(15,23,42,.06) !important;border-radius:14px !important;
}
html:not(.dark):not([data-theme="dark"]) #tickets.tickets-box *,
body.light #tickets.tickets-box *, body.light-mode #tickets.tickets-box *,
html.light #tickets.tickets-box *, html.light-mode #tickets.tickets-box *{
  color:#0f172a !important; opacity:1 !important;
}

/* ========================
   NAV: Vorherige/Nächste (Light)
======================== */
/* === NICHT ENTFERNEN: TEC NAV LIGHTMODE – FINAL BAENG3RZ === */
html:not(.dark):not([data-theme="dark"]) body.single-tribe_events :is(
  .tribe-events-c-nav, .tribe-events-nav, .tribe-events-sub-nav
){color:#0f172a !important; opacity:1 !important; filter:none !important}
html:not(.dark):not([data-theme="dark"]) body.single-tribe_events :is(
  .tribe-events-c-nav a, .tribe-events-nav a, .tribe-events-sub-nav a, a[rel="prev"], a[rel="next"]
),
html:not(.dark):not([data-theme="dark"]) body.single-tribe_events :is(
  .tribe-events-c-nav a *, .tribe-events-nav a *, .tribe-events-sub-nav a *
){
  color:#0f172a !important; -webkit-text-fill-color:#0f172a !important; opacity:1 !important; text-shadow:none !important; filter:none !important;
}
/* A11Y-Labels unsichtbar lassen */
html:not(.dark):not([data-theme="dark"]) body.single-tribe_events .tribe-common-a11y-visual-hide{
  opacity:0 !important; position:absolute !important; width:1px !important; height:1px !important;
  margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important;
}

/* ========================
   WALLPAPER / SAFARI
======================== */
header,.site-header,.baengz-header, footer,.site-footer,.baengz-footer{background:transparent !important;box-shadow:none !important}
#page,.site,.site-content,.main-wrapper,.wrapper{background:transparent !important}

/* === NICHT ENTFERNEN: SAFARI WALLPAPER FIX === */
html.baengz-has-bg::before{
  content:''; position:fixed; inset:0; z-index:0; background-repeat:no-repeat; background-size:cover; background-position:center center; pointer-events:none; display:block;
}
body.baengz-has-bg{position:relative; z-index:1}
@supports (-webkit-touch-callout:none){
  html.baengz-has-bg::before{position:absolute !important; background-attachment:scroll !important}
}
header,.site-header,.header,#header,[class*="header"],
footer,.site-footer,.footer,#footer,[class*="footer"],
nav,.navbar,.primary-nav,[class*="nav"]{
  background:transparent !important; background-color:transparent !important; background-image:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:none !important;
}
header::before,header::after,.site-header::before,.site-header::after,.header::before,.header::after,#header::before,#header::after,
[class*="header"]::before,[class*="header"]::after, footer::before,footer::after,.site-footer::before,.site-footer::after,
.footer::before,.footer::after,#footer::before,#footer::after,[class*="footer"]::before,[class*="footer"]::after{
  content:none !important; background:transparent !important; background-image:none !important;
}
#page,.site,.site-content,.main-wrapper,.wrapper,.container,.container-fluid{background:transparent !important}
@supports (-webkit-touch-callout:none) or (background: -webkit-named-image(i)){
  header,.site-header,.header,#header,[class*="header"],
  footer,.site-footer,.footer,#footer,[class*="footer"]{
    background:transparent !important; background-image:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  }
}

/* === TEC Light Mode – Liste lesbar + Prev/Nächste sichtbar (ARCHIV & SINGLE) === */

/* 1) Grundfarben im Light-Mode in allen TEC-Views */
html:not(.dark):not([data-theme="dark"]) .tribe-events{
  --tec-color-text-primary: #0f172a;
  --tec-color-text-secondary: #1f2937;
  --tec-color-link-primary: #0f172a;
}

/* 2) List View: Titel, Datum, Ort, Preis, Beschreibung in kräftig Schwarz */
html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-calendar-list__event-title a,
  .tribe-events-calendar-list__event-datetime,
  .tribe-events-calendar-list__event-venue,
  .tribe-events-calendar-list__event-cost,
  .tribe-events-calendar-list__event-description
){
  color:#0f172a !important;
  opacity:1 !important;
  -webkit-text-fill-color:#0f172a !important; /* Safari */
}

/* 3) Prev/Nächste Navigation – sowohl im ARCHIV als auch auf SINGLE */
html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-c-nav a,
  .tribe-events-nav a,
  .tribe-events-sub-nav a,
  a[rel="prev"],
  a[rel="next"]
),
html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-c-nav a *,
  .tribe-events-nav a *,
  .tribe-events-sub-nav a *
){
  color:#0f172a !important;
  opacity:1 !important;
  -webkit-text-fill-color:#0f172a !important;
  text-shadow:none !important;
  filter:none !important;
  border-color:rgba(15,23,42,.15) !important;
}
html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-c-nav a:hover,
  .tribe-events-nav a:hover,
  .tribe-events-sub-nav a:hover
){
  color:#111827 !important;
  border-color:rgba(15,23,42,.30) !important;
  background:rgba(0,0,0,.03) !important;
}

/* 4) A11Y-Hilfstexte (z. B. „Veranstaltungen“) unsichtbar halten */
html:not(.dark):not([data-theme="dark"]) .tribe-common-a11y-visual-hide{
  position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;border:0!important;opacity:0!important;
}
/* === TEC List View – Prev/Nächste: Label wirklich schwarz ================== */
/* Gilt für ARCHIV (Liste/Monat/Tag) und Single */

html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-c-nav__prev,
  .tribe-events-c-nav__next,
  .tribe-events-nav-previous,
  .tribe-events-nav-next
) :is(
  .tribe-events-c-nav__prev-label,
  .tribe-events-c-nav__next-label,
  .tribe-events-c-nav__prev-label-plural,
  .tribe-events-c-nav__next-label-plural,
  .tribe-common-b1,
  .tribe-common-b2,
  .tribe-common-b3,
  span, em, strong
){
  color:#0f172a !important;
  opacity:1 !important;
  -webkit-text-fill-color:#0f172a !important; /* Safari */
  text-shadow:none !important;
  filter:none !important;
}

/* Falls die Links als "border button" gerendert werden */
html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-c-nav__prev a,
  .tribe-events-c-nav__next a,
  .tribe-events-nav-previous a,
  .tribe-events-nav-next a,
  .tribe-common-c-btn-border
){
  color:#0f172a !important;
  border-color:rgba(15,23,42,.20) !important;
  background:transparent !important;
}
html:not(.dark):not([data-theme="dark"]) .tribe-events :is(
  .tribe-events-c-nav__prev a:hover,
  .tribe-events-c-nav__next a:hover,
  .tribe-events-nav-previous a:hover,
  .tribe-events-nav-next a:hover,
  .tribe-common-c-btn-border:hover
){
  color:#111827 !important;
  border-color:rgba(15,23,42,.35) !important;
  background:rgba(0,0,0,.03) !important;
}
/* 1) Größere Touch-Ziele im Menü */
@media (max-width: 880px){
  .primary-menu > li > a { min-height: 44px; }
}

/* 2) Lange Eventtitel umbrechen */
@media (max-width: 480px){
  .tribe-events .tribe-events-calendar-list__event-title a {
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

/* 3) Weniger Innenabstand auf sehr kleinen Screens */
@media (max-width: 400px){
  .header-inner { padding: 12px 12px; }
  .section      { padding: 0 12px; }
}

/* 4) Tabs mobil scrollen lassen */
@media (max-width: 600px){
  .baengz-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    gap: .4rem;
  }
  .baengz-tabs .tab { display: inline-block; }
}
/* === LIGHT-MODE FIX: Mein Konto Box (Tabs-Wrap) === */
html:not(.dark):not([data-theme="dark"]) .baengz-tabs-wrap,
body.light .baengz-tabs-wrap,
body.light-mode .baengz-tabs-wrap,
html.light .baengz-tabs-wrap,
html.light-mode .baengz-tabs-wrap {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 2px 14px rgba(15, 23, 42, 0.06) !important;
}

/* Tabs in der Box heller darstellen */
html:not(.dark):not([data-theme="dark"]) .baengz-tabs a {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #0f172a !important;
}
html:not(.dark):not([data-theme="dark"]) .baengz-tabs a.is-active {
  background: rgba(0, 180, 216, 0.12) !important;
  border: 1px solid rgba(0, 180, 216, 0.3) !important;
  color: #0f172a !important;
}
/* === BAENG3RZ — TEC: Dark Mode Readability (List + Nav) ================ */

/* 1) Grundfarbe im Dark Mode */
html.dark .tribe-events,
[data-theme="dark"] .tribe-events,
:root[data-theme="dark"] .tribe-events {
  color: #e5e7eb !important;
}

/* 2) Eventtitel & Metas in der Listenansicht */
html.dark .tribe-events .tribe-events-calendar-list__event-title a,
[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-title a,
:root[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-title a {
  color: #ffffff !important;
}

html.dark .tribe-events .tribe-events-calendar-list__event-datetime,
html.dark .tribe-events .tribe-events-calendar-list__event-venue,
html.dark .tribe-events .tribe-events-calendar-list__event-cost,
html.dark .tribe-events .tribe-events-calendar-list__event-description,
[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-datetime,
[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-venue,
[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-cost,
[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-description,
:root[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-datetime,
:root[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-venue,
:root[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-cost,
:root[data-theme="dark"] .tribe-events .tribe-events-calendar-list__event-description {
  color: #cfd6e5 !important;
  opacity: 1 !important;
}

/* 3) Vorherige/Nächste Navigation im Dark Mode (List & Single) */
html.dark .tribe-events :is(.tribe-events-c-nav, .tribe-events-nav, .tribe-events-sub-nav),
[data-theme="dark"] .tribe-events :is(.tribe-events-c-nav, .tribe-events-nav, .tribe-events-sub-nav),
:root[data-theme="dark"] .tribe-events :is(.tribe-events-c-nav, .tribe-events-nav, .tribe-events-sub-nav) {
  color: #e5e7eb !important;
  opacity: 1 !important;
  filter: none !important;
}

html.dark .tribe-events :is(
  .tribe-events-c-nav a,
  .tribe-events-nav a,
  .tribe-events-sub-nav a,
  a[rel="prev"],
  a[rel="next"],
  .tribe-common-anchor-thin,
  .tribe-common-c-btn-border
),
[data-theme="dark"] .tribe-events :is(
  .tribe-events-c-nav a,
  .tribe-events-nav a,
  .tribe-events-sub-nav a,
  a[rel="prev"],
  a[rel="next"],
  .tribe-common-anchor-thin,
  .tribe-common-c-btn-border
),
:root[data-theme="dark"] .tribe-events :is(
  .tribe-events-c-nav a,
  .tribe-events-nav a,
  .tribe-events-sub-nav a,
  a[rel="prev"],
  a[rel="next"],
  .tribe-common-anchor-thin,
  .tribe-common-c-btn-border
) {
  color: #e5e7eb !important;
  -webkit-text-fill-color: #e5e7eb !important; /* Safari */
  opacity: 1 !important;
  text-shadow: none !important;
  border-color: rgba(229,231,235,.28) !important;
}

/* Hover/Active etwas heller */
html.dark .tribe-events :is(
  .tribe-events-c-nav a:hover,
  .tribe-events-nav a:hover,
  .tribe-events-sub-nav a:hover,
  a[rel="prev"]:hover,
  a[rel="next"]:hover,
  .tribe-common-anchor-thin:hover
),
[data-theme="dark"] .tribe-events :is(
  .tribe-events-c-nav a:hover,
  .tribe-events-nav a:hover,
  .tribe-events-sub-nav a:hover,
  a[rel="prev"]:hover,
  a[rel="next"]:hover,
  .tribe-common-anchor-thin:hover
){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(229,231,235,.45) !important;
}
/* === MOBILE: Offenes Menü unter Logo + Auto-Hide === */
@media (max-width: 880px){

  /* Header: leicht transparent, Blur, Auto-Hide vorbereitet */
  .site-header{
    position: sticky;
    top: 0;
    z-index: 999;
    transition: transform .22s ease;
    background: rgba(255,255,255,.55);
    -webkit-backdrop-filter: saturate(150%) blur(10px);
    backdrop-filter: saturate(150%) blur(10px);
    border-bottom: 1px solid rgba(0,0,0,.06);
  }
  :root[data-theme="dark"] .site-header{
    background: rgba(10,12,18,.45);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  /* Auto-Hide Zustand (per JS gesetzt) */
  .site-header.is-hidden{ transform: translateY(-100%); }

  /* Logo/Innenabstände */
  .header-inner{
    padding: 10px 16px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .custom-logo{ max-height: 36px !important; }

  /* Burger komplett aus – wir zeigen die Links fix */
  .nav-toggle{ display: none !important; }

  /* Navigation: nicht als Overlay, sondern normaler Block unter dem Logo */
  .site-navigation{
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 4px 0 8px;
  }

  /* Links als vertikale Liste, centered */
  .primary-menu{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .primary-menu > li{ list-style: none; width: 100%; display: flex; justify-content: center; }
  .primary-menu > li > a{
    width: min(640px, 100%);
    justify-content: center;
    border-radius: 12px;
    padding: 10px 14px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    color: var(--text);
  }
  :root[data-theme="dark"] .primary-menu > li > a{
    background: rgba(20,24,32,.92);
    border: 1px solid rgba(255,255,255,.08);
    color: #e6e8ee;
  }

  /* kleine Hover/Active-Hilfe */
  .primary-menu > li > a:hover{ transform: translateY(-1px); }

  /* genug Touch-Ziel */
  .primary-menu > li > a{ min-height: 44px; }
}
/* === BAENG3RZ – Mobile Menü: sauber unter dem Logo =================== */
@media (max-width: 880px){

  /* 0) Vorhandene Drawer-Styles neutralisieren */
  .nav-toggle{ display:none !important; }
  .site-navigation{
    position: static !important;
    top:auto !important; left:auto !important; right:auto !important;
    transform:none !important; opacity:1 !important; visibility:visible !important;
    background: transparent !important; border:0 !important; box-shadow:none !important;
    padding:0 !important; z-index:auto !important;
  }

  /* 1) Header-Layout: Logo oben, Menu darunter */
  .header-inner{
    display:flex; flex-direction:column; align-items:center; gap:14px;
    padding:14px 16px;
  }
  .custom-logo{ max-height:56px !important; margin-bottom:2px; }

  /* 2) Gestapeltes Menü, zentriert & hübsch */
  .primary-menu{ 
    display:flex; flex-direction:column; align-items:center; gap:12px;
    width:100%;
  }
  .primary-menu > li{ list-style:none; width:100%; max-width:420px; }
  .primary-menu > li > a{
    display:flex; justify-content:center; align-items:center;
    width:88%; margin:0 auto; padding:14px 16px;
    border-radius:18px;
    background: rgba(255,255,255,.88);
    border:1px solid rgba(15,23,42,.10);
    box-shadow: 0 8px 20px rgba(15,23,42,.06);
    color:#0f172a !important; font-weight:600;
    backdrop-filter: blur(8px);
  }
  .primary-menu > li > a:hover{ transform:none; box-shadow:0 10px 22px rgba(15,23,42,.10); }
  .primary-menu > li > a::before{ display:none !important; } /* Unterstrich-Animation aus */

  /* Dark Mode Variante */
  :root[data-theme="dark"] .primary-menu > li > a{
    background: rgba(15,18,26,.85);
    border-color: rgba(255,255,255,.10);
    color:#e5e7eb !important;
  }

  /* 3) Home-Heldentext (graue Blase) nicht mehr über dem Menü liegen lassen */
  .home .hero + .section{
    position: static !important;
    transform: none !important;
    background: transparent !important;
    margin-top: 12px !important;
    z-index: auto !important;
    padding: 0 16px !important;
  }
}
/* === BAENG3RZ – Mobile Menü: 2 Spalten =============================== */
@media (max-width: 880px){

  /* Drawer neutralisieren (wie zuvor) */
  .nav-toggle{ display:none !important; }
  .site-navigation{
    position: static !important;
    top:auto !important; left:auto !important; right:auto !important;
    transform:none !important; opacity:1 !important; visibility:visible !important;
    background: transparent !important; border:0 !important; box-shadow:none !important;
    padding:0 !important; z-index:auto !important;
  }

  /* Header: Logo oben */
  .header-inner{
    display:flex; flex-direction:column; align-items:center; gap:14px;
    padding:14px 16px;
  }
  .custom-logo{ max-height:56px !important; margin-bottom:2px; }

  /* --- 2 Spalten Grid --- */
  .primary-menu{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width:100%;
    max-width:560px;   /* Gesamtbreite des Menüs */
    margin:0 auto;
    align-items:stretch;
  }
  .primary-menu > li{ list-style:none; width:auto; max-width:none; }
  .primary-menu > li > a{
    display:flex; justify-content:center; align-items:center;
    width:100%; margin:0; padding:14px 14px;
    border-radius:16px;
    background: rgba(255,255,255,.88);
    border:1px solid rgba(15,23,42,.10);
    box-shadow: 0 8px 20px rgba(15,23,42,.06);
    color:#0f172a !important; font-weight:600; text-align:center;
    backdrop-filter: blur(8px);
  }
  .primary-menu > li > a::before{ display:none !important; }
  .primary-menu > li > a:hover{ box-shadow:0 10px 22px rgba(15,23,42,.10); }

  /* Dark Mode */
  :root[data-theme="dark"] .primary-menu > li > a{
    background: rgba(15,18,26,.85);
    border-color: rgba(255,255,255,.10);
    color:#e5e7eb !important;
  }

  /* Sehr schmale Geräte: auf 1 Spalte fallen */
  @media (max-width: 360px){
    .primary-menu{ grid-template-columns: 1fr; }
  }

  /* Home: Heldentext nicht über Menü legen */
  .home .hero + .section{
    position: static !important;
    transform: none !important;
    background: transparent !important;
    margin-top: 12px !important;
    z-index: auto !important;
    padding: 0 16px !important;
  }
}
/* === BAENG3RZ – Mobile Menü zentrieren unter Logo (2 Spalten Fix) === */
@media (max-width: 880px){

  /* Container: zentriert + max. Breite begrenzen */
  .site-navigation{
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
  }

  /* Menü selbst mittig platzieren */
  .primary-menu{
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    text-align: center;
  }

  /* Header-Inner etwas nach unten rücken, damit Logo Raum bekommt */
  .header-inner{
    padding-top: 20px;
    padding-bottom: 8px;
  }

  /* Logo & Abstand zum Menü */
  .custom-logo{
    display: block;
    margin: 0 auto 10px auto;
  }

  /* Optionale Feinjustierung der Gridbreite */
  .primary-menu{
    max-width: 520px;
    grid-template-columns: repeat(2, 1fr);
  }
}
/* === BAENG3RZ – Mobile Menü perfekt symmetrisch (2 Spalten, zentriert) === */
@media (max-width: 880px){

  /* Navi-Container zentrieren und Breite begrenzen */
  .site-navigation{
    position: static;              /* keine seitlichen Offsets erzwingen */
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;                    /* gleichmäßig */
    margin: 0 auto;
  }

  /* Menü als sauberes Grid */
  .primary-menu{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    gap: 14px;                     /* identische Abstände */
    justify-items: stretch;
    align-items: stretch;
    max-width: 560px;              /* hält das Raster unter dem Logo kompakt */
    margin: 0 auto;                /* mittig unter dem Logo */
    padding: 0;
  }

  /* Listenelemente neutralisieren */
  .primary-menu > li{
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }

  /* Buttons 100% der Zelle, Inhalt zentriert */
  .primary-menu > li > a{
    width: 100% !important;
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-height: 56px;              /* gleiche Höhe */
    padding: 12px 16px 12px 16px;  /* identisch links/rechts */
    border-radius: 16px;
  }

  /* Der aktive blaue Punkt darf die Breite NICHT verändern */
  .primary-menu > li > a::after{
    position: absolute;            /* nimmt keinen Platz mehr ein */
    right: 10px;                   /* optisch schön */
  }
  /* etwas Platz rechts lassen, falls Punkt sichtbar ist */
  .primary-menu > li > a{ padding-right: 28px; }

  /* CTA (Join our Discord) über beide Spalten – genau mittig */
  .primary-menu .menu-item-join-discord,
  .primary-menu li.menu-item-join-discord{
    grid-column: 1 / -1;           /* über beide Spalten */
    justify-self: center;
    width: 100%;
  }
  .primary-menu .menu-item-join-discord > a{
    max-width: 360px;              /* hübsch, nicht zu breit */
  }

  /* Logo/Abstand zum Grid feinjustieren */
  .header-inner{ padding-top: 10px; }
  .custom-logo{ display:block; margin: 0 auto 14px auto; }
}
