/* ============================================================
   Theme System — HFP Homepage (5 Themes)
   MTV-Vechelde-Rot (#D7362B) als Grundfarbe
   
   Themes:
   1. Klassisch  — Original (Tabellen)
   2. Material   — Karten-Design (Cards)
   3. Glass      — Dunkel, Glaseffekte
   4. Compact    — Dunkel, maximal kompakt
   5. Neon       — Hell, farbige Akzente, horizontal
   ============================================================ */

/* ==========================================================
   THEME 1: KLASSISCH (Original)
   Tabellenbasiert — keine CSS-Overrides nötig
   ========================================================== */

/* ==========================================================
   THEME 2: MATERIAL DESIGN
   Karten mit Grid-Layout
   ========================================================== */
.theme-material {
  --primary: #D7362B;
  --primary-hover: #c22d23;
  --primary-light: rgba(215, 54, 43, 0.08);
  --bg: #f5f5f5;
  --card: #fff;
  --text: #212121;
  --text-sec: #666;
  --border: #e0e0e0;
  --menu-text: #212121;
  --menu-hover-bg: rgba(215, 54, 43, 0.08);
  --menu-hover-text: #D7362B;
  --r: 12px;
  --sh: 0 2px 8px rgba(0,0,0,0.07);
  --sh2: 0 6px 20px rgba(0,0,0,0.1);
}
.theme-material { background: var(--bg); color: var(--text); }

.theme-material #content_main {
  background: var(--card); border: none; border-radius: var(--r);
  box-shadow: var(--sh); padding: 20px;
}
.theme-material #content_main h2,
.theme-material #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 6px;
  border-bottom: 2px solid var(--primary-light);
  color: var(--text); font-size: 16px;
}
.theme-material input[type="text"],
.theme-material input[type="email"],
.theme-material input[type="password"],
.theme-material input[type="number"],
.theme-material textarea,
.theme-material select {
  width: 100%; padding: 10px 14px;
  border: 2px solid var(--border); border-radius: 8px;
  font-size: 15px; background: var(--card); color: var(--text);
  box-sizing: border-box; transition: border-color 0.2s;
}
.theme-material input:focus,
.theme-material textarea:focus,
.theme-material select:focus {
  border-color: var(--primary); outline: none;
  box-shadow: 0 0 0 3px var(--primary-light);
}
.theme-material label { display: block; font-weight: 600; color: var(--text-sec); margin-bottom: 4px; font-size: 13px; }

.theme-material table[name="formularfelder"] {
  border-collapse: separate; border-spacing: 0 6px;
}
.theme-material table[name="formularfelder"] td {
  padding: 4px 6px; vertical-align: middle; background: var(--card);
  border: none; border-radius: 6px;
}
.theme-material table[name="einzel"],
.theme-material table[name="doppel"],
.theme-material table[name="mixed"] {
  background: var(--card); border-radius: var(--r); overflow: hidden;
  box-shadow: var(--sh); margin: 8px 0; border-collapse: collapse;
}
.theme-material table[name="einzel"] th,
.theme-material table[name="doppel"] th,
.theme-material table[name="mixed"] th {
  background: var(--primary); color: #fff; padding: 10px 14px;
  text-align: left; font-size: 13px;
}
.theme-material table[name="einzel"] td,
.theme-material table[name="doppel"] td,
.theme-material table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 1px solid var(--border);
}

.theme-material input[type="submit"],
.theme-material input[type="reset"] {
  background: var(--primary); color: #fff; border: none;
  padding: 10px 22px; border-radius: 8px; font-weight: 600;
  cursor: pointer; transition: all 0.2s; margin: 3px;
}
.theme-material input[type="submit"]:hover { background: var(--primary-hover); box-shadow: var(--sh2); }
.theme-material input[type="reset"] { background: transparent; color: var(--text-sec); border: 2px solid var(--border); }
.theme-material input[type="reset"]:hover { border-color: var(--primary); color: var(--primary); }
.theme-material input[type="checkbox"] { width: auto; accent-color: var(--primary); }

.theme-material #cssmenu, .theme-material #admin-menu { background: var(--card); box-shadow: var(--sh); }
.theme-material #cssmenu a, .theme-material #admin-menu a { color: var(--text); border-right: 3px solid transparent; }
.theme-material #cssmenu a:hover, .theme-material #admin-menu a:hover,
.theme-material #cssmenu li.active a, .theme-material #admin-menu li.active a { background: var(--primary-light); color: var(--primary); border-right-color: var(--primary); }
.theme-material #footer { background: var(--card); box-shadow: var(--sh); }
.theme-material #footer a { color: var(--primary); }
.theme-material #sponsoren { background: var(--card); }

/* ==========================================================
   THEME 3: GLASSMORPHISM
   Dunkel + Glaseffekte
   ========================================================== */
.theme-glass {
  --primary: #D7362B;
  --primary-glow: rgba(215, 54, 43, 0.4);
  --card: rgba(255,255,255,0.07);
  --card-b: rgba(255,255,255,0.14);
  --text: #fff;
  --text-sec: rgba(255,255,255,0.65);
  --menu-text: #fff;
  --menu-hover-bg: rgba(215, 54, 43, 0.3);
  --menu-hover-text: #fff;
  --r: 14px;
  --sh: 0 4px 16px rgba(0,0,0,0.2);
}
.theme-glass { background: linear-gradient(135deg, #1a1a2e, #16213e 50%, #0f3460); color: var(--text); min-height: 100vh; }

.theme-glass #content_main {
  background: var(--card); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--card-b); border-radius: var(--r); box-shadow: var(--sh); padding: 20px; color: var(--text);
}
.theme-glass #content_main h2,
.theme-glass #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 6px;
  border-bottom: 1px solid rgba(255,255,255,0.12); color: var(--text); font-size: 16px;
}
.theme-glass input[type="text"],
.theme-glass input[type="email"],
.theme-glass input[type="password"],
.theme-glass input[type="number"],
.theme-glass textarea,
.theme-glass select {
  width: 100%; padding: 10px 14px;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.18);
  border-radius: 10px; color: #fff; font-size: 15px;
  box-sizing: border-box; transition: all 0.25s;
}
.theme-glass input::placeholder, .theme-glass textarea::placeholder { color: rgba(255,255,255,0.45); }
.theme-glass input:focus, .theme-glass textarea:focus, .theme-glass select:focus {
  border-color: var(--primary); background: rgba(255,255,255,0.1);
  outline: none; box-shadow: 0 0 0 3px var(--primary-glow);
}
.theme-glass label { display: block; font-weight: 500; color: rgba(255,255,255,0.85); margin-bottom: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }

