/* ── Dark mode CSS változók ─────────────────────────────────────────────────── */

:root {
  --bg:           #f2f2f2;
  --container-bg: #ffffff;
  --text:         #333333;
  --text-muted:   #555555;
  --border:       #cccccc;
  --input-bg:     #ffffff;
  --input-text:   #333333;
  --shadow:       rgba(0,0,0,0.1);
  --spacer:       #e0e0e0;
  --card-bg:      #fafafa;
  --success-bg:   #d4edda;
  --success-text: #155724;
  --error-bg:     #f8d7da;
  --error-text:   #721c24;
  --osszefoglalo-bg:     #FFF8E1;
  --osszefoglalo-border: #FFD54F;
  --osszefoglalo-text:   #333333;
  --ujverseny-bg: #fff8f8;
  --modal-bg:     #ffffff;
  --modal-text:   #444444;
}

[data-theme="dark"] {
  --bg:           #121212;
  --container-bg: #1e1e1e;
  --text:         #e0e0e0;
  --text-muted:   #aaaaaa;
  --border:       #444444;
  --input-bg:     #2a2a2a;
  --input-text:   #e0e0e0;
  --shadow:       rgba(0,0,0,0.4);
  --spacer:       #333333;
  --card-bg:      #252525;
  --success-bg:   #1b3a24;
  --success-text: #a3d9a5;
  --error-bg:     #3a1a1a;
  --error-text:   #f5a5a5;
  --osszefoglalo-bg:     #2a2500;
  --osszefoglalo-border: #a07800;
  --osszefoglalo-text:   #e0d080;
  --ujverseny-bg: #2a1a1a;
  --modal-bg:     #2a2a2a;
  --modal-text:   #cccccc;
}

/* ── Alap elemek ────────────────────────────────────────────────────────────── */

body {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

.container {
  background: var(--container-bg) !important;
  box-shadow: 0 4px 8px var(--shadow) !important;
}

h2, h3 {
  color: var(--text) !important;
}

input:not([type="checkbox"]), select, textarea {
  background-color: var(--input-bg) !important;
  color: var(--input-text) !important;
  border-color: var(--border) !important;
}

input::placeholder {
  color: var(--text-muted) !important;
}

.message.success { background-color: var(--success-bg) !important; color: var(--success-text) !important; }
.message.error   { background-color: var(--error-bg)   !important; color: var(--error-text)   !important; }
.success { background-color: var(--success-bg) !important; color: var(--success-text) !important; }
.error   { background-color: var(--error-bg)   !important; color: var(--error-text)   !important; }

.spacer { border-top-color: var(--spacer) !important; }

/* összefoglaló sor */
#osszefoglaloSzoveg {
  background: var(--osszefoglalo-bg) !important;
  border-color: var(--osszefoglalo-border) !important;
  color: var(--osszefoglalo-text) !important;
}

/* Csapat kártyák (admin) */
.csapat-card {
  background: var(--card-bg) !important;
  border-color: var(--border) !important;
}

.card-title { color: var(--text) !important; }
label.mezocimke { color: var(--text-muted) !important; }

/* Új verseny szekció */
.ujverseny-box { background: var(--ujverseny-bg) !important; }
.ujverseny-check { color: var(--text) !important; }

/* Modal */
.modal, .confirm-box {
  background: var(--modal-bg) !important;
}
.modal p, .confirm-info { color: var(--modal-text) !important; }

/* Footer */
footer { border-top-color: var(--border) !important; }

/* ── Theme toggle switch ────────────────────────────────────────────────────── */

#themeToggleWrap {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 9999;
  display: flex;
  align-items: center;
}

.container { position: relative; }

#themeToggleWrap input[type="checkbox"] {
  display: none;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#themeToggleLabel {
  display: flex;
  align-items: center;
  width: 56px;
  height: 26px;
  border-radius: 26px;
  background: #E65100;
  cursor: pointer;
  position: relative;
  transition: background 0.3s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.35);
  user-select: none;
}

#themeToggleLabel::before {
  content: '☀️';
  position: absolute;
  left: 6px;
  font-size: 13px;
  line-height: 1;
  transition: opacity 0.2s;
}

#themeToggleLabel::after {
  content: '';
  position: absolute;
  right: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
  transition: transform 0.3s, right 0.3s;
}

/* Dark állapot — checkbox pipálva */
#themeToggleCheckbox:checked + #themeToggleLabel {
  background: #1a1a2e;
}

#themeToggleCheckbox:checked + #themeToggleLabel::before {
  content: '🌙';
  left: unset;
  right: 6px;
}

#themeToggleCheckbox:checked + #themeToggleLabel::after {
  right: unset;
  left: 3px;
}

#bulkCatchBtn {
  position: absolute;
  top: 6px;
  left: 8px;
  z-index: 9999;
  font-size: 1.4rem;
  cursor: pointer;
  user-select: none;
  line-height: 1;
  opacity: 0.7;
  transition: opacity 0.15s;
  text-decoration: none;
}
#bulkCatchBtn:hover { opacity: 1; }
