/* 1. Grundlayout: Füllt den ganzen Bildschirm mit einem weichen Dunkelgrau */
html,
body {
  background-color: #121212 !important;
  color: #e0e0e0 !important;
  min-height: 100vh; /* Verhindert den weißen Balken unten */
}

/* 2. Allgemeine Typografie */
.title,
.subtitle,
.label,
strong {
  color: #ffffff !important;
}

/* 3. Navigation: Etwas heller abgesetzt vom Hintergrund */
.navbar.is-dark {
  background-color: #1e1e1e !important;
  border-bottom: 1px solid #2c2c2c !important;
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

.navbar-logo {
  max-height: 2rem;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}

body {
  padding-top: 3.5rem !important;
}

.navbar-item,
.navbar-link {
  color: #e0e0e0 !important;
}

.navbar-item:hover,
.navbar-link:hover {
  background-color: #2c2c2c !important;
  color: #ffffff !important;
}

/* Mobile Fixes für Navbar */
.navbar-menu {
  background-color: #1e1e1e !important;
}

.navbar-dropdown {
  background-color: #1e1e1e !important;
  border: 1px solid #2c2c2c !important;
}

.navbar-dropdown .navbar-item,
.navbar-dropdown .navbar-link {
  color: #e0e0e0 !important;
}

.navbar-dropdown .navbar-item:hover {
  background-color: #2c2c2c !important;
  color: #ffffff !important;
}

@media screen and (max-width: 1023px) {
  body {
    padding-top: 3.8rem; /* Platz für den fixierten Menübereich */
  }
}

/* 4. Karten & Boxen: Modern mit weichen Ecken und dezentem Schatten */
.box,
.card,
.notification {
  background-color: #1e1e1e !important;
  border: 1px solid #2c2c2c !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
  color: #e0e0e0 !important;
}

.card-header {
  border-bottom: 1px solid #2c2c2c !important;
}

.card-header-title {
  color: #ffffff !important;
}

.card-footer {
  border-top: 1px solid #2c2c2c !important;
}

/* 5. Links in der Karte: Gut lesbares, helles Tuerkis (passend zum Bulma Primary Button) */
.card-footer-item {
  color: #00d1b2 !important;
  border-right: 1px solid #2c2c2c !important;
  transition: background-color 0.2s ease;
}

.card-footer-item:hover {
  background-color: #252525 !important;
  color: #00e6c3 !important;
}

/* 6. Tags (wie der "planned" Status) */
.tag.is-light {
  background-color: #2c2c2c !important;
  color: #e0e0e0 !important;
  border: 1px solid #444 !important;
}

/* 7. Tabellen (Gästeliste & Personal) */
.table {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
}

.table th {
  color: #ffffff !important;
  border-bottom: 2px solid #2c2c2c !important;
}

.table td {
  border-bottom: 1px solid #2c2c2c !important;
}

.table.is-hoverable tbody tr:hover {
  background-color: #252525 !important;
}

/* 8. Formulare (Eingabefelder) */
.input,
.select select,
.textarea {
  background-color: #2c2c2c !important;
  color: #ffffff !important;
  border: 1px solid #444 !important;
  border-radius: 6px !important;
}

.input::placeholder {
  color: #888 !important;
}

.input:focus,
.select select:focus {
  border-color: #00d1b2 !important;
  box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25) !important;
}

/* 9. Trennlinien */
hr {
  background-color: #2c2c2c !important;
  height: 1px !important;
}

/* Fix fuer die abwechselnden Farben bei is-striped Tabellen */
.table.is-striped tbody tr:not(.is-selected):nth-child(even) {
  background-color: #252525 !important;
}

/* Fix fuer den grellweißen "Zurueck" Button (is-light) */
.button.is-light {
  background-color: #2c2c2c !important;
  color: #e0e0e0 !important;
  border: 1px solid #444 !important;
}

.button.is-light:hover {
  background-color: #3a3a3a !important;
  color: #ffffff !important;
}

/* Einheitliche Darstellung der Event-Bilder */
.event-cover-img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

/* Roter Loesch-Button im Event-Footer */
.card-footer-item.delete-event-link {
  color: #ff3860 !important;
}

.card-footer-item.delete-event-link:hover {
  color: #ff1443 !important;
  background-color: #3a0a14 !important;
}

/* Dashboard: Notification Center kompakter und weniger farbintensiv */
.dashboard-notification-center {
  padding: 1rem !important;
}

.dashboard-notification-center .columns {
  margin-top: 0 !important;
}