.theme-glass table[name="formularfelder"] { border-collapse: separate; border-spacing: 0 4px; }
.theme-glass table[name="formularfelder"] td {
  padding: 4px 6px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 6px; color: var(--text);
}
.theme-glass table[name="einzel"],
.theme-glass table[name="doppel"],
.theme-glass table[name="mixed"] {
  background: var(--card); border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--card-b); margin: 8px 0;
}
.theme-glass table[name="einzel"] th,
.theme-glass table[name="doppel"] th,
.theme-glass table[name="mixed"] th {
  background: linear-gradient(135deg, #D7362B, #a02018); color: #fff;
  padding: 10px 14px; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;
}
.theme-glass table[name="einzel"] td,
.theme-glass table[name="doppel"] td,
.theme-glass table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 1px solid rgba(255,255,255,0.08); color: var(--text);
}

.theme-glass input[type="submit"],
.theme-glass input[type="reset"] {
  background: linear-gradient(135deg, #D7362B, #a02018); color: #fff; border: none;
  padding: 10px 22px; border-radius: 10px; font-weight: 600;
  cursor: pointer; transition: all 0.25s; margin: 3px;
  box-shadow: 0 4px 12px var(--primary-glow);
}
.theme-glass input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px var(--primary-glow); }
.theme-glass input[type="reset"] { background: rgba(255,255,255,0.06); color: var(--text-sec); border: 1px solid rgba(255,255,255,0.2); box-shadow: none; }
.theme-glass input[type="reset"]:hover { background: rgba(255,255,255,0.12); }
.theme-glass input[type="checkbox"] { width: auto; accent-color: var(--primary); }
.theme-glass select option { color: #fff; background: #1a1a2e; }
.theme-glass .meldung_zusatzinfo { color: var(--text); }

.theme-glass #cssmenu, .theme-glass #admin-menu { background: var(--card); backdrop-filter: blur(20px); border: 1px solid var(--card-b); }
.theme-glass #cssmenu a, .theme-glass #admin-menu a { color: var(--text); border-right: 3px solid transparent; }
.theme-glass #cssmenu a:hover, .theme-glass #admin-menu a:hover,
.theme-glass #cssmenu li.active a, .theme-glass #admin-menu li.active a { background: rgba(215,54,43,0.3); color: #fff; border-right-color: var(--primary); }
.theme-glass #footer { background: rgba(0,0,0,0.3); backdrop-filter: blur(20px); }
.theme-glass #footer a { color: var(--text); }
.theme-glass #sponsoren { background: var(--card); backdrop-filter: blur(20px); border-color: var(--card-b); }

/* ==========================================================
   THEME 4: COMPACT (Dense/Dark)
   Maximale Platznutzung, minimale Abstände
   ========================================================== */
.theme-compact {
  --primary: #D7362B;
  --primary-dim: #a82820;
  --bg: #1e1e1e;
  --card: #2a2a2a;
  --card2: #333;
  --text: #e0e0e0;
  --text-sec: #999;
  --border: #444;
  --menu-text: #f5f5f5;
  --menu-hover-bg: #a82820;
  --menu-hover-text: #fff;
  --r: 4px;
}
.theme-compact { background: var(--bg); color: var(--text); }

.theme-compact #main { top: 5px; }
.theme-compact .header_img { border-radius: 4px; }
.theme-compact #hfp-label { font-size: 22px; }

.theme-compact #content_main {
  background: var(--card); border: 2px solid var(--primary-dim); border-radius: var(--r);
  padding: 10px 12px; box-shadow: none;
}
.theme-compact #content_main h2,
.theme-compact #content_main h3 {
  margin: 6px 0 4px; padding: 4px 8px;
  background: var(--primary-dim); color: #fff;
  font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px;
}
.theme-compact input[type="text"],
.theme-compact input[type="email"],
.theme-compact input[type="password"],
.theme-compact input[type="number"],
.theme-compact textarea,
.theme-compact select {
  width: 100%; padding: 5px 8px;
  border: 1px solid var(--border); border-radius: var(--r);
  font-size: 13px; background: var(--card2); color: var(--text);
  box-sizing: border-box;
}
.theme-compact input:focus, .theme-compact textarea:focus, .theme-compact select:focus {
  border-color: var(--primary); outline: none;
}
.theme-compact label { display: block; font-weight: 600; color: #bbb; margin-bottom: 2px; font-size: 11px; }

/* Compact: Tabellen-Inline — jede Zeile ein Feld */
.theme-compact table[name="formularfelder"] { border-collapse: collapse; width: 100%; }
.theme-compact table[name="formularfelder"] td {
  padding: 2px 4px; vertical-align: middle; border: 1px solid var(--border);
}
.theme-compact table[name="einzel"],
.theme-compact table[name="doppel"],
.theme-compact table[name="mixed"] {
  background: var(--card); border: 1px solid var(--border); margin: 4px 0;
  border-radius: var(--r); overflow: hidden;
}
.theme-compact table[name="einzel"] th,
.theme-compact table[name="doppel"] th,
.theme-compact table[name="mixed"] th {
  background: var(--primary-dim); color: #fff; padding: 6px 10px;
  text-align: left; font-size: 11px; text-transform: uppercase;
}
.theme-compact table[name="einzel"] td,
.theme-compact table[name="doppel"] td,
.theme-compact table[name="mixed"] td {
  padding: 4px 8px; border-bottom: 1px solid var(--border);
}

.theme-compact input[type="submit"],
.theme-compact input[type="reset"] {
  background: var(--primary); color: #fff; border: none;
  padding: 6px 16px; border-radius: var(--r); font-size: 12px;
  font-weight: 600; cursor: pointer; margin: 2px;
}
.theme-compact input[type="submit"]:hover { background: var(--primary-dim); }
.theme-compact input[type="reset"] { background: var(--card2); color: var(--text-sec); border: 1px solid var(--border); }
.theme-compact input[type="checkbox"] { width: auto; accent-color: var(--primary); }
.theme-compact select option { color: var(--text); background: var(--card2); }
.theme-compact .meldung_zusatzinfo { color: var(--text); }

.theme-compact #cssmenu, .theme-compact #admin-menu { background: var(--card); width: 160px !important; }
.theme-compact #cssmenu > ul, .theme-compact #admin-menu > ul { width: 160px; }
.theme-compact #cssmenu ul ul, .theme-compact #admin-menu ul ul { width: 160px; }
.theme-compact #cssmenu a, .theme-compact #admin-menu a { padding: 8px 12px; font-size: 11px; color: var(--text); border-right: 2px solid transparent; }
.theme-compact #cssmenu a:hover, .theme-compact #admin-menu a:hover,
.theme-compact #cssmenu li.active a, .theme-compact #admin-menu li.active a { background: var(--primary-dim); color: #fff; border-right-color: var(--primary); }
.theme-compact #footer { background: var(--card); padding: 6px; font-size: 11px; }
.theme-compact #footer a { color: var(--primary); }
.theme-compact #sponsoren { background: var(--card); border-color: var(--primary-dim); width: 160px !important; }
.theme-compact .header_img { border-radius: var(--r); }

/* ==========================================================
   THEME 5: NEON (Bright + Colorful Accents)
   Hell, moderne horizontale Formulare
   ========================================================== */
.theme-neon {
  --primary: #D7362B;
  --primary-light: #ff6b6b;
  --accent: #2ecc71;
  --bg: #fafbfc;
  --card: #fff;
  --text: #2c3e50;
  --text-sec: #7f8c8d;
  --border: #e8ecf0;
  --menu-text: #2c3e50;
  --menu-hover-bg: rgba(46,204,113,0.08);
  --menu-hover-text: #27ae60;
  --r: 10px;
  --sh: 0 1px 4px rgba(0,0,0,0.06);
}
.theme-neon { background: var(--bg); color: var(--text); }

.theme-neon #content_main {
  background: var(--card); border: none; border-radius: var(--r);
  box-shadow: var(--sh); border-top: 3px solid var(--primary);
  padding: 18px;
}
.theme-neon #content_main h2,
.theme-neon #content_main h3 {
  margin: 14px 0 6px; padding-bottom: 4px;
  border-bottom: 2px solid var(--border); color: var(--text); font-size: 15px;
}
.theme-neon input[type="text"],
.theme-neon input[type="email"],
.theme-neon input[type="password"],
.theme-neon input[type="number"],
.theme-neon textarea,
.theme-neon select {
  width: 100%; padding: 9px 12px;
  border: 2px solid var(--border); border-radius: 8px;
  font-size: 14px; background: var(--bg); color: var(--text);
  box-sizing: border-box; transition: all 0.2s;
}
.theme-neon input:focus, .theme-neon textarea:focus, .theme-neon select:focus {
  border-color: var(--accent); background: #fff;
  outline: none; box-shadow: 0 0 0 3px rgba(46,204,113,0.15);
}
.theme-neon label { display: block; font-weight: 600; color: #555; margin-bottom: 3px; font-size: 12px; }

/* Neon: Horizontale Formularfelder — 2 pro Zeile */
.theme-neon table[name="formularfelder"] { border-collapse: separate; border-spacing: 0 4px; width: 100%; }
.theme-neon table[name="formularfelder"] td {
  padding: 3px 5px; vertical-align: middle; background: var(--bg);
  border: 1px solid var(--border); border-radius: 6px;
}
.theme-neon table[name="einzel"],
.theme-neon table[name="doppel"],
.theme-neon table[name="mixed"] {
  background: var(--card); border-radius: var(--r); overflow: hidden;
  box-shadow: var(--sh); margin: 6px 0; border: 1px solid var(--border);
}
.theme-neon table[name="einzel"] th,
.theme-neon table[name="doppel"] th,
.theme-neon table[name="mixed"] th {
  background: var(--text); color: #fff; padding: 8px 12px;
  text-align: left; font-size: 12px;
}
.theme-neon table[name="einzel"] td,
.theme-neon table[name="doppel"] td,
.theme-neon table[name="mixed"] td {
  padding: 6px 12px; border-bottom: 1px solid var(--border);
}
.theme-neon table[name="einzel"] tr:hover td,
.theme-neon table[name="doppel"] tr:hover td,
.theme-neon table[name="mixed"] tr:hover td { background: rgba(46,204,113,0.04); }

.theme-neon input[type="submit"],
.theme-neon input[type="reset"] {
  background: var(--accent); color: #fff; border: none;
  padding: 10px 22px; border-radius: 8px; font-weight: 600;
  cursor: pointer; transition: all 0.2s; margin: 3px;
}
.theme-neon input[type="submit"]:hover { background: #27ae60; box-shadow: 0 4px 12px rgba(46,204,113,0.3); transform: translateY(-1px); }
.theme-neon input[type="reset"] { background: transparent; color: var(--text-sec); border: 2px solid var(--border); }
.theme-neon input[type="reset"]:hover { border-color: var(--primary); color: var(--primary); }
.theme-neon input[type="checkbox"] { width: auto; accent-color: var(--accent); }
.theme-neon select option { color: var(--text); background: var(--card); }
.theme-neon .meldung_zusatzinfo { color: var(--text); }

.theme-neon #cssmenu, .theme-neon #admin-menu { background: var(--card); border-radius: var(--r); box-shadow: var(--sh); }
.theme-neon #cssmenu a, .theme-neon #admin-menu a { color: var(--text); border-right: 3px solid transparent; }
.theme-neon #cssmenu a:hover, .theme-neon #admin-menu a:hover,
.theme-neon #cssmenu li.active a, .theme-neon #admin-menu li.active a { background: rgba(46,204,113,0.08); color: var(--accent); border-right-color: var(--accent); }
.theme-neon #footer { background: var(--text); border-radius: var(--r); }
.theme-neon #footer a { color: var(--accent); }
.theme-neon #sponsoren { background: var(--card); border-color: var(--accent); }

/* ==========================================================
   Theme 6: BAUERNHOF
   Warmes Holz-Design, Menü als horizontale Leiste oben
   ========================================================== */
.theme-bauernhof {
  --primary: #D7362B;
  --primary-dim: #8B1A10;
  --warm: #F5E6D3;
  --wood: #8B6914;
  --wood-dark: #5C4A1E;
  --card: #FFF8F0;
  --text: #3E2723;
  --text-sec: #6D4C41;
  --border: #D7CCC8;
  --menu-text: #FFF8E1;
  --menu-hover-bg: #8B1A10;
  --menu-hover-text: #FFF8E1;
  --r: 6px;
  --sh: 0 2px 8px rgba(0,0,0,0.1);
}
.theme-bauernhof { background: var(--warm); color: var(--text); font-family: Georgia, 'Times New Roman', serif; }

/* Bauernhof: Horizontales Menü oben statt Sidebar */
.theme-bauernhof #cssmenu {
  position: relative; width: 100% !important; float: none;
  background: var(--wood-dark); border-radius: 0 0 var(--r) var(--r);
  display: flex; flex-wrap: wrap;
}
.theme-bauernhof #cssmenu > ul { width: 100% !important; display: flex; flex-wrap: wrap; }
.theme-bauernhof #cssmenu > ul > li { float: none; }
.theme-bauernhof #cssmenu, .theme-bauernhof #admin-menu {
  position: relative; width: 100% !important; float: none;
  background: var(--wood-dark); border-radius: 0 0 var(--r) var(--r);
  display: flex; flex-wrap: wrap;
}
.theme-bauernhof #cssmenu > ul, .theme-bauernhof #admin-menu > ul { width: 100% !important; display: flex; flex-wrap: wrap; }
.theme-bauernhof #cssmenu > ul > li, .theme-bauernhof #admin-menu > ul > li { float: none; }
.theme-bauernhof #cssmenu > ul > li > a, .theme-bauernhof #admin-menu > ul > li > a {
  padding: 10px 16px; font-size: 13px; color: #FFF8E1;
  border-right: 1px solid rgba(255,255,255,0.1); border-bottom: 3px solid transparent;
  font-weight: 600; letter-spacing: 0.5px;
}
.theme-bauernhof #cssmenu > ul > li:hover > a,
.theme-bauernhof #cssmenu > ul > li.active > a {
  background: var(--primary-dim); border-bottom-color: #FFD54F; color: #FFF8E1;
}
.theme-bauernhof #cssmenu ul ul {
  background: var(--wood-dark); border-radius: 0 0 var(--r) var(--r);
  min-width: 180px; box-shadow: var(--sh);
}
.theme-bauernhof #cssmenu ul ul li a { color: #D7CCC8; padding: 10px 16px; font-size: 12px; }
.theme-bauernhof #cssmenu ul ul li a:hover { background: var(--primary-dim); color: #FFF8E1; }

