
.fbb-course-list {
  display: grid;
  gap: 24px;
}

.fbb-course-card {
  border: 1px solid rgba(0,0,0,.14);
  padding: 24px;
  background: #fff;
}

.fbb-course-card h3 {
  margin: 0 0 10px;
}

.fbb-course-date {
  font-size: 1.15em;
  font-weight: 600;
  margin-bottom: 4px;
}

.fbb-course-time,
.fbb-course-location,
.fbb-course-price {
  margin-bottom: 4px;
}

.fbb-availability {
  margin-top: 14px;
  font-weight: 700;
}

.fbb-full {
  opacity: .65;
}

.fbb-booking-form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
  max-width: 520px;
}

.fbb-booking-form label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}

.fbb-booking-form input,
.fbb-booking-form select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
}

.fbb-booking-form button {
  cursor: pointer;
  padding: 12px 18px;
}

.fbb-hint {
  font-size: .9em;
  opacity: .75;
  margin: 0;
}

.fbb-message {
  padding: 14px 16px;
  margin-bottom: 20px;
  border: 1px solid rgba(0,0,0,.15);
}

.fbb-success {
  background: #f0fff2;
}

.fbb-error {
  background: #fff2f2;
}

@media (min-width: 760px) {
  .fbb-course-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: start;
  }
}

.fbb-email-rule{font-size:.9em;opacity:.75;margin:-6px 0 0;}


/* v1.2 – Freymark dark frontend */
.fbb-intro,
.fbb-course-list,
.fbb-terms,
.fbb-empty,
.fbb-message {
  color: #fff;
}

.fbb-intro {
  background: #000;
  padding: 34px 24px 10px;
}

.fbb-course-list {
  background: #000;
  padding: 20px 24px 30px;
}

.fbb-course-card {
  background: #000 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
}

.fbb-course-card h3,
.fbb-course-card label,
.fbb-course-date,
.fbb-course-time,
.fbb-course-location,
.fbb-course-price,
.fbb-availability,
.fbb-hint,
.fbb-email-rule {
  color: #fff !important;
}

.fbb-booking-form input,
.fbb-booking-form select {
  background: #111;
  color: #fff;
  border: 1px solid rgba(255,255,255,.4);
}

.fbb-booking-form button {
  background: #fff;
  color: #000;
  border: 1px solid #fff;
}

.fbb-terms {
  background: #000;
  color: #fff;
  padding: 20px 24px 40px;
}

.fbb-terms h2,
.fbb-intro h2 {
  color: #fff;
}

.fbb-message {
  margin: 0;
  border-left: 0;
  border-right: 0;
}

.fbb-success {
  background: #14301a;
}

.fbb-error {
  background: #3b1414;
}

.fbb-empty {
  background: #000;
  padding: 20px 24px 30px;
}


/* v1.3 – mobile Kursverwaltung */
.fbb-manager,
.fbb-manager-login,
.fbb-manager-denied {
  max-width: 860px;
  margin: 0 auto;
  padding: 24px;
  background: #000;
  color: #fff;
  box-sizing: border-box;
}

.fbb-manager *,
.fbb-manager-login * {
  box-sizing: border-box;
}

.fbb-manager h1,
.fbb-manager h2,
.fbb-manager h3,
.fbb-manager h4,
.fbb-manager p,
.fbb-manager label,
.fbb-manager-login h2,
.fbb-manager-login p,
.fbb-manager-login label {
  color: #fff;
}

.fbb-manager-head {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-bottom:20px;
}

.fbb-manager-head h1 { margin:0; }
.fbb-manager-head p { margin:4px 0 0; opacity:.7; }

.fbb-manager-logout {
  color:#fff;
  text-decoration:underline;
}

.fbb-manager-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:18px 0 24px;
}

.fbb-manager-tabs a {
  display:block;
  text-align:center;
  padding:12px 8px;
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  text-decoration:none;
}

.fbb-manager-tabs a.active {
  background:#fff;
  color:#000;
}

.fbb-manager-message {
  padding:12px 14px;
  margin:0 0 16px;
  background:#18371f;
  border:1px solid rgba(255,255,255,.2);
}

.fbb-manager-section {
  display:grid;
  gap:14px;
}

.fbb-manager-card {
  border:1px solid rgba(255,255,255,.25);
  padding:16px;
  background:#0c0c0c;
}

.fbb-manager-card-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}

.fbb-manager-meta {
  margin-top:7px;
  opacity:.82;
  font-size:.95em;
}

.fbb-status {
  font-size:.8em;
  padding:5px 8px;
  border-radius:999px;
  background:#333;
  white-space:nowrap;
}
.fbb-status.pending { background:#6d4700; }
.fbb-status.confirmed { background:#1a5b2b; }
.fbb-status.rejected,
.fbb-status.cancelled { background:#6b2020; }

.fbb-manager-actions {
  display:flex;
  gap:8px;
  margin-top:14px;
  flex-wrap:wrap;
}

.fbb-btn {
  display:inline-block;
  appearance:none;
  border:1px solid rgba(255,255,255,.45);
  background:#1b1b1b;
  color:#fff !important;
  padding:11px 14px;
  text-decoration:none !important;
  cursor:pointer;
  font:inherit;
}
.fbb-btn.primary { background:#fff; color:#000 !important; border-color:#fff; }
.fbb-btn.danger { border-color:#a94a4a; }

.fbb-manager-form {
  display:grid;
  gap:14px;
  margin-bottom:28px;
}

.fbb-manager-form label {
  display:grid;
  gap:6px;
}

.fbb-manager-form input,
.fbb-manager-form textarea,
.fbb-manager-form select,
.fbb-manager-login input[type=text],
.fbb-manager-login input[type=password] {
  width:100%;
  background:#111;
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  padding:11px 12px;
  font:inherit;
}

.fbb-manager-check {
  display:flex !important;
  grid-template-columns:auto 1fr;
  align-items:center;
}
.fbb-manager-check input { width:auto; }

.fbb-manager-mailblock {
  border-top:1px solid rgba(255,255,255,.2);
  padding-top:10px;
}

.fbb-manager-help {
  opacity:.7;
  font-size:.9em;
}

.fbb-manager-login #wp-submit {
  padding:12px 18px;
  background:#fff;
  color:#000;
  border:0;
}

@media(max-width:640px) {
  .fbb-manager,
  .fbb-manager-login { padding:16px; }

  .fbb-manager-tabs {
    grid-template-columns:1fr;
  }

  .fbb-manager-card-top {
    align-items:flex-start;
  }

  .fbb-manager-actions .fbb-btn {
    flex:1;
    text-align:center;
  }
}


/* v1.5 – Lesbarkeit und Archiv */
.fbb-intro p,
.fbb-intro div,
.fbb-terms p,
.fbb-terms div {
  color: #fff !important;
  opacity: 1 !important;
}

.fbb-manager-tabs {
  grid-template-columns: repeat(4, 1fr);
}

.fbb-manager-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.fbb-status.archived {
  background: #3b3b3b;
}

.fbb-btn.muted {
  opacity: .8;
}

.fbb-manager-archive-action {
  margin-top: 8px;
}

@media(max-width:640px) {
  .fbb-manager-tabs {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* v1.5.1 – harter Mobile-Fallback gegen WordPress-Toolbar-Abstand */
body.fbb-manager-page.admin-bar {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