.dashboard-notification-center .column {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

body:not(.theme-light) .dashboard-notification-center .message {
  background-color: #1a1a1a !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 8px !important;
  overflow: hidden;
}

body:not(.theme-light) .dashboard-notification-center .message .message-header {
  background-color: #202020 !important;
  color: #e5e7eb !important;
  border-bottom: 1px solid #2a2a2a !important;
  padding: 0.55rem 0.75rem !important;
  font-size: 0.9rem;
}

body:not(.theme-light) .dashboard-notification-center .message .message-body {
  background-color: #171717 !important;
  color: #c7ced8 !important;
  padding: 0.8rem 0.75rem !important;
  font-size: 0.92rem;
}

body:not(.theme-light) .dashboard-notification-center .message.is-warning {
  border-left: 3px solid #8e7a31 !important;
}

body:not(.theme-light) .dashboard-notification-center .message.is-info {
  border-left: 3px solid #3c6ea5 !important;
}

body:not(.theme-light) .dashboard-notification-center .message.is-success {
  border-left: 3px solid #3b8a67 !important;
}

body:not(.theme-light)
  .dashboard-notification-center
  .message.is-warning
  .message-body,
body:not(.theme-light)
  .dashboard-notification-center
  .message.is-info
  .message-body,
body:not(.theme-light)
  .dashboard-notification-center
  .message.is-success
  .message-body,
body:not(.theme-light)
  .dashboard-notification-center
  .message.is-warning
  .message-header,
body:not(.theme-light)
  .dashboard-notification-center
  .message.is-info
  .message-header,
body:not(.theme-light)
  .dashboard-notification-center
  .message.is-success
  .message-header {
  background-color: inherit !important;
  color: inherit !important;
}

body:not(.theme-light) .dashboard-scanner-box {
  background-color: #1e1e1e !important;
}

/* --- 10. Scanner Modul (Dark Theme Anpassungen) --- */

/* Verhindert das grelle Aufleuchten und macht den Hintergrund dunkel */
#reader {
  width: 100%;
  border-radius: 8px !important;
  overflow: hidden;
  background-color: #1e1e1e !important; /* Passt sich deinen Boxen an */
  border: 1px solid #2c2c2c !important; /* Passt sich deinen Trennlinien an */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

/* Zwingt den Text innerhalb des Scanners auf hell */
#reader * {
  color: #e0e0e0 !important;
}

/* Gestaltet den Kamerabutton um */
#reader button {
  background-color: #00d1b2 !important; /* Dein Türkis/Primary-Ton */
  color: #121212 !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  margin-top: 15px !important;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.2s ease;
}

#reader button:hover {
  background-color: #00e6c3 !important; /* Helleres Türkis beim Hover */
}

/* Versteckt den unnötigen Link der Bibliothek */
#reader__dashboard_section_csr span,
#reader a {
  display: none !important;
}

/* Die Box, in der das Ergebnis angezeigt wird */
.scanner-result-box {
  margin-top: 25px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  border-radius: 8px !important;
}

.scanner-result-box {
  position: fixed;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  width: 80%;
  max-width: 400px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6) !important;
}
.scanner-result-box {
  position: fixed;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  width: 80%;
  max-width: 400px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6) !important;
}

/* Die Scanner-Meldung soll über allem schweben */
.scanner-result-box {
  position: fixed !important; /* Fixiert die Position relativ zum Sichtfeld */
  top: 20%; /* Abstand von oben */
  left: 50%; /* Horizontal zentrieren */
  transform: translateX(-50%); /* Exakte Zentrierung */
  width: 90%; /* Fast volle Breite auf dem Handy */
  max-width: 400px; /* Aber nicht zu breit auf dem PC */
  z-index: 9999; /* Sicherstellen, dass sie ÜBER der Kamera liegt */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7) !important; /* Starker Schatten für Tiefe */
  text-align: center;
  border-radius: 12px !important;
}

/* Farben für Dark Mode deutlicher machen */
.notification.is-success {
  background-color: #23d160 !important; /* Sattes Grün */
}

.notification.is-danger {
  background-color: #ff3860 !important; /* Sattes Rot */
}

/* Einheitliche Breite fuer alle Buttons in der Tabelle */
.table .buttons .button {
  width: 110px !important;
  justify-content: center !important; /* Zentriert den Text exakt in der Mitte */
}

/* --- Theme Toggle: Light Mode --- */
body.theme-light {
  background-color: #f4f6f8 !important;
  color: #1f2933 !important;
}

body.theme-light .title,
body.theme-light .subtitle,
body.theme-light .label,
body.theme-light strong,
body.theme-light .table th {
  color: #1f2933 !important;
}

body.theme-light .box,
body.theme-light .card,
body.theme-light .notification,
body.theme-light .table,
body.theme-light .navbar.is-dark,
body.theme-light .navbar-menu,
body.theme-light .navbar-dropdown {
  background-color: #ffffff !important;
  color: #1f2933 !important;
  border-color: #d8dee4 !important;
}