.theme-bauernhof #main { top: 10px; }
.theme-bauernhof #mainbody { position: relative; }
.theme-bauernhof .header_img { border-radius: var(--r); }
.theme-bauernhof #hfp-label { font-family: Georgia, serif; }

.theme-bauernhof #content_main {
  position: static; top: auto; left: auto; width: auto;
  background: var(--card); border: 2px solid var(--wood); border-radius: var(--r);
  padding: 20px; box-shadow: var(--sh); box-sizing: border-box;
  border-image: linear-gradient(135deg, var(--wood), var(--primary-dim)) 1;
}
.theme-bauernhof #content_main h2, .theme-bauernhof #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 6px;
  border-bottom: 2px solid var(--warm);
  color: var(--wood-dark); font-size: 17px; font-style: italic;
}
.theme-bauernhof input[type="text"], .theme-bauernhof input[type="email"],
.theme-bauernhof input[type="password"], .theme-bauernhof input[type="number"],
.theme-bauernhof textarea, .theme-bauernhof select {
  width: 100%; padding: 10px 14px;
  border: 2px solid var(--border); border-radius: var(--r);
  font-size: 15px; background: #FFFDF7; color: var(--text);
  box-sizing: border-box; transition: border-color 0.2s;
  font-family: Georgia, serif;
}
.theme-bauernhof input:focus, .theme-bauernhof textarea:focus, .theme-bauernhof select:focus {
  border-color: var(--wood); outline: none;
  box-shadow: 0 0 0 3px rgba(139,105,20,0.15);
}
.theme-bauernhof select option { color: var(--text); background: #FFFDF7; }
.theme-bauernhof label { display: block; font-weight: 600; color: var(--text-sec); margin-bottom: 4px; font-size: 13px; }

.theme-bauernhof table[name="formularfelder"] { border-collapse: separate; border-spacing: 0 6px; }
.theme-bauernhof table[name="formularfelder"] td { padding: 4px 6px; background: var(--card); border: 1px solid var(--border); border-radius: var(--r); }
.theme-bauernhof table[name="einzel"], .theme-bauernhof table[name="doppel"], .theme-bauernhof table[name="mixed"] {
  background: var(--card); border: 2px solid var(--wood); border-radius: var(--r); overflow: hidden; margin: 8px 0;
}
.theme-bauernhof table[name="einzel"] th, .theme-bauernhof table[name="doppel"] th, .theme-bauernhof table[name="mixed"] th {
  background: var(--wood-dark); color: #FFF8E1; padding: 10px 14px; text-align: left; font-size: 13px; font-style: italic;
}
.theme-bauernhof table[name="einzel"] td, .theme-bauernhof table[name="doppel"] td, .theme-bauernhof table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 1px solid var(--border);
}

