/* Mitgliederbereich MC Red Baron — ersetzt DataTables/Bootstrap-Styles */

#extented .card,
.tx-bwextented .card {
  background: var(--grau-karte, #f4f3f0);
  border: 1px solid #bbb;
  border-radius: 4px;
  margin: 1rem 0;
  overflow: hidden;
}

#extented .card-header,
.tx-bwextented .card-header {
  background: var(--schwarz, #121212);
  color: #fff;
  padding: .5rem 1rem;
}

#extented .card-header .card-title,
.tx-bwextented .card-header .card-title {
  margin: 0;
  font-size: 1.05rem;
  color: #fff;
}

#extented .card-body,
.tx-bwextented .card-body {
  padding: 1rem;
}

/* Mitglieder-Tabelle */
#extented__table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: .95rem;
}

#extented__table th,
#extented__table td {
  border: 1px solid #ccc;
  padding: .45rem .6rem;
  text-align: left;
  vertical-align: top;
}

#extented__table thead th {
  background: var(--schwarz, #121212);
  color: #fff;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

#extented__table thead th[data-sort="asc"]::after { content: " \25B2"; }
#extented__table thead th[data-sort="desc"]::after { content: " \25BC"; }

#extented__table tbody tr:nth-child(even) { background: #f2f1ee; }
#extented__table tbody tr:hover { background: #ffecec; }

tr.bwextented__deceased td { color: #888; }

/* Suchfeld über der Tabelle (per JS eingefügt) */
.member-table-search {
  margin: 0 0 .75rem;
}

.member-table-search input {
  max-width: 320px;
  width: 100%;
  padding: .45rem .7rem;
  border: 1px solid #999;
  border-radius: 3px;
  font: inherit;
}

/* Icon-Ersatz für die früheren FontAwesome-Klassen */
i.fas, i.fa { font-style: normal; }
i.fa-phone::before { content: "\260E\FE0E "; }
i.fa-mobile-alt::before { content: "\1F4F1\FE0E "; }
i.fa-fax::before { content: "\1F5A8\FE0E "; }
i.fa-envelope::before { content: "\2709\FE0E "; }
i.fa-file-pdf::before { content: "\1F4C4\FE0E "; }

/* Formulare im Mitgliederbereich */
#extented form label {
  display: inline-block;
  min-width: 10em;
  font-weight: 600;
}

/* --- Umschaltung Tabelle / Karten --- */
.member-switch {
  display: flex;
  gap: .4rem;
  margin: 0 0 1rem;
}
.member-switch-btn {
  padding: .45rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: rgb(0 0 0 / .08);
  color: var(--text, #23242a);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  box-shadow: none;
  transition: background-color .18s ease, color .18s ease;
}
.member-switch-btn:hover { background: rgb(0 0 0 / .14); color: var(--text, #23242a); }
.member-switch-btn.is-active { background: var(--rot, #e30613); color: #fff; }

.member-view[hidden] { display: none; }

/* --- Karten-Ansicht --- */
.member-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
  gap: 1.25rem;
}
.member-card {
  background: var(--weiss, #fff);
  border: 1px solid rgb(0 0 0 / .1);
  border-radius: var(--radius-klein, 8px);
  box-shadow: var(--schatten-klein, 0 1px 3px rgb(0 0 0 / .18));
  padding: 1rem;
  display: flex;
  flex-direction: column;
}
.member-card.is-deceased { opacity: .72; }

.member-card-head {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: .75rem;
}
.member-card-photo {
  flex: 0 0 auto;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  overflow: hidden;
  background: var(--schwarz, #141414);
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 700;
}
.member-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.member-card-photo-empty { font-family: var(--font-display, 'Arial Black', sans-serif); letter-spacing: .04em; }

.member-card-name { line-height: 1.25; }
.member-card-name a { font-weight: 700; color: var(--schwarz, #141414); text-decoration: none; }
.member-card-name a:hover { color: var(--rot, #e30613); }
.member-card-cs { color: var(--rot-dunkel, #a50010); margin-left: .25rem; }
.member-card-crew { display: block; font-size: .8rem; color: var(--text-leise, #6a6b72); }

.member-card-body {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .2rem .7rem;
  margin: 0 0 .5rem;
  font-size: .92rem;
}
.member-card-body dt { color: var(--text-leise, #6a6b72); }
.member-card-body dt.member-ic { color: var(--text, #23242a); }
.member-card-body dd { margin: 0; }
.member-card-body dd a { color: var(--rot-dunkel, #a50010); text-decoration: none; word-break: break-word; }

.member-card-vita {
  margin-top: auto;
  align-self: flex-start;
  color: var(--rot-dunkel, #a50010);
  text-decoration: none;
  font-weight: 600;
  font-size: .92rem;
}
.member-card-vita:hover { color: var(--rot, #e30613); }

.member-cross { color: var(--rot, #e30613); font-weight: 700; }

/* ==========================================================================
   Mitglieder-Detailansicht (Steckbrief + Gefährte)
   ========================================================================== */
.member-back { margin: 0 0 1rem; }
.member-back a { color: var(--rot-dunkel, #a50010); text-decoration: none; font-weight: 600; }
.member-back a:hover { color: var(--rot, #e30613); }

.mp.is-deceased { opacity: .8; }

/* Steckbrief-Kopf */
.mp-head {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
  border-radius: var(--radius, 12px);
  background: linear-gradient(135deg, var(--dunkel-2, #26262a), var(--schwarz, #141414));
  color: #fff;
  box-shadow: var(--schatten-karte, 0 4px 14px rgb(0 0 0 / .1));
}
.mp-photo {
  flex: 0 0 auto;
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 50%;
  overflow: hidden;
  background: #000;
  box-shadow: 0 0 0 3px var(--rot, #e30613);
  display: grid;
  place-items: center;
}
.mp-photo img { width: 100%; height: 100%; object-fit: cover; }
.mp-photo-empty { font-family: var(--font-display, 'Arial Black', sans-serif); font-size: 1.8rem; color: #fff; letter-spacing: .04em; }

.mp-name { margin: 0; color: #fff; font-size: 1.6rem; line-height: 1.15; }
.mp-cs { color: #ff5a67; font-weight: 400; }
.mp-tags { margin: .5rem 0 .3rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.mp-tag {
  display: inline-block;
  padding: .15rem .7rem;
  border-radius: 999px;
  background: rgb(255 255 255 / .12);
  font-size: .82rem;
}
.mp-since, .mp-memoriam { margin: 0; color: rgb(255 255 255 / .7); font-size: .9rem; }
.mp-memoriam { color: #ff5a67; }

/* Datenblöcke */
.mp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 1.25rem;
  margin: 1.25rem 0;
}
.mp-block {
  background: var(--weiss, #fff);
  border: 1px solid rgb(0 0 0 / .1);
  border-radius: var(--radius-klein, 8px);
  padding: 1.1rem 1.25rem;
}
.mp-block h3 {
  margin: 0 0 .75rem;
  font-size: .8rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rot-dunkel, #a50010);
  border-bottom: 2px solid rgb(0 0 0 / .08);
  padding-bottom: .4rem;
}
.mp-block dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .35rem .9rem; }
.mp-block dt { color: var(--text-leise, #6a6b72); }
.mp-block dd { margin: 0; }
.mp-block dd a { color: var(--rot-dunkel, #a50010); text-decoration: none; word-break: break-word; }

/* Gefährte */
.mp-bikes h3 {
  font-family: var(--font-display, 'Arial Black', sans-serif);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin: 1.5rem 0 1rem;
}
.member-bikes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
  gap: 1.25rem;
}
.bike-hist-card {
  background: var(--weiss, #fff);
  border: 1px solid rgb(0 0 0 / .1);
  border-radius: var(--radius-klein, 8px);
  overflow: hidden;
  box-shadow: var(--schatten-klein, 0 1px 3px rgb(0 0 0 / .18));
}
.bike-hist-media {
  position: relative;
  aspect-ratio: 59 / 38;
  background: #1a1a1a;
}
.bike-hist-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bike-hist-noimg { position: absolute; inset: 0; display: grid; place-items: center; font-size: 2.4rem; filter: grayscale(1) opacity(.5); }
.bike-hist-years {
  position: absolute;
  left: 0; bottom: 0;
  background: var(--rot, #e30613);
  color: #fff;
  font-weight: 700;
  font-size: .82rem;
  padding: .2rem .6rem;
  border-top-right-radius: 6px;
}
.bike-hist-body { padding: .7rem .9rem; }
.bike-hist-model { margin: 0; font-weight: 700; }
.bike-hist-km { margin: .1rem 0 0; color: var(--text-leise, #6a6b72); font-size: .9rem; }

/* --- Karten-Ansicht (OSM) --- */
.member-map {
  width: 100%;
  height: 520px;
  border-radius: var(--radius-klein, 8px);
  box-shadow: var(--schatten-klein, 0 1px 3px rgb(0 0 0 / .18));
}

/* Eigener Karten-Pin (rot, mit Spitze) */
.mcrb-pin span {
  display: block;
  width: 18px; height: 18px;
  background: var(--rot, #e30613);
  border: 2px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 2px 4px rgb(0 0 0 / .4);
}