body.theme-light .input,
body.theme-light .select select,
body.theme-light .textarea {
  background-color: #ffffff !important;
  color: #1f2933 !important;
  border-color: #c9d1d9 !important;
}

body.theme-light .navbar-item,
body.theme-light .navbar-link {
  color: #1f2933 !important;
}

body.theme-light .button.is-light {
  background-color: #f0f3f6 !important;
  color: #1f2933 !important;
  border-color: #c9d1d9 !important;
}

body.theme-light .table td {
  border-bottom: 1px solid #e5e9ef !important;
}

body.theme-light .message {
  border-radius: 8px !important;
  overflow: hidden;
}

body.theme-light .dashboard-notification-center {
  padding: 1rem !important;
}

body.theme-light .dashboard-notification-center .message .message-header {
  padding: 0.55rem 0.75rem !important;
  font-size: 0.9rem;
}

body.theme-light .dashboard-notification-center .message .message-body {
  padding: 0.8rem 0.75rem !important;
  font-size: 0.92rem;
}

body.theme-light .dashboard-scanner-box {
  background-color: #ffffff !important;
}

/* Styling fuer FontAwesome Icons in Bulma Input-Feldern im Dark Mode */
.control.has-icons-left .icon {
  color: #888888 !important;
}

.control.has-icons-left .input:focus ~ .icon {
  color: #00d1b2 !important; /* Dein Tuerkis beim Anklicken */
}

/* Kleine Social Icons in der Tabelle */
.social-icon-table {
  margin-right: 8px;
  font-size: 1.1rem;
  color: #00d1b2;
  transition: color 0.2s ease;
}

.social-icon-table:hover {
  color: #ffffff;
}

/* ===== WooCommerce Events Seite ===== */

/* Stat-Cards */
.stat-card {
  transition: transform 0.2s;
}
.stat-card:hover {
  transform: translateY(-2px);
}
.stat-value {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff !important;
}
.stat-label {
  font-size: 0.85rem;
  color: #888 !important;
}

/* Bearbeitungsfelder in Tabellen */
.edit-field {
  width: 80px;
}
.variation-row .button {
  opacity: 0.6;
  transition: opacity 0.2s;
}
.variation-row:hover .button {
  opacity: 1;
}

/* Toast Notifications */
.toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  padding: 12px 24px;
  border-radius: 6px;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  animation: slideIn 0.3s ease;
}
.toast.is-success {
  background: #48c78e;
}
.toast.is-danger {
  background: #f14668;
}
.toast.is-info {
  background: #3e8ed0;
}
.toast.is-warning {
  background: #ffe08a;
  color: #333;
}
@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Modal - Dark Theme (generisch) */
.modal-card-head,
.modal-card-foot {
  background-color: #1a1a1a !important;
  border-color: #333 !important;
}
.modal-card-title {
  color: #e0e0e0 !important;
}
.modal-card-body {
  background-color: #1e1e1e !important;
  color: #e0e0e0 !important;
}
.modal-card-body .box {
  background-color: #252525 !important;
  border: 1px solid #333 !important;
  box-shadow: none !important;
}
.modal-card-body .label {
  color: #aaa !important;
}
.modal-card-body .input,
.modal-card-body .textarea,
.modal-card-body .select select {
  background-color: #2a2a2a !important;
  color: #e0e0e0 !important;
  border: 1px solid #444 !important;
  box-shadow: none !important;
}
.modal-card-body .input:focus,
.modal-card-body .textarea:focus,
.modal-card-body .select select:focus {
  border-color: #00d1b2 !important;
  box-shadow: 0 0 0 2px rgba(0, 209, 178, 0.2) !important;
}
.modal-card-body .input:valid,
.modal-card-body .input:invalid {
  border-color: #444 !important;
  box-shadow: none !important;
}
.modal-card-body .input:focus:valid,
.modal-card-body .input:focus:invalid {
  border-color: #00d1b2 !important;
  box-shadow: 0 0 0 2px rgba(0, 209, 178, 0.2) !important;
}
.modal-card-body .subtitle {
  color: #ccc !important;
}
.modal-card-body .table {
  background-color: transparent !important;
  color: #e0e0e0 !important;
}
.modal-card-body .table th {
  color: #aaa !important;
  border-color: #333 !important;
  background-color: transparent !important;
}
.modal-card-body .table td {
  border-color: #333 !important;
  background-color: transparent !important;
}
.modal-card-body .select {
  background-color: transparent !important;
}
.modal-card-body .select::after {
  border-color: #aaa !important;
}
.modal-card-body .columns {
  margin-bottom: 0 !important;
}
body.theme-light .modal-card-head,
body.theme-light .modal-card-foot {
  background-color: #f5f5f5 !important;
  border-color: #dbdbdb !important;
}
body.theme-light .modal-card-title {
  color: #363636 !important;
}
body.theme-light .modal-card-body {
  background-color: #fff !important;
  color: #363636 !important;
}
body.theme-light .modal-card-body .box {
  background-color: #f9f9f9 !important;
  border: 1px solid #e0e0e0 !important;
  box-shadow: none !important;
}
body.theme-light .modal-card-body .label {
  color: #555 !important;
}
body.theme-light .modal-card-body .input,
body.theme-light .modal-card-body .textarea,
body.theme-light .modal-card-body .select select {
  background-color: #fff !important;
  color: #363636 !important;
  border: 1px solid #dbdbdb !important;
  box-shadow: none !important;
}