.theme-bauernhof input[type="submit"], .theme-bauernhof input[type="reset"] {
  background: var(--primary); color: #FFF8E1; border: none; padding: 10px 24px;
  border-radius: var(--r); font-weight: 600; cursor: pointer; transition: all 0.2s; margin: 3px;
  font-family: Georgia, serif; font-size: 14px;
}
.theme-bauernhof input[type="submit"]:hover { background: var(--primary-dim); box-shadow: var(--sh); }
.theme-bauernhof input[type="reset"] { background: transparent; color: var(--text-sec); border: 2px solid var(--border); }
.theme-bauernhof input[type="reset"]:hover { border-color: var(--primary); color: var(--primary); }
.theme-bauernhof input[type="checkbox"] { width: auto; accent-color: var(--primary); }

.theme-bauernhof #footer { background: var(--wood-dark); color: #D7CCC8; border-radius: 0 0 var(--r) var(--r); }
.theme-bauernhof #footer a { color: #FFD54F; }
.theme-bauernhof #sponsoren { background: var(--card); border-color: var(--wood); }

/* ==========================================================
   Theme 7: BADMINTON
   Sportlich-dynamisch, diagonale Schnitte, Bottom-Bar Menü
   ========================================================== */
.theme-badminton {
  --primary: #D7362B;
  --primary-dim: #a02018;
  --accent: #FF6F00;
  --court: #00695C;
  --court-light: #E0F2F1;
  --card: #ffffff;
  --text: #1B2631;
  --text-sec: #5D6D7E;
  --border: #D5DBDB;
  --menu-text: #fff;
  --menu-hover-bg: rgba(255,255,255,0.15);
  --menu-hover-text: #fff;
  --r: 0px;
  --sh: 0 3px 12px rgba(0,0,0,0.1);
}
.theme-badminton { background: var(--court-light); color: var(--text); }

/* Badminton: Horizontales Menü oben mit Court-Grün */
.theme-badminton #cssmenu {
  position: relative; width: 100% !important; float: none;
  background: var(--court); display: flex; flex-wrap: wrap;
}
.theme-badminton #cssmenu > ul { width: 100% !important; display: flex; flex-wrap: wrap; }
.theme-badminton #cssmenu > ul > li { float: none; }
.theme-badminton #cssmenu > ul > li > a {
  padding: 12px 20px; font-size: 13px; color: #fff;
  border-right: 1px solid rgba(255,255,255,0.15);
  font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
  border-bottom: 3px solid transparent;
}
.theme-badminton #cssmenu > ul > li:hover > a,
.theme-badminton #cssmenu > ul > li.active > a {
  background: rgba(255,255,255,0.15); border-bottom-color: var(--accent); color: #fff;
}
.theme-badminton #cssmenu ul ul {
  background: var(--court); border-top: 3px solid var(--accent);
  min-width: 180px;
}
.theme-badminton #cssmenu ul ul li a { color: rgba(255,255,255,0.85); padding: 10px 20px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.theme-badminton #cssmenu ul ul li a:hover { background: rgba(255,255,255,0.1); color: #fff; }

.theme-badminton #main { top: 5px; }
.theme-badminton #mainbody { position: relative; }
.theme-badminton .header_img { border-radius: 0; clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%); }

.theme-badminton #content_main {
  position: static; top: auto; left: auto; width: auto;
  background: var(--card); border: none; border-radius: 0;
  padding: 20px; box-shadow: var(--sh); box-sizing: border-box;
  border-left: 5px solid var(--court);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 0 100%);
}
.theme-badminton #content_main h2, .theme-badminton #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 6px;
  border-bottom: 2px solid var(--court);
  color: var(--court); font-size: 16px; text-transform: uppercase; letter-spacing: 1px;
}
.theme-badminton input[type="text"], .theme-badminton input[type="email"],
.theme-badminton input[type="password"], .theme-badminton input[type="number"],
.theme-badminton textarea, .theme-badminton select {
  width: 100%; padding: 10px 14px;
  border: 2px solid var(--border); border-radius: 0;
  font-size: 15px; background: var(--card); color: var(--text);
  box-sizing: border-box; transition: border-color 0.2s; font-weight: 500;
}
.theme-badminton input:focus, .theme-badminton textarea:focus, .theme-badminton select:focus {
  border-color: var(--court); outline: none;
  box-shadow: 0 0 0 3px rgba(0,105,92,0.15);
}
.theme-badminton select option { color: var(--text); background: var(--card); }
.theme-badminton label { display: block; font-weight: 700; color: var(--text-sec); margin-bottom: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }

.theme-badminton table[name="formularfelder"] { border-collapse: separate; border-spacing: 0 4px; }
.theme-badminton table[name="formularfelder"] td { padding: 4px 6px; background: var(--card); border: 2px solid var(--border); }
.theme-badminton table[name="einzel"], .theme-badminton table[name="doppel"], .theme-badminton table[name="mixed"] {
  background: var(--card); border: none; margin: 8px 0;
}
.theme-badminton table[name="einzel"] th, .theme-badminton table[name="doppel"] th, .theme-badminton table[name="mixed"] th {
  background: var(--court); color: #fff; padding: 10px 14px;
  text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 1px;
}
.theme-badminton table[name="einzel"] td, .theme-badminton table[name="doppel"] td, .theme-badminton table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 2px solid var(--court-light);
}
.theme-badminton table[name="einzel"] tr:hover td,
.theme-badminton table[name="doppel"] tr:hover td,
.theme-badminton table[name="mixed"] tr:hover td { background: var(--court-light); }

.theme-badminton input[type="submit"], .theme-badminton input[type="reset"] {
  background: var(--court); color: #fff; border: none; padding: 12px 28px;
  border-radius: 0; font-weight: 700; cursor: pointer; transition: all 0.2s; margin: 3px;
  text-transform: uppercase; letter-spacing: 1px;
}
.theme-badminton input[type="submit"]:hover { background: var(--accent); transform: skewX(-3deg); }
.theme-badminton input[type="reset"] { background: transparent; color: var(--text-sec); border: 2px solid var(--border); }
.theme-badminton input[type="reset"]:hover { border-color: var(--court); color: var(--court); }
.theme-badminton input[type="checkbox"] { width: auto; accent-color: var(--court); }

.theme-badminton #footer { background: var(--court); color: #fff; }
.theme-badminton #footer a { color: var(--accent); }
.theme-badminton #sponsoren { background: var(--card); border-color: var(--court); }

/* ==========================================================
   Theme 8: AURORA
   Sanftes Gradient-Light, weiche Farben, rund
   ========================================================== */
.theme-aurora {
  --primary: #6C5CE7;
  --primary-dim: #5A4BD1;
  --accent: #00CEC9;
  --bg: linear-gradient(160deg, #f0f0ff 0%, #e8f5f0 50%, #fdf0f0 100%);
  --card: rgba(255,255,255,0.85);
  --text: #2d3436;
  --text-sec: #636e72;
  --border: #dfe6e9;
  --menu-text: #fff;
  --menu-hover-bg: rgba(255,255,255,0.15);
  --menu-hover-text: #fff;
  --r: 16px;
  --sh: 0 4px 20px rgba(108,92,231,0.08);
}
.theme-aurora { background: var(--bg); color: var(--text); font-family: 'Segoe UI', system-ui, sans-serif; }

.theme-aurora #cssmenu, .theme-aurora #admin-menu {
  background: linear-gradient(180deg, #6C5CE7, #5A4BD1);
  border-radius: var(--r); border-top-right-radius: 0; border-bottom-right-radius: 0;
}
.theme-aurora #cssmenu a, .theme-aurora #admin-menu a { color: rgba(255,255,255,0.85); border-right: 3px solid transparent; }
.theme-aurora #cssmenu a:hover, .theme-aurora #admin-menu a:hover,
.theme-aurora #cssmenu li.active a, .theme-aurora #admin-menu li.active a {
  background: rgba(255,255,255,0.15); color: #fff; border-right-color: var(--accent);
}
.theme-aurora #cssmenu ul ul, .theme-aurora #admin-menu ul ul { border-color: rgba(255,255,255,0.2); }
.theme-aurora #cssmenu ul ul li, .theme-aurora #admin-menu ul ul li { border-bottom-color: rgba(255,255,255,0.15); }
.theme-aurora #cssmenu ul ul li:hover > a, .theme-aurora #admin-menu ul ul li:hover > a { background: rgba(0,206,201,0.3); }

.theme-aurora #main { top: 8px; }
.theme-aurora .header_img { border-radius: var(--r); }