/* Auf-/Zuklappbare Boxen */
.box-header {
  cursor: pointer;
  user-select: none;
}
.box-header:hover {
  opacity: 0.85;
}
.toggle-icon {
  transition: transform 0.2s;
}
.toggle-icon.is-collapsed {
  transform: rotate(-90deg);
}
.box-body {
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.box-body.is-collapsed {
  max-height: 0 !important;
}

/* Toolbar */
.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* Chart Container */
.chart-container {
  position: relative;
  height: 250px;
}

/* Section Tabs (Events / Bestellungen / Chart / Coupons) – Boxed wie Shop-Switcher */

/* Allgemeine Tabs Dark Mode (Shop-Switcher etc.) */
.tabs a {
  color: #aaa !important;
  border-bottom-color: #444 !important;
}
.tabs a:hover {
  color: #ffffff !important;
  border-bottom-color: #999 !important;
}
.tabs li.is-active a {
  color: #00d1b2 !important;
  border-bottom-color: #00d1b2 !important;
}
.tabs.is-boxed a {
  border-color: #444 !important;
  background-color: transparent !important;
}
.tabs.is-boxed li.is-active a {
  background-color: #1e1e1e !important;
  border-color: #444 !important;
  border-bottom-color: transparent !important;
  color: #00d1b2 !important;
}
.tabs ul {
  border-bottom-color: #444 !important;
}

/* Tabellen-Inputs besser lesbar */
.table .button.is-static {
  background-color: #333 !important;
  color: #999 !important;
  border-color: #555 !important;
}

/* Coupon-Code */
code {
  background-color: #2c2c2c;
  color: #00d1b2;
  padding: 2px 6px;
  border-radius: 4px;
}

/* ===== WooCommerce Light Mode ===== */
body.theme-light .stat-value {
  color: #1f2933 !important;
}
body.theme-light .stat-label {
  color: #6b7785 !important;
}
/* Section-Tabs Light Mode: erbt von allgemeinen .tabs Regeln */
body.theme-light .tabs a {
  color: #4a4a4a !important;
  border-bottom-color: #dbdbdb !important;
}
body.theme-light .tabs li.is-active a {
  color: #00d1b2 !important;
  border-bottom-color: #00d1b2 !important;
}
body.theme-light .tabs.is-boxed a {
  border-color: #dbdbdb !important;
  background-color: transparent !important;
}
body.theme-light .tabs.is-boxed li.is-active a {
  background-color: #ffffff !important;
  border-color: #dbdbdb !important;
  border-bottom-color: transparent !important;
}
body.theme-light .tabs ul {
  border-bottom-color: #dbdbdb !important;
}

/* Pagination Dark Mode */
.pagination-link,
.pagination-previous,
.pagination-next {
  background-color: #2c2c2c !important;
  color: #aaa !important;
  border-color: #444 !important;
}
.pagination-link:hover,
.pagination-previous:hover,
.pagination-next:hover {
  background-color: #3a3a3a !important;
  color: #fff !important;
  border-color: #666 !important;
}
.pagination-link.is-current {
  background-color: #00d1b2 !important;
  color: #121212 !important;
  border-color: #00d1b2 !important;
}
.pagination-previous[disabled],
.pagination-next[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.pagination-ellipsis {
  color: #666 !important;
}

body.theme-light .pagination-link,
body.theme-light .pagination-previous,
body.theme-light .pagination-next {
  background-color: #f5f5f5 !important;
  color: #363636 !important;
  border-color: #dbdbdb !important;
}
body.theme-light .pagination-link.is-current {
  background-color: #00d1b2 !important;
  color: #fff !important;
}
body.theme-light .table .button.is-static {
  background-color: #f5f5f5 !important;
  color: #7a7a7a !important;
  border-color: #c9d1d9 !important;
}
body.theme-light code {
  background-color: #f0f3f6;
  color: #00947e;
}