.theme-aurora #content_main {
  background: var(--card); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(108,92,231,0.15); border-radius: var(--r);
  box-shadow: var(--sh); padding: 22px; box-sizing: border-box;
}
.theme-aurora #content_main h2, .theme-aurora #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 8px;
  border-bottom: 2px solid rgba(108,92,231,0.12); color: var(--text); font-size: 16px;
}
.theme-aurora input[type="text"], .theme-aurora input[type="email"],
.theme-aurora input[type="password"], .theme-aurora input[type="number"],
.theme-aurora textarea, .theme-aurora select {
  width: 100%; padding: 10px 14px;
  border: 2px solid var(--border); border-radius: 12px;
  font-size: 15px; background: rgba(255,255,255,0.7); color: var(--text);
  box-sizing: border-box; transition: all 0.25s;
}
.theme-aurora input:focus, .theme-aurora textarea:focus, .theme-aurora select:focus {
  border-color: var(--primary); outline: none;
  box-shadow: 0 0 0 4px rgba(108,92,231,0.12);
}
.theme-aurora select option { color: var(--text); background: #fff; }
.theme-aurora label { display: block; font-weight: 600; color: var(--primary); margin-bottom: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }

.theme-aurora table[name="einzel"], .theme-aurora table[name="doppel"], .theme-aurora table[name="mixed"] {
  background: var(--card); border-radius: var(--r); overflow: hidden;
  border: 1px solid rgba(108,92,231,0.12); margin: 8px 0; box-shadow: var(--sh);
}
.theme-aurora table[name="einzel"] th, .theme-aurora table[name="doppel"] th, .theme-aurora table[name="mixed"] th {
  background: linear-gradient(135deg, #6C5CE7, #5A4BD1); color: #fff;
  padding: 10px 14px; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;
}
.theme-aurora table[name="einzel"] td, .theme-aurora table[name="doppel"] td, .theme-aurora table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 1px solid var(--border);
}

.theme-aurora input[type="submit"], .theme-aurora input[type="reset"] {
  background: linear-gradient(135deg, #6C5CE7, #00CEC9); color: #fff; border: none;
  padding: 11px 24px; border-radius: 12px; font-weight: 600;
  cursor: pointer; transition: all 0.25s; margin: 3px;
  box-shadow: 0 4px 15px rgba(108,92,231,0.25);
}
.theme-aurora input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(108,92,231,0.35); }
.theme-aurora input[type="reset"] { background: transparent; color: var(--text-sec); border: 2px solid var(--border); box-shadow: none; }
.theme-aurora input[type="reset"]:hover { border-color: var(--primary); color: var(--primary); }
.theme-aurora input[type="checkbox"] { width: auto; accent-color: var(--primary); }

.theme-aurora #footer { background: var(--card); backdrop-filter: blur(20px); border-top: 1px solid rgba(108,92,231,0.1); }
.theme-aurora #footer a { color: var(--primary); }
.theme-aurora #sponsoren { background: var(--card); border-color: rgba(108,92,231,0.12); }

/* ==========================================================
   Theme 9: MIDNIGHT
   Premium-Dunkel, subtile Gradient-Akzente
   ========================================================== */
.theme-midnight {
  --primary: #E17055;
  --primary-dim: #C0523A;
  --accent: #00B894;
  --bg: #0f0f1a;
  --card: #1a1a2e;
  --card2: #16213e;
  --text: #e0e0e0;
  --text-sec: #8899aa;
  --border: #2a2a40;
  --menu-text: #e0e0e0;
  --menu-hover-bg: rgba(225,112,85,0.15);
  --menu-hover-text: #E17055;
  --r: 12px;
  --sh: 0 4px 20px rgba(0,0,0,0.3);
}
.theme-midnight { background: var(--bg); color: var(--text); font-family: 'Segoe UI', system-ui, sans-serif; }

.theme-midnight #cssmenu, .theme-midnight #admin-menu {
  background: linear-gradient(180deg, #1a1a2e, #16213e);
  border: 1px solid var(--border); border-radius: var(--r); border-top-right-radius: 0; border-bottom-right-radius: 0;
}
.theme-midnight #cssmenu a, .theme-midnight #admin-menu a { color: var(--text); border-right: 3px solid transparent; }
.theme-midnight #cssmenu a:hover, .theme-midnight #admin-menu a:hover,
.theme-midnight #cssmenu li.active a, .theme-midnight #admin-menu li.active a {
  background: rgba(225,112,85,0.15); color: var(--primary); border-right-color: var(--primary);
}
.theme-midnight #cssmenu ul ul, .theme-midnight #admin-menu ul ul { border-color: var(--border); }
.theme-midnight #cssmenu ul ul li, .theme-midnight #admin-menu ul ul li { border-bottom-color: var(--border); }
.theme-midnight #cssmenu ul ul li:hover > a, .theme-midnight #admin-menu ul ul li:hover > a { background: rgba(0,184,148,0.12); color: var(--accent); }

.theme-midnight #main { top: 8px; }
.theme-midnight .header_img { border-radius: var(--r); }

.theme-midnight #content_main {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--r);
  box-shadow: var(--sh); padding: 22px; box-sizing: border-box;
}
.theme-midnight #content_main h2, .theme-midnight #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 8px;
  border-bottom: 1px solid var(--border); color: var(--text); font-size: 16px;
}
.theme-midnight input[type="text"], .theme-midnight input[type="email"],
.theme-midnight input[type="password"], .theme-midnight input[type="number"],
.theme-midnight textarea, .theme-midnight select {
  width: 100%; padding: 10px 14px;
  border: 1px solid var(--border); border-radius: 8px;
  font-size: 15px; background: var(--card2); color: var(--text);
  box-sizing: border-box; transition: all 0.25s;
}
.theme-midnight input:focus, .theme-midnight textarea:focus, .theme-midnight select:focus {
  border-color: var(--primary); outline: none;
  box-shadow: 0 0 0 3px rgba(225,112,85,0.2);
}
.theme-midnight select option { color: var(--text); background: var(--card2); }
.theme-midnight label { display: block; font-weight: 600; color: var(--text-sec); margin-bottom: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }

.theme-midnight table[name="einzel"], .theme-midnight table[name="doppel"], .theme-midnight table[name="mixed"] {
  background: var(--card); border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--border); margin: 8px 0;
}
.theme-midnight table[name="einzel"] th, .theme-midnight table[name="doppel"] th, .theme-midnight table[name="mixed"] th {
  background: linear-gradient(135deg, #1a1a2e, #2a2a40); color: var(--primary);
  padding: 10px 14px; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 1px;
  border-bottom: 2px solid var(--primary);
}
.theme-midnight table[name="einzel"] td, .theme-midnight table[name="doppel"] td, .theme-midnight table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 1px solid var(--border);
}
.theme-midnight table[name="einzel"] tr:hover td, .theme-midnight table[name="doppel"] tr:hover td,
.theme-midnight table[name="mixed"] tr:hover td { background: rgba(0,184,148,0.05); }

.theme-midnight input[type="submit"], .theme-midnight input[type="reset"] {
  background: linear-gradient(135deg, var(--primary), var(--primary-dim)); color: #fff; border: none;
  padding: 11px 24px; border-radius: 8px; font-weight: 600;
  cursor: pointer; transition: all 0.25s; margin: 3px;
  box-shadow: 0 4px 15px rgba(225,112,85,0.3);
}
.theme-midnight input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(225,112,85,0.4); }
.theme-midnight input[type="reset"] { background: transparent; color: var(--text-sec); border: 1px solid var(--border); box-shadow: none; }
.theme-midnight input[type="reset"]:hover { border-color: var(--accent); color: var(--accent); }
.theme-midnight input[type="checkbox"] { width: auto; accent-color: var(--accent); }

.theme-midnight #footer { background: var(--card); border-top: 1px solid var(--border); }
.theme-midnight #footer a { color: var(--accent); }
.theme-midnight #sponsoren { background: var(--card); border-color: var(--border); }

/* ==========================================================
   Theme 10: SUNSET
   Warmes Orange/Rot-Gradient, modern abgerundet
   ========================================================== */
.theme-sunset {
  --primary: #E17055;
  --primary-dim: #D63031;
  --accent: #FDCB6E;
  --bg: linear-gradient(160deg, #ffecd2 0%, #fcb69f 50%, #ffecd2 100%);
  --card: rgba(255,255,255,0.9);
  --text: #2d1f1f;
  --text-sec: #6d4c41;
  --border: #f0d0c0;
  --menu-text: #fff;
  --menu-hover-bg: rgba(255,255,255,0.2);
  --menu-hover-text: #fff;
  --r: 18px;
  --sh: 0 4px 20px rgba(225,112,85,0.1);
}
.theme-sunset { background: var(--bg); color: var(--text); font-family: 'Segoe UI', system-ui, sans-serif; }

.theme-sunset #cssmenu, .theme-sunset #admin-menu {
  background: linear-gradient(180deg, #E17055, #D63031);
  border-radius: var(--r); border-top-right-radius: 0; border-bottom-right-radius: 0;
}
.theme-sunset #cssmenu a, .theme-sunset #admin-menu a { color: rgba(255,255,255,0.9); border-right: 3px solid transparent; }
.theme-sunset #cssmenu a:hover, .theme-sunset #admin-menu a:hover,
.theme-sunset #cssmenu li.active a, .theme-sunset #admin-menu li.active a {
  background: rgba(255,255,255,0.2); color: #fff; border-right-color: var(--accent);
}
.theme-sunset #cssmenu ul ul, .theme-sunset #admin-menu ul ul { border-color: rgba(255,255,255,0.25); }
.theme-sunset #cssmenu ul ul li, .theme-sunset #admin-menu ul ul li { border-bottom-color: rgba(255,255,255,0.2); }
.theme-sunset #cssmenu ul ul li:hover > a, .theme-sunset #admin-menu ul ul li:hover > a { background: rgba(253,203,110,0.35); color: #fff; }

.theme-sunset #main { top: 8px; }
.theme-sunset .header_img { border-radius: var(--r); }

.theme-sunset #content_main {
  background: var(--card); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(225,112,85,0.15); border-radius: var(--r);
  box-shadow: var(--sh); padding: 22px; box-sizing: border-box;
}
.theme-sunset #content_main h2, .theme-sunset #content_main h3 {
  margin: 16px 0 8px; padding-bottom: 8px;
  border-bottom: 2px solid rgba(225,112,85,0.15); color: var(--primary-dim); font-size: 16px;
}
.theme-sunset input[type="text"], .theme-sunset input[type="email"],
.theme-sunset input[type="password"], .theme-sunset input[type="number"],
.theme-sunset textarea, .theme-sunset select {
  width: 100%; padding: 10px 14px;
  border: 2px solid var(--border); border-radius: 12px;
  font-size: 15px; background: rgba(255,255,255,0.7); color: var(--text);
  box-sizing: border-box; transition: all 0.25s;
}
.theme-sunset input:focus, .theme-sunset textarea:focus, .theme-sunset select:focus {
  border-color: var(--primary); outline: none;
  box-shadow: 0 0 0 4px rgba(225,112,85,0.12);
}
.theme-sunset select option { color: var(--text); background: #fff; }
.theme-sunset label { display: block; font-weight: 600; color: var(--primary-dim); margin-bottom: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }

.theme-sunset table[name="einzel"], .theme-sunset table[name="doppel"], .theme-sunset table[name="mixed"] {
  background: var(--card); border-radius: var(--r); overflow: hidden;
  border: 1px solid rgba(225,112,85,0.15); margin: 8px 0; box-shadow: var(--sh);
}
.theme-sunset table[name="einzel"] th, .theme-sunset table[name="doppel"] th, .theme-sunset table[name="mixed"] th {
  background: linear-gradient(135deg, #E17055, #D63031); color: #fff;
  padding: 10px 14px; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;
}
.theme-sunset table[name="einzel"] td, .theme-sunset table[name="doppel"] td, .theme-sunset table[name="mixed"] td {
  padding: 8px 14px; border-bottom: 1px solid var(--border);
}
.theme-sunset table[name="einzel"] tr:hover td, .theme-sunset table[name="doppel"] tr:hover td,
.theme-sunset table[name="mixed"] tr:hover td { background: rgba(225,112,85,0.06); }

.theme-sunset input[type="submit"], .theme-sunset input[type="reset"] {
  background: linear-gradient(135deg, #E17055, #FDCB6E); color: #fff; border: none;
  padding: 11px 24px; border-radius: 12px; font-weight: 700;
  cursor: pointer; transition: all 0.25s; margin: 3px;
  box-shadow: 0 4px 15px rgba(225,112,85,0.25);
}
.theme-sunset input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(225,112,85,0.35); }
.theme-sunset input[type="reset"] { background: transparent; color: var(--text-sec); border: 2px solid var(--border); box-shadow: none; }
.theme-sunset input[type="reset"]:hover { border-color: var(--primary); color: var(--primary); }
.theme-sunset input[type="checkbox"] { width: auto; accent-color: var(--primary); }

.theme-sunset #footer { background: var(--card); border-top: 1px solid var(--border); }
.theme-sunset #footer a { color: var(--primary); }
.theme-sunset #sponsoren { background: var(--card); border-color: var(--border); }

/* ==========================================================
   ACCESSIBLE CONTRAST (alle Themes)
   ========================================================== */
[class*="theme-"] #content_main {
  color: var(--text);
}
[class*="theme-"] #content_main a {
  color: var(--primary);
}
[class*="theme-"] #content_main a:hover {
  color: var(--primary-hover, var(--primary));
}
[class*="theme-"] #cssmenu,
[class*="theme-"] #admin-menu {
  color: var(--menu-text, var(--text));
}
[class*="theme-"] #cssmenu a,
[class*="theme-"] #admin-menu a,
[class*="theme-"] #cssmenu ul ul a,
[class*="theme-"] #admin-menu ul ul a {
  color: var(--menu-text, var(--text));
}
[class*="theme-"] #cssmenu a:hover,
[class*="theme-"] #admin-menu a:hover,
[class*="theme-"] #cssmenu li.active a,
[class*="theme-"] #admin-menu li.active a,
[class*="theme-"] #cssmenu ul ul li a:hover,
[class*="theme-"] #admin-menu ul ul li a:hover {
  color: var(--menu-hover-text, var(--text));
  background-color: var(--menu-hover-bg, var(--primary-light));
}

/* ==========================================================
   RESPONSIVE (alle Themes)
   ========================================================== */
@media (max-width: 768px) {
  .theme-material table[name="einzel"], .theme-material table[name="doppel"], .theme-material table[name="mixed"],
  .theme-glass table[name="einzel"], .theme-glass table[name="doppel"], .theme-glass table[name="mixed"],
  .theme-compact table[name="einzel"], .theme-compact table[name="doppel"], .theme-compact table[name="mixed"],
  .theme-neon table[name="einzel"], .theme-neon table[name="doppel"], .theme-neon table[name="mixed"],
  .theme-bauernhof table[name="einzel"], .theme-bauernhof table[name="doppel"], .theme-bauernhof table[name="mixed"],
  .theme-badminton table[name="einzel"], .theme-badminton table[name="doppel"], .theme-badminton table[name="mixed"],
  .theme-aurora table[name="einzel"], .theme-aurora table[name="doppel"], .theme-aurora table[name="mixed"],
  .theme-midnight table[name="einzel"], .theme-midnight table[name="doppel"], .theme-midnight table[name="mixed"],
  .theme-sunset table[name="einzel"], .theme-sunset table[name="doppel"], .theme-sunset table[name="mixed"] {
    display: block; overflow-x: auto;
  }
  .theme-material input[type="submit"], .theme-material input[type="reset"],
  .theme-glass input[type="submit"], .theme-glass input[type="reset"],
  .theme-compact input[type="submit"], .theme-compact input[type="reset"],
  .theme-neon input[type="submit"], .theme-neon input[type="reset"],
  .theme-bauernhof input[type="submit"], .theme-bauernhof input[type="reset"],
  .theme-badminton input[type="submit"], .theme-badminton input[type="reset"],
  .theme-aurora input[type="submit"], .theme-aurora input[type="reset"],
  .theme-midnight input[type="submit"], .theme-midnight input[type="reset"],
  .theme-sunset input[type="submit"], .theme-sunset input[type="reset"] {
    width: 100%; margin: 4px 0; box-sizing: border-box;
  }
  .theme-bauernhof #cssmenu, .theme-bauernhof #admin-menu { flex-direction: column; }
  .theme-bauernhof #cssmenu > ul, .theme-bauernhof #admin-menu > ul { flex-direction: column; }
  .theme-bauernhof #cssmenu > ul > li > a, .theme-bauernhof #admin-menu > ul > li > a { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .theme-bauernhof #cssmenu ul ul, .theme-bauernhof #admin-menu ul ul { position: static; }
  .theme-badminton #cssmenu, .theme-badminton #admin-menu { flex-direction: column; }
  .theme-badminton #cssmenu > ul, .theme-badminton #admin-menu > ul { flex-direction: column; }
  .theme-badminton #cssmenu > ul > li > a, .theme-badminton #admin-menu > ul > li > a { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); }
  .theme-badminton #cssmenu ul ul, .theme-badminton #admin-menu ul ul { position: static; }
  .theme-badminton .header_img { clip-path: none; }
  .theme-badminton #content_main { clip-path: none; }
  .theme-compact #cssmenu, .theme-compact #admin-menu { width: 100% !important; }
  .theme-compact #cssmenu > ul, .theme-compact #admin-menu > ul { width: 100%; }
  .theme-compact #cssmenu ul ul, .theme-compact #admin-menu ul ul { width: 100%; }
  .theme-compact #sponsoren { width: 100% !important; }
  .theme-aurora #cssmenu, .theme-aurora #admin-menu { border-radius: 12px; }
  .theme-midnight #cssmenu, .theme-midnight #admin-menu { border-radius: 12px; }
  .theme-sunset #cssmenu, .theme-sunset #admin-menu { border-radius: 12px; }
}

/* ==========================================================
   GLOBALE LESBARKEIT — alle Themes
   Stellt sicher, dass Text immer lesbar ist
   ========================================================== */
.theme-material *, .theme-glass *, .theme-compact *, .theme-neon *,
.theme-bauernhof *, .theme-badminton *, .theme-aurora *, .theme-midnight *, .theme-sunset * {
  color: inherit;
}
/* Überschreibe für explizite Farben */
.theme-material h1, .theme-material h2, .theme-material h3, .theme-material h4,
.theme-glass h1, .theme-glass h2, .theme-glass h3, .theme-glass h4,
.theme-compact h1, .theme-compact h2, .theme-compact h3, .theme-compact h4,
.theme-neon h1, .theme-neon h2, .theme-neon h3, .theme-neon h4,
.theme-bauernhof h1, .theme-bauernhof h2, .theme-bauernhof h3, .theme-bauernhof h4,
.theme-badminton h1, .theme-badminton h2, .theme-badminton h3, .theme-badminton h4,
.theme-aurora h1, .theme-aurora h2, .theme-aurora h3, .theme-aurora h4,
.theme-midnight h1, .theme-midnight h2, .theme-midnight h3, .theme-midnight h4,
.theme-sunset h1, .theme-sunset h2, .theme-sunset h3, .theme-sunset h4 {
  color: var(--text);
}
/* Select-Optionen: explizite Farbe für alle Themes */
.theme-material select option { color: var(--text); background: var(--card); }
/* Glass: option-Farbe bereits oben gesetzt */
/* Compact: option-Farbe bereits oben gesetzt */
/* Neon: option-Farbe bereits oben gesetzt */
/* Feste Fehlermeldungen und Warnungen */
.theme-material .fehler, .theme-material .warning, .theme-material .error,
.theme-glass .fehler, .theme-glass .warning, .theme-glass .error,
.theme-compact .fehler, .theme-compact .warning, .theme-compact .error,
.theme-neon .fehler, .theme-neon .warning, .theme-neon .error,
.theme-bauernhof .fehler, .theme-bauernhof .warning, .theme-bauernhof .error,
.theme-badminton .fehler, .theme-badminton .warning, .theme-badminton .error {
  color: #ff4444 !important;
}
/* Link-Farbe explizit setzen */
.theme-material a { color: var(--primary); }
.theme-glass a { color: var(--primary-light); }
.theme-compact a { color: var(--primary); }
.theme-neon a { color: var(--accent); }
.theme-bauernhof a { color: var(--primary-dim); }
.theme-badminton a { color: var(--court); }
