/*
 * DRC Datenfreigabe-Plugin — gebuendeltes Stylesheet.
 *
 * Selbst-enthaltenes Stylesheet fuer die generische Datenfreigabe-Liste
 * (Zuechter / Richter / Ausbilder / Funktionstraeger). Wird ueber das
 * TYPO3-Asset-Publishing aus EXT:drc_dyna/Resources/Public/ ausgeliefert –
 * NICHT aus fileadmin (Mount). Enthaelt die vom Plugin genutzten Basis-
 * Tabellenstyles (.ev_result_listing) sowie die plugin-spezifischen
 * Hilfsklassen (.drc-datenfreigabe__*).
 */

/* ==========================================================================
   Basis: Container + Listentabelle (.ev_result_listing)
   ========================================================================== */
.zuechter-liste-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 20px;
  box-sizing: border-box;
}

.zuechter-liste-container table.ev_result_listing {
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto;
}
.zuechter-liste-container table.ev_result_listing th {
  background-color: #8AC640 !important;
  color: #fff;
  text-align: left !important;
  padding: 12px 10px;
  font-weight: bold;
}
.zuechter-liste-container table.ev_result_listing th#th_event_listing {
  background-color: #6B9F2E !important;
}
.zuechter-liste-container table.ev_result_listing td {
  padding: 10px;
  border-bottom: 1px solid #e0e0e0;
}
.zuechter-liste-container table.ev_result_listing tr:nth-child(odd) td {
  background-color: #f5f5f5 !important;
}
.zuechter-liste-container table.ev_result_listing tr:nth-child(even) td {
  background-color: #ffffff !important;
}
.zuechter-liste-container table.ev_result_listing tr:hover td {
  background-color: #e8f5e0 !important;
}

/* Links + Ueberschriften im DRC-Gruenton */
.zuechter-liste-container a {
  color: #6B9F2E !important;
  text-decoration: underline !important;
  font-weight: 500;
}
.zuechter-liste-container a:hover {
  color: #4A7C1F !important;
  text-decoration: underline !important;
  font-weight: bold;
}
.zuechter-liste-container a:visited {
  color: #5A8527 !important;
}
.zuechter-liste-container h1 {
  color: #6B9F2E;
  font-size: 28px;
  margin-bottom: 20px;
  font-weight: bold;
}
.zuechter-liste-container h2 {
  color: #6B9F2E;
  font-size: 22px;
  margin-top: 20px;
  margin-bottom: 15px;
  font-weight: bold;
  border-bottom: 2px solid #8AC640;
  padding-bottom: 8px;
}

/* ==========================================================================
   Datenfreigabe-Plugin (generische Zuechter-/Richter-/Funktionstraeger-Liste)
   ========================================================================== */
.drc-datenfreigabe__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
  align-items: center;
}
.drc-datenfreigabe__filter input[type="text"] {
  padding: 8px 12px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}
.drc-datenfreigabe__select {
  padding: 8px 10px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background: #fff;
  color: #333;
  cursor: pointer;
}
.drc-datenfreigabe__select:focus {
  outline: none;
  border-color: #6B9F2E;
}
.drc-datenfreigabe__filter button {
  background: #6B9F2E;
  color: #fff;
  border: none;
  padding: 9px 20px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
}
.drc-datenfreigabe__filter button:hover {
  background: #4A7C1F;
}
/* Icon-only-Buttons (Zurücksetzen, Aktualisieren): platzsparend, quadratisch. */
.drc-datenfreigabe__filter button.drc-datenfreigabe__iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 38px;
  height: 38px;
  font-size: 18px;
  line-height: 1;
}
.drc-datenfreigabe__filter button[data-df-refresh] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #4A7C1F;
  border: 2px solid #6B9F2E;
  padding: 7px 16px;
}
.drc-datenfreigabe__filter button[data-df-refresh].drc-datenfreigabe__iconbtn {
  padding: 0;
}
.drc-datenfreigabe__filter button[data-df-refresh]:hover {
  background: #6B9F2E;
  color: #fff;
}
.drc-datenfreigabe__refresh-icon {
  font-size: 18px;
  line-height: 1;
}
.is-loading .drc-datenfreigabe__refresh-icon {
  animation: drc-df-spin 0.8s linear infinite;
}

/* Mehrfachauswahl-Filter (Status / Landesgruppe / Bezirksgruppe). */
.drc-datenfreigabe__multiselect {
  position: relative;
}
.drc-datenfreigabe__multiselect-summary {
  list-style: none;
  cursor: pointer;
  padding: 8px 28px 8px 12px;
  border: 2px solid #ddd;
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
  white-space: nowrap;
  position: relative;
}
.drc-datenfreigabe__multiselect-summary::-webkit-details-marker {
  display: none;
}
.drc-datenfreigabe__multiselect-summary::after {
  content: "\25BE";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B9F2E;
}
.drc-datenfreigabe__multiselect[open] .drc-datenfreigabe__multiselect-summary,
.drc-datenfreigabe__multiselect.has-selection .drc-datenfreigabe__multiselect-summary {
  border-color: #6B9F2E;
}
.drc-datenfreigabe__multiselect.has-selection .drc-datenfreigabe__multiselect-summary {
  background: #f2f7ea;
  color: #2f5310;
  font-weight: 600;
}
.drc-datenfreigabe__multiselect-panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  min-width: 210px;
  max-height: 280px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  padding: 6px;
}
.drc-datenfreigabe__multiselect-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 14px;
}
.drc-datenfreigabe__multiselect-item:hover {
  background: #f2f7ea;
}
.drc-datenfreigabe__multiselect-empty {
  margin: 0;
  padding: 6px 8px;
  font-size: 13px;
  color: #777;
}

/* Checkbox-Label in Filterzeile (Wurfliste, u. a.). */
.drc-datenfreigabe__checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
}
.drc-datenfreigabe__checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #6B9F2E;
  cursor: pointer;
}

/* Toolbar (Filter + optionale rechte Seite). */
.drc-datenfreigabe__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}

.zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table td {
  vertical-align: top;
}
.zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table th {
  vertical-align: middle;
}
.zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table td:last-child,
.zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table th:last-child {
  text-align: right !important;
}
/* Sortier-Header: Einrueckung ueber den Button steuern, damit alle
   Spaltenkoepfe (sortierbar + statisch) auf gleicher Hoehe sitzen. */
.zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table th.drc-datenfreigabe__th-sort {
  padding: 0;
}

.drc-datenfreigabe__tag {
  display: inline-block;
  background: #8AC640;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  padding: 1px 7px;
  border-radius: 10px;
  margin: 0 3px 3px 0;
}
.drc-datenfreigabe__komm {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
.drc-datenfreigabe__komm li {
  margin: 0 0 2px 0;
}
.drc-datenfreigabe__komm-art {
  color: #666;
  font-size: 11px;
}

.drc-datenfreigabe__quali,
.drc-datenfreigabe__funktionen {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
}
.drc-datenfreigabe__quali li,
.drc-datenfreigabe__funktionen li {
  margin: 0 0 6px 0;
}
.drc-datenfreigabe__seit,
.drc-datenfreigabe__gruppe {
  color: #666;
  font-size: 12px;
}
.drc-datenfreigabe__titel {
  color: #666;
  font-size: 12px;
}

.drc-datenfreigabe__pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin: 20px 0;
}
.drc-datenfreigabe__pagination-nav {
  display: flex;
  align-items: center;
  gap: 16px;
}
.drc-datenfreigabe__perpage {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: #444;
  font-size: 14px;
}
.drc-datenfreigabe__perpage-select {
  padding: 6px 10px;
  border: 1px solid #c7c7c7;
  border-radius: 4px;
  background: #fff;
  font: inherit;
  color: #333;
  cursor: pointer;
}
.drc-datenfreigabe__perpage-select:focus {
  outline: none;
  border-color: #6B9F2E;
  box-shadow: 0 0 0 2px rgba(107, 159, 46, 0.25);
}
.drc-datenfreigabe__pagination a {
  background: #6B9F2E;
  color: #fff !important;
  text-decoration: none !important;
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: 600;
}
.drc-datenfreigabe__pagination a:hover {
  background: #4A7C1F;
}
.drc-datenfreigabe__page-info {
  color: #444;
  font-size: 14px;
}

.drc-datenfreigabe__stand {
  color: #777;
  font-size: 12px;
  margin-top: 16px;
}
.drc-datenfreigabe__empty {
  color: #555;
  padding: 16px 0;
}

/* Sortierbare Tabellenkoepfe */
.drc-datenfreigabe__th-sort {
  padding: 0;
}
.drc-datenfreigabe__sortbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  background: none;
  border: 0;
  margin: 0;
  padding: 12px 10px;
  font: inherit;
  font-weight: 600;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.drc-datenfreigabe__sortbtn:hover {
  color: #4A7C1F;
}
.drc-datenfreigabe__th-sort.is-sorted .drc-datenfreigabe__sortbtn {
  color: #4A7C1F;
}
.drc-datenfreigabe__sortarrow {
  font-size: 11px;
  line-height: 1;
}
.drc-datenfreigabe__sortarrow--idle {
  opacity: 0.35;
}
.drc-datenfreigabe__sortbtn:hover .drc-datenfreigabe__sortarrow--idle {
  opacity: 0.7;
}

/* AJAX-Filter: Ergebnis-Bereich + Lade-Anzeige */
.drc-datenfreigabe__results {
  position: relative;
  min-height: 80px;
}
.drc-datenfreigabe__results.is-loading .drc-datenfreigabe__fragment {
  opacity: 0.45;
  transition: opacity 0.15s ease;
  pointer-events: none;
}
.drc-datenfreigabe__loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 6px;
  color: #4A7C1F;
  font-weight: 600;
  font-size: 14px;
}
.drc-datenfreigabe__loading[hidden] {
  display: none;
}
.drc-datenfreigabe__spinner {
  width: 20px;
  height: 20px;
  border: 3px solid #cfe3ac;
  border-top-color: #6B9F2E;
  border-radius: 50%;
  animation: drc-df-spin 0.7s linear infinite;
}
@keyframes drc-df-spin {
  to { transform: rotate(360deg); }
}
.drc-datenfreigabe__pagination button {
  background: #6B9F2E;
  color: #fff;
  border: none;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
}
.drc-datenfreigabe__pagination button:hover:not([disabled]) {
  background: #4A7C1F;
}
.drc-datenfreigabe__pagination button[disabled] {
  background: #c7c7c7;
  cursor: default;
}

/* ==========================================================================
   Gruppierung der Züchterliste: Auswahl + gruppierte Tabelle
   ========================================================================== */
.drc-datenfreigabe__groupselect {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border: 1px solid #c7c7c7;
  border-radius: 20px;
  background: #fff;
  color: #333;
  font-size: 14px;
  user-select: none;
}
.drc-datenfreigabe__groupselect:hover {
  border-color: #6B9F2E;
}
.drc-datenfreigabe__groupselect-label {
  color: #555;
  white-space: nowrap;
}
.drc-datenfreigabe__groupselect select {
  border: 0;
  background: transparent;
  font: inherit;
  color: #333;
  cursor: pointer;
  padding: 2px 4px;
}
.drc-datenfreigabe__groupselect select:focus {
  outline: none;
}

.drc-datenfreigabe__table--grouped tbody.drc-datenfreigabe__group {
  border-bottom: 2px solid #e0e0e0;
}
.zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table--grouped tr.drc-datenfreigabe__group-head th {
  background: #edf5e6 !important;
  border-top: 2px solid #8AC640;
  color: #29451a;
  text-align: left !important;
  padding: 10px 12px;
  vertical-align: middle;
}
.drc-datenfreigabe__table--grouped .drc-datenfreigabe__group--gemeinschaft tr.drc-datenfreigabe__group-head th {
  background: #e3f0d5 !important;
}
.drc-datenfreigabe__group-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.drc-datenfreigabe__group-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 400;
  color: #555;
}
.drc-datenfreigabe__group-org {
  color: #666;
}
.drc-datenfreigabe__group-adresse {
  color: #666;
}
.drc-datenfreigabe__group-kontakt {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.drc-datenfreigabe__group-name {
  font-size: 16px;
  font-weight: 700;
  color: #4A7C1F;
}
.drc-datenfreigabe__group-name--empty {
  color: #888;
  font-style: italic;
  font-weight: 600;
}
.drc-datenfreigabe__group-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  background: #6B9F2E;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  vertical-align: middle;
}
.drc-datenfreigabe__group-badge--sm {
  margin-left: 8px;
  padding: 1px 8px;
  background: #8AC640;
}
.drc-datenfreigabe__group-rassen {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
}

/* ==========================================================================
   Vereinsorgane-Plugin (organisationszentriertes Organigramm)
   ========================================================================== */
.drc-organe {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
}
/* Typ-Abschnitt (Bund / Landesgruppen / Bezirksgruppen / Gremien) */
.drc-organe__sektion {
  margin: 0 0 12px 0;
}
.drc-organe__sektion + .drc-organe__sektion {
  margin-top: 34px;
}
.drc-organe__sektion-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px 0;
  padding: 0 0 8px 0;
  color: #4A7C1F;
  font-size: 22px;
  font-weight: 700;
  border: 0;
  border-bottom: 2px solid #cfe0b0;
}
.drc-organe__sektion-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  padding: 0 8px;
  background: #8AC640;
  color: #fff;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 700;
}
.drc-organe__sektion--Gremium .drc-organe__sektion-title {
  color: #8a6d10;
  border-bottom-color: #e6d7a0;
}
.drc-organe__sektion--Gremium .drc-organe__sektion-count {
  background: #c9a227;
}
.drc-organe__card {
  border: 1px solid #d4d9cf;
  border-left: 5px solid #8AC640;
  border-radius: 8px;
  margin: 0 0 28px 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(74, 124, 31, 0.08);
}
.drc-organe__header {
  background: #eaf3d8;
  border-bottom: 2px solid #8AC640;
  padding: 16px 20px;
}
/* Organ-Typen farblich klar unterscheiden (linker Akzent + Header) */
.drc-organe__card--Bund {
  border-left-color: #4A7C1F;
}
.drc-organe__card--Bund > .drc-organe__header {
  background: #dcecc4;
}
.drc-organe__card--Landesgruppe {
  border-left-color: #6B9F2E;
}
.drc-organe__card--Landesgruppe > .drc-organe__header {
  background: #eef5e0;
}
.drc-organe__card--Bezirksgruppe {
  border-left-color: #9ecb63;
}
.drc-organe__card--Bezirksgruppe > .drc-organe__header {
  background: #f2f8e8;
}
.drc-organe__card--Gremium {
  border-left-color: #c9a227;
}
.drc-organe__card--Gremium > .drc-organe__header {
  background: #f8f3df;
}
.drc-organe__card--Gremium .drc-organe__name {
  color: #8a6d10;
}
.drc-organe__card--Gremium .drc-organe__typ {
  color: #a9861c;
}
.drc-organe__name {
  margin: 0;
  color: #4A7C1F;
  font-size: 20px;
  font-weight: 700;
  border: 0;
  padding: 0;
}
.drc-organe__card--Landesgruppe .drc-organe__name,
.drc-organe__card--Bezirksgruppe .drc-organe__name,
.drc-organe__card--Gremium .drc-organe__name {
  font-size: 18px;
}
.drc-organe__typ {
  display: inline-block;
  margin-top: 4px;
  color: #6B9F2E;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.drc-organe__adresse,
.drc-organe__website {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #555;
}
.drc-organe__ebene {
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
}
.drc-organe__ebene:last-child {
  border-bottom: 0;
}
.drc-organe__ebene-title {
  margin: 0 0 10px 0;
  color: #4A7C1F;
  font-size: 15px;
  font-weight: 700;
  border: 0;
  padding: 0;
}
.drc-organe__mitglieder {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.drc-organe__mitglied {
  padding: 10px 12px;
  background: #f7f7f7;
  border-radius: 6px;
  font-size: 14px;
}
.drc-organe__funktion {
  display: block;
  font-weight: 700;
  color: #333;
}
.drc-organe__person {
  display: block;
  margin-top: 2px;
}
.drc-organe__themen {
  display: block;
  margin-top: 2px;
  color: #666;
  font-size: 12px;
}
.drc-organe__rollen-email {
  display: block;
  margin-top: 2px;
  font-size: 13px;
}
.drc-organe__herkunft {
  display: block;
  margin-top: 2px;
  color: #3454a3;
  font-size: 12px;
  font-style: italic;
}
.drc-organe__tag--entsendet {
  background: #3454a3;
}
.drc-organe__mitglied .drc-datenfreigabe__komm {
  margin-top: 4px;
}
.drc-organe__gruppe {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #eee;
}
.drc-organe__gruppe-title {
  margin: 0 0 8px 0;
  padding: 0 0 4px 0;
  color: #6B9F2E;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid #e6efd8;
}
.drc-organe__mitglied--vakant {
  background: #fafafa;
  border: 1px dashed #d8d8d8;
}
.drc-organe__person--vakant {
  color: #999;
  font-style: italic;
}

/* ==========================================================================
   Kontaktvermittlung: Button + Dialog (Modal)
   ========================================================================== */
.drc-datenfreigabe__kontakt-btn {
  display: inline-block;
  margin-top: 8px;
  background: #6B9F2E;
  color: #fff;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.drc-datenfreigabe__kontakt-btn:hover {
  background: #4A7C1F;
}

body.drc-datenfreigabe-modal-open {
  overflow: hidden;
}

.drc-datenfreigabe__modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 16px;
  overflow-y: auto;
}
.drc-datenfreigabe__modal[hidden] {
  display: none;
}
.drc-datenfreigabe__modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.drc-datenfreigabe__modal-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 520px;
  margin: auto 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
  padding: 24px;
}
.drc-datenfreigabe__modal-x {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: 0;
  font-size: 26px;
  line-height: 1;
  color: #888;
  cursor: pointer;
}
.drc-datenfreigabe__modal-x:hover {
  color: #333;
}
.drc-datenfreigabe__modal-title {
  margin: 0 0 10px 0;
  color: #4A7C1F;
  font-size: 20px;
  font-weight: 700;
  border: 0;
  padding: 0;
  text-align: left;
}
.drc-datenfreigabe__modal-intro {
  margin: 0 0 16px 0;
  font-size: 14px;
  color: #555;
}
.drc-datenfreigabe__modal-feedback {
  margin: 0 0 14px 0;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 14px;
}
.drc-datenfreigabe__modal-feedback--info {
  background: #eef5e2;
  color: #4A7C1F;
}
.drc-datenfreigabe__modal-feedback--success {
  background: #e3f3d6;
  color: #2f6b12;
  font-weight: 600;
}
.drc-datenfreigabe__modal-feedback--error {
  background: #fbe4e4;
  color: #a12626;
}
.drc-datenfreigabe__field {
  margin-bottom: 12px;
  text-align: left;
}
.drc-datenfreigabe__field label {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
}
.drc-datenfreigabe__field input,
.drc-datenfreigabe__field textarea {
  width: 100%;
  padding: 8px 10px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font: inherit;
  color: #333;
  box-sizing: border-box;
}
.drc-datenfreigabe__field input:focus,
.drc-datenfreigabe__field textarea:focus {
  outline: none;
  border-color: #6B9F2E;
}
.drc-datenfreigabe__field input.is-invalid,
.drc-datenfreigabe__field textarea.is-invalid {
  border-color: #cc3a3a;
}
.drc-datenfreigabe__field-error {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: #a12626;
}
.drc-datenfreigabe__field-hint {
  margin: 4px 0 10px 0;
  font-size: 12px;
  color: #777;
}
/* Honeypot: für Menschen unsichtbar, aber im DOM vorhanden. */
.drc-datenfreigabe__hp {
  position: absolute !important;
  left: -9999px !important;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.drc-datenfreigabe__modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}
.drc-datenfreigabe__btn-primary {
  background: #6B9F2E;
  color: #fff;
  border: none;
  padding: 9px 20px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
}
.drc-datenfreigabe__btn-primary:hover:not([disabled]) {
  background: #4A7C1F;
}
.drc-datenfreigabe__btn-primary[disabled] {
  background: #a9c98a;
  cursor: default;
}
.drc-datenfreigabe__btn-secondary {
  background: #fff;
  color: #555;
  border: 2px solid #ccc;
  padding: 7px 18px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
}
.drc-datenfreigabe__btn-secondary:hover {
  border-color: #999;
  color: #333;
}

/* ==========================================================================
   Hunde-Plugin (Deckrüden / Zuchthündinnen) — Karten + Detail
   ========================================================================== */
/* Toolbar mit Ansicht-Umschalter (Karten / Tabelle) */
.drc-hunde__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 4px 0 12px;
}
.drc-hunde__toolbar-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.9rem;
  color: #2c3e16;
  cursor: pointer;
  user-select: none;
}
.drc-hunde__toolbar-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #6B9F2E;
  cursor: pointer;
}
.drc-hunde__viewswitch {
  display: inline-flex;
  border: 1px solid #c4d4ad;
  border-radius: 6px;
  overflow: hidden;
}
.drc-hunde__viewswitch-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border: 0;
  background: #fff;
  color: #5a6b4a;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}
.drc-hunde__viewswitch-btn + .drc-hunde__viewswitch-btn {
  border-left: 1px solid #c4d4ad;
}
.drc-hunde__viewswitch-btn:hover {
  background: #f3f8ea;
  color: #2c3e16;
}
.drc-hunde__viewswitch-btn.is-active {
  background: #6B9F2E;
  color: #fff;
}
.drc-hunde__viewswitch-icon {
  font-size: 1rem;
  line-height: 1;
}

/* Umschaltung Karten <-> Tabelle (rein clientseitig per Klasse am App-Container) */
.drc-hunde__table-wrap {
  display: none;
}
.drc-hunde.is-view-table .drc-hunde__grid {
  display: none;
}
.drc-hunde.is-view-table .drc-hunde__table-wrap {
  display: block;
  margin: 16px 0 24px;
  overflow-x: auto;
}

/* Erweiterte Hundesuche: gleiche Umschaltung, eigener Container .drc-hundesuche */
.drc-hundesuche.is-view-table .drc-hunde__grid,
.drc-hundesuche.is-view-table .drc-hundesuche__grid {
  display: none;
}
.drc-hundesuche.is-view-table .drc-hunde__table-wrap {
  display: block;
  margin: 16px 0 24px;
  overflow-x: auto;
}

/* Tabellensicht */
.drc-hunde__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  text-align: left;
}
.drc-hunde__table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f3f8ea;
  color: #2c3e16;
  font-weight: 700;
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid #8AC640;
  white-space: nowrap;
}
.drc-hunde__table tbody th,
.drc-hunde__table tbody td {
  padding: 9px 12px;
  border-bottom: 1px solid #e6ebdd;
  vertical-align: middle;
  color: #3a3a3a;
}
.drc-hunde__table tbody tr:hover {
  background: #f8fbf3;
}
.drc-hunde__table-name {
  font-weight: 600;
  white-space: nowrap;
}
.drc-hundesuche__table-thumb-cell {
  width: 68px;
}
.drc-hundesuche__table-thumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #eef4e4;
  overflow: hidden;
  cursor: pointer;
  vertical-align: middle;
}
.drc-hundesuche__table-thumb.is-empty {
  background: linear-gradient(135deg, #eef4e4 0%, #dceac6 100%);
}
.drc-hundesuche__table-thumb-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.drc-hundesuche__table-thumb-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #eef4e4 0%, #dceac6 100%);
}
.drc-hunde__table-name a {
  color: #2c3e16;
  text-decoration: none;
}
.drc-hunde__table-name a:hover {
  color: #6B9F2E;
}
.drc-hunde__table .drc-hunde__badge--inline {
  position: static;
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
}
.drc-hunde__table-action {
  white-space: nowrap;
  text-align: right;
}
.drc-hunde__visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.drc-hunde__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin: 16px 0 24px;
}

.drc-hunde__card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.drc-hunde__card:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.drc-hunde__card-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  background: #f0f4ea;
  overflow: hidden;
}
.drc-hunde__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.drc-hunde__card-media--empty {
  display: block;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(135deg, #eef4e4 0%, #dceac6 100%);
}
.drc-hunde__badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #6B9F2E;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 3px 8px;
  border-radius: 3px;
}

.drc-hunde__card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px 16px;
  text-align: left;
}
.drc-hunde__card-title {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.25;
}
.drc-hunde__card-title a {
  color: #2c3e16;
  text-decoration: none;
}
.drc-hunde__card-title a:hover {
  color: #6B9F2E;
}

.drc-hunde__facts {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  font-size: 0.86rem;
}
.drc-hunde__fact {
  display: contents;
}
.drc-hunde__fact dt {
  color: #6c757d;
  font-weight: 600;
}
.drc-hunde__fact dd {
  margin: 0;
  color: #333;
}

.drc-hunde__person {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed #e0e0e0;
  font-size: 0.85rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}
.drc-hunde__person-rolle {
  color: #6c757d;
  font-weight: 600;
}
.drc-hunde__person-name {
  color: #333;
}
.drc-hunde__person-zwinger {
  color: #6B9F2E;
}

.drc-hunde__card-actions {
  margin: 6px 0 0;
}
.drc-hunde__detail-link {
  color: #6B9F2E;
  font-weight: 600;
  text-decoration: none;
}
.drc-hunde__detail-link:hover {
  text-decoration: underline;
}

.drc-datenfreigabe__kontakt-btn--small {
  padding: 3px 10px;
  font-size: 0.78rem;
}

.drc-datenfreigabe__empty {
  padding: 18px;
  text-align: left;
  color: #6c757d;
  background: #f8f9fa;
  border-radius: 6px;
}

/* Detailansicht ------------------------------------------------------------ */
.drc-hunde__back {
  margin: 0 0 16px;
}
.drc-hunde__back-link {
  color: #6B9F2E;
  text-decoration: none;
  font-weight: 600;
}
.drc-hunde__back-link:hover {
  text-decoration: underline;
}

.drc-hunde__detail {
  text-align: left;
}
.drc-hunde__detail-header {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 20px;
}
.drc-hunde__detail-media {
  flex: 0 0 280px;
  max-width: 280px;
}
.drc-hunde__detail-img {
  width: 100%;
  border-radius: 8px;
  display: block;
}
.drc-hunde__detail-caption {
  margin: 6px 0 0;
  font-size: 0.8rem;
  color: #6c757d;
}
.drc-hunde__detail-headtext {
  flex: 1 1 260px;
}
.drc-hunde__detail-title {
  margin: 0 0 4px;
  color: #2c3e16;
}
.drc-hunde__detail-sub {
  margin: 0;
  color: #6c757d;
}

.drc-hunde__detail-section {
  margin: 0 0 22px;
}
.drc-hunde__detail-section h3 {
  margin: 0 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #8AC640;
  color: #2c3e16;
  font-size: 1.05rem;
}
.drc-hunde__facts--detail {
  grid-template-columns: minmax(140px, auto) 1fr;
  font-size: 0.92rem;
  gap: 6px 16px;
}

.drc-hunde__parents {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.drc-hunde__parent {
  flex: 1 1 220px;
  padding: 12px 14px;
  background: #f8f9fa;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.drc-hunde__parent-rolle {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6c757d;
}
.drc-hunde__parent a {
  color: #2c3e16;
  font-weight: 600;
  text-decoration: none;
}
.drc-hunde__parent a:hover {
  color: #6B9F2E;
}
.drc-hunde__parent-zb {
  font-size: 0.82rem;
  color: #6c757d;
}

.drc-hunde__taglist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.drc-hunde__taglist li {
  background: #eef4e4;
  color: #2c3e16;
  padding: 5px 12px;
  border-radius: 14px;
  font-size: 0.85rem;
}

/* ============================================================
   Ahnentafel & Inzuchtkoeffizient (Plugin „Ahnentafel")
   ============================================================ */
.drc-ahnentafel {
  text-align: left;
  /* Variablen für das wiederverwendete Hundesuche-Detail-Sheet/-Datenblatt. */
  --hs-green: #6B9F2E;
  --hs-green-dark: #4A7C1F;
  --hs-green-light: #8AC640;
  --hs-bg-soft: #f4f8ee;
  --hs-border: #d8e3c8;
  --hs-text-muted: #5a6b4a;
}

/* Ahnentafel-Link in der Hunde-Detailsicht */
.drc-hunde__detail-ahnentafel {
  margin: 16px 0 0;
}
.drc-hunde__ahnentafel-btn {
  display: inline-block;
  padding: 9px 16px;
  background: #6B9F2E;
  color: #ffffff;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
}
.drc-hunde__ahnentafel-btn:hover {
  background: #4A7C1F;
  color: #ffffff;
}

/* ZB-Nr.-Suche */
.drc-ahnentafel__suche,
.drc-ahnentafel__neuberechnung,
.drc-ahnentafel__testpaarung {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
}
.drc-ahnentafel__suche-label,
.drc-ahnentafel__neuberechnung label,
.drc-ahnentafel__testpaarung label {
  font-weight: 600;
  color: #2c3e16;
}
.drc-ahnentafel__suche input[type="text"],
.drc-ahnentafel__testpaarung input[type="text"] {
  padding: 7px 10px;
  border: 1px solid #c4d4ad;
  border-radius: 6px;
  font-size: 0.92rem;
  min-width: 180px;
}
.drc-ahnentafel__neuberechnung input[type="number"] {
  width: 70px;
  padding: 7px 8px;
  border: 1px solid #c4d4ad;
  border-radius: 6px;
  font-size: 0.92rem;
}
.drc-ahnentafel__suche-hinweis {
  font-size: 0.82rem;
  color: #6c757d;
}

.drc-ahnentafel__titel {
  margin: 4px 0 14px;
  font-size: 1rem;
  color: #2c3e16;
}

/* Legende der Mehrfach-Ahnen */
.drc-ahnentafel__legende {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  padding: 12px 14px;
  background: #f6f9ef;
  border: 1px solid #e0ead0;
  border-radius: 8px;
}
.drc-ahnentafel__legende-titel {
  font-weight: 600;
  color: #2c3e16;
}
.drc-ahnentafel__legende-hint {
  font-weight: 400;
  font-size: 0.78rem;
  color: #6c757d;
}
.drc-ahnentafel__legende-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 4px 10px 4px 6px;
  border-radius: 14px;
  font: inherit;
  font-size: 0.82rem;
  color: #2c3e16;
  border: 1px solid rgba(0, 0, 0, 0.12);
  cursor: pointer;
  transition: box-shadow 0.12s ease, transform 0.06s ease;
}
.drc-ahnentafel__legende-item:hover {
  box-shadow: 0 1px 4px rgba(44, 62, 22, 0.18);
}
.drc-ahnentafel__legende-item:focus-visible {
  outline: 2px solid #4A7C1F;
  outline-offset: 1px;
}
.drc-ahnentafel__legende-item:active {
  transform: translateY(1px);
}
.drc-ahnentafel__legende-pos {
  font-weight: 700;
  font-size: 0.74rem;
  color: #2c3e16;
}
.drc-ahnentafel__legende-pos:empty {
  display: none;
}
.drc-ahnentafel__legende-nr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.18);
  font-weight: 700;
  font-size: 0.72rem;
}

/* Ausrichtungs-Umschalter (analog Karten/Tabelle der Hundeliste, linksbündig) */
.drc-ahnentafel__toolbar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 4px 0 12px;
}
.drc-ahnentafel__viewswitch {
  display: inline-flex;
  border: 1px solid #c4d4ad;
  border-radius: 6px;
  overflow: hidden;
}
.drc-ahnentafel__viewswitch-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border: 0;
  background: #fff;
  color: #5a6b4a;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}
.drc-ahnentafel__viewswitch-btn + .drc-ahnentafel__viewswitch-btn {
  border-left: 1px solid #c4d4ad;
}
.drc-ahnentafel__viewswitch-btn:hover {
  background: #f3f8ea;
  color: #2c3e16;
}
.drc-ahnentafel__viewswitch-btn.is-active {
  background: #6B9F2E;
  color: #fff;
}
.drc-ahnentafel__viewswitch-icon {
  font-size: 1rem;
  line-height: 1;
}

/* Tafel: klassisches Spalten-Raster (Generationen als Spalten), gleichmäßige
   kompakte Kästchen mit Klammer-/Verbindungslinien – wie die DRC-Datenbank. */
/* Eigenes Scroll-Fenster fuer die Tafel: scrollt horizontal UND vertikal in
   sich selbst. Dadurch wirken die sticky-Boxen relativ zu DIESEM Fenster (ein
   horizontaler overflow erzwingt sonst overflow-y:auto und kapert das Sticky).
   So bleiben Hund, Eltern, Grosseltern beim Scrollen oben/unten angedockt. */
.drc-ahnentafel__baum-scroll {
  position: relative;
  overflow: auto;
  max-height: min(78vh, 760px);
  padding: 4px 2px 10px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #bcd29a transparent;
}
.drc-ahnentafel__baum-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.drc-ahnentafel__baum-scroll::-webkit-scrollbar-thumb {
  background: #c4d4ad;
  border-radius: 6px;
}
.drc-ahnentafel__baum {
  display: inline-flex;
  align-items: stretch;
}
.drc-ahnentafel__knoten {
  display: flex;
  align-items: center;
}
/* Eltern-Spalte füllt die Knotenhöhe und verteilt beide Zweige gleichmäßig
   -> über alle Generationen ein einheitliches Raster. */
.drc-ahnentafel__eltern {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  position: relative;
  padding-left: 22px;
}
/* waagerechte Linie vom Eltern-Kästchen zur senkrechten Sammelschiene */
.drc-ahnentafel__eltern::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 11px;
  border-top: 1px solid #bcd29a;
}
/* senkrechte Sammelschiene zwischen Vater- und Mutter-Mitte (25 %–75 %) */
.drc-ahnentafel__eltern::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 25%;
  height: 50%;
  border-left: 1px solid #bcd29a;
}
.drc-ahnentafel__zweig {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  position: relative;
}
/* waagerechte Linie von der Sammelschiene zum Kind-Kästchen */
.drc-ahnentafel__zweig::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 50%;
  width: 11px;
  border-top: 1px solid #bcd29a;
}

/* ===========================================================================
   Layout „Fächer“ (split): Wurzel mittig, Mutter-Linie links / Vater-Linie
   rechts. Spart vertikalen Platz (Tafelhöhe halbiert). Gleiches Markup wie
   Horizontal – nur per Klasse umgeschaltet. Boxen-Inhalt bleibt linksbündig.
   =========================================================================== */
.drc-ahnentafel__baum.is-layout-split {
  align-items: center;
}
.is-layout-split .drc-ahnentafel__knoten--wurzel {
  align-items: center;
}
/* Wurzel-Eltern auflösen – beide Zweige werden direkte Flex-Kinder der
   Wurzelzeile und lassen sich links/rechts der Wurzel-Box anordnen. */
.is-layout-split .drc-ahnentafel__eltern--wurzel {
  display: contents;
}
.is-layout-split .drc-ahnentafel__eltern--wurzel > .drc-ahnentafel__zweig {
  flex: 0 0 auto;
}
.is-layout-split .drc-ahnentafel__box--wurzel {
  order: 0;
}
.is-layout-split .drc-ahnentafel__eltern--wurzel > .drc-ahnentafel__zweig--vater {
  order: 1;
  margin-left: 12px;
}
.is-layout-split .drc-ahnentafel__eltern--wurzel > .drc-ahnentafel__zweig--mutter {
  order: -1;
  margin-right: 12px;
}
/* Wurzel-Anbindung der (linken) Mutter-Seite auf die rechte Kante spiegeln. */
.is-layout-split .drc-ahnentafel__eltern--wurzel > .drc-ahnentafel__zweig--mutter::before {
  left: auto;
  right: -11px;
}

/* Mutter-Teilbaum komplett spiegeln: wächst nach links. row-reverse dreht nur
   die Box-Anordnung (Box zur Mitte, Ahnen nach außen) – der Text in den Boxen
   bleibt unberührt und damit linksbündig. Verbindungslinien werden gespiegelt. */
.is-layout-split .drc-ahnentafel__zweig--mutter .drc-ahnentafel__knoten {
  flex-direction: row-reverse;
}
.is-layout-split .drc-ahnentafel__zweig--mutter .drc-ahnentafel__eltern {
  padding-left: 0;
  padding-right: 22px;
}
.is-layout-split .drc-ahnentafel__zweig--mutter .drc-ahnentafel__eltern::before {
  left: auto;
  right: 0;
}
.is-layout-split .drc-ahnentafel__zweig--mutter .drc-ahnentafel__eltern::after {
  left: auto;
  right: 11px;
}
.is-layout-split .drc-ahnentafel__zweig--mutter .drc-ahnentafel__zweig::before {
  left: auto;
  right: -11px;
}

/* Ahnen-Box – kompakt und einheitlich (max. 3 Zeilen).
   position: sticky mit top UND bottom -> die Box bleibt sichtbar, solange ihr
   Teilbaum (der umschliessende .knoten) im Scroll-Fenster ist: sie dockt beim
   Runterscrollen oben an, beim Hochscrollen unten, und sitzt mittig (an den
   Verbindungslinien), wenn der Teilbaum zentriert im Blick ist. */
.drc-ahnentafel__box {
  position: sticky;
  top: 8px;
  bottom: 8px;
  z-index: 3;
  box-sizing: border-box;
  width: 152px;
  margin: 2px 0;
  padding: 4px 7px;
  background: #ffffff;
  border: 1px solid #8AC640;
  border-left: 3px solid #6B9F2E;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(44, 62, 22, 0.07);
  font-size: 0.68rem;
  line-height: 1.2;
}
.drc-ahnentafel__box:not(.drc-ahnentafel__box--wurzel) {
  width: 190px;
}
.drc-ahnentafel__box--wurzel {
  border-color: #4A7C1F;
  border-left-width: 4px;
  background: #f3f8ea;
  width: 210px;
  z-index: 4;
}

/* Kurz aufleuchtende Hervorhebung beim Anspringen eines Mehrfach-Ahnen. */
@keyframes drcAtFlash {
  0%   { box-shadow: 0 0 0 0 rgba(241, 196, 15, 0); }
  12%  { box-shadow: 0 0 0 4px rgba(241, 196, 15, 0.9), 0 0 16px 5px rgba(241, 196, 15, 0.55); }
  45%  { box-shadow: 0 0 0 2px rgba(241, 196, 15, 0); }
  60%  { box-shadow: 0 0 0 4px rgba(241, 196, 15, 0.9), 0 0 16px 5px rgba(241, 196, 15, 0.55); }
  100% { box-shadow: 0 0 0 2px rgba(241, 196, 15, 0); }
}
.drc-ahnentafel__box--flash {
  animation: drcAtFlash 1.5s ease-in-out;
  z-index: 6;
}
@media (prefers-reduced-motion: reduce) {
  .drc-ahnentafel__box--flash {
    animation: none;
    box-shadow: 0 0 0 3px rgba(241, 196, 15, 0.9);
  }
}
/* Leere „unbekannt"-Blaetter haben keinen Teilbaum -> kein Sticky-Spielraum. */
.drc-ahnentafel__box--leer {
  position: static;
  box-shadow: none;
  display: flex;
  align-items: center;
  min-height: 26px;
  border-style: dashed;
  border-left-color: #c4d4ad;
  color: #9aa897;
  background: #fafbf7;
  font-style: italic;
}
.drc-ahnentafel__box-name {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  color: #2c3e16;
  font-size: 0.72rem;
}
/* Name öffnet das Detail-Popup (Schnell-Datenblatt). */
.drc-ahnentafel__box-namebtn {
  flex: 1 1 auto;
  min-width: 0;
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px dotted #6B9F2E;
  background: transparent;
  font: inherit;
  font-weight: 700;
  color: #2c3e16;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.drc-ahnentafel__box-namebtn:hover,
.drc-ahnentafel__box-namebtn:focus-visible {
  color: #4A7C1F;
  border-bottom-style: solid;
}
/* Kleines Symbol: Navigation in die Ahnentafel dieses Hundes. */
.drc-ahnentafel__box-atlink {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 4px;
  color: #6B9F2E;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.drc-ahnentafel__box-atlink:hover,
.drc-ahnentafel__box-atlink:focus-visible {
  background: #eef5e0;
  color: #4A7C1F;
}
.drc-ahnentafel__box-aticon {
  display: block;
}
.drc-ahnentafel__box-meta,
.drc-ahnentafel__box-zb {
  margin: 1px 0 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 0 6px;
  overflow: hidden;
  color: #5a6b4a;
  font-size: 0.63rem;
  white-space: nowrap;
}
.drc-ahnentafel__box-meta > span,
.drc-ahnentafel__box-zb > span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.drc-ahnentafel__box-zb {
  color: #6c757d;
}
.drc-ahnentafel__box-titel {
  flex: 0 1 auto;
  color: #6B9F2E;
  font-weight: 600;
}
.drc-ahnentafel__dup-marke {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 15px;
  height: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  color: #ffffff;
  background: #2c3e16;
  box-shadow: 0 0 0 2px #ffffff;
}

/* Mehrfach-Ahnen: kräftiger Rahmen + eigene Farbe je distinct-Ahn */
.drc-ahnentafel__box.is-dup {
  border-width: 1px;
  border-left-width: 6px;
}
.drc-ahnentafel__dup-1  { border-color: #c0392b; border-left-color: #c0392b; background: #fdecea; }
.drc-ahnentafel__dup-2  { border-color: #2980b9; border-left-color: #2980b9; background: #eaf2fb; }
.drc-ahnentafel__dup-3  { border-color: #d68910; border-left-color: #d68910; background: #fef5e7; }
.drc-ahnentafel__dup-4  { border-color: #8e44ad; border-left-color: #8e44ad; background: #f5eefa; }
.drc-ahnentafel__dup-5  { border-color: #16a085; border-left-color: #16a085; background: #e8f8f5; }
.drc-ahnentafel__dup-6  { border-color: #c0399b; border-left-color: #c0399b; background: #fbeaf6; }
.drc-ahnentafel__dup-7  { border-color: #2c3e50; border-left-color: #2c3e50; background: #ebedef; }
.drc-ahnentafel__dup-8  { border-color: #a04000; border-left-color: #a04000; background: #f9ece4; }
.drc-ahnentafel__dup-9  { border-color: #117a65; border-left-color: #117a65; background: #e6f4f1; }
.drc-ahnentafel__dup-10 { border-color: #5b2c6f; border-left-color: #5b2c6f; background: #f0e9f3; }
.drc-ahnentafel__dup-11 { border-color: #b03a2e; border-left-color: #b03a2e; background: #fbeae8; }
.drc-ahnentafel__dup-12 { border-color: #1f618d; border-left-color: #1f618d; background: #e9f0f6; }
.drc-ahnentafel__dup-13 { border-color: #7d6608; border-left-color: #7d6608; background: #f7f5e6; }
.drc-ahnentafel__dup-14 { border-color: #6c3483; border-left-color: #6c3483; background: #f2ebf5; }
.drc-ahnentafel__dup-15 { border-color: #0e6655; border-left-color: #0e6655; background: #e5f3f0; }
.drc-ahnentafel__dup-16 { border-color: #922b21; border-left-color: #922b21; background: #fbe9e7; }

/* Legenden-Chips erben dieselben Farben */
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-1  { background: #fdecea; border-color: #c0392b; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-2  { background: #eaf2fb; border-color: #2980b9; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-3  { background: #fef5e7; border-color: #d68910; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-4  { background: #f5eefa; border-color: #8e44ad; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-5  { background: #e8f8f5; border-color: #16a085; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-6  { background: #fbeaf6; border-color: #c0399b; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-7  { background: #ebedef; border-color: #2c3e50; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-8  { background: #f9ece4; border-color: #a04000; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-9  { background: #e6f4f1; border-color: #117a65; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-10 { background: #f0e9f3; border-color: #5b2c6f; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-11 { background: #fbeae8; border-color: #b03a2e; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-12 { background: #e9f0f6; border-color: #1f618d; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-13 { background: #f7f5e6; border-color: #7d6608; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-14 { background: #f2ebf5; border-color: #6c3483; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-15 { background: #e5f3f0; border-color: #0e6655; }
.drc-ahnentafel__legende-item.drc-ahnentafel__dup-16 { background: #fbe9e7; border-color: #922b21; }

/* Inzuchtkoeffizient-Block */
.drc-ahnentafel__coi {
  margin: 18px 0 16px;
  padding: 14px 16px;
  background: #f3f8ea;
  border: 1px solid #c4d4ad;
  border-radius: 8px;
}
.drc-ahnentafel__coi-wert {
  margin: 0 0 4px;
  font-size: 1.02rem;
  color: #2c3e16;
}
.drc-ahnentafel__coi-info {
  margin: 0;
  font-size: 0.85rem;
  color: #5a6b4a;
}

/* Werkzeuge (Neuberechnung / Verpaarungsplaner) */
.drc-ahnentafel__werkzeuge {
  margin-top: 8px;
  padding-top: 14px;
  border-top: 1px solid #e0ead0;
}
.drc-ahnentafel__hinweis {
  margin: 4px 0 0;
  padding: 10px 12px;
  background: #fff8e1;
  border: 1px solid #f0d98a;
  border-radius: 6px;
  font-size: 0.85rem;
  color: #6b5a16;
}

/* Verpaarungsplaner – Ergebnis (linksbündig) */
.drc-ahnentafel__verpaarung {
  margin: 10px 0 0;
  padding: 16px;
  background: #f6f9ef;
  border: 1px solid #d5e3bf;
  border-left: 4px solid #6B9F2E;
  border-radius: 8px;
  text-align: left;
}
.drc-ahnentafel__verpaarung-titel {
  margin: 0 0 14px;
  font-size: 1.02rem;
  color: #2c3e16;
}
.drc-ahnentafel__verpaarung-eltern {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 14px;
  margin: 0 0 16px;
}
.drc-ahnentafel__verpaarung-elter {
  flex: 1 1 220px;
  min-width: 200px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #d5e3bf;
  border-radius: 6px;
}
.drc-ahnentafel__verpaarung-rolle {
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 9px;
  background: #6B9F2E;
  color: #ffffff;
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.drc-ahnentafel__verpaarung-foto {
  display: block;
  width: 100%;
  max-width: 160px;
  height: auto;
  margin: 4px 0 8px;
  border-radius: 5px;
}
.drc-ahnentafel__verpaarung-name {
  margin: 4px 0 4px;
  font-size: 0.98rem;
  font-weight: 600;
  color: #2c3e16;
}
.drc-ahnentafel__verpaarung-name a {
  color: #4A7C1F;
  text-decoration: none;
}
.drc-ahnentafel__verpaarung-name a:hover {
  text-decoration: underline;
}
.drc-ahnentafel__verpaarung-elter-meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  font-size: 0.8rem;
  color: #5a6b4a;
}
.drc-ahnentafel__verpaarung-x {
  align-self: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: #8aa56a;
}
.drc-ahnentafel__verpaarung-coi {
  margin: 0 0 14px;
}
.drc-ahnentafel__verpaarung-coi-wert {
  margin: 0 0 4px;
  font-size: 0.96rem;
  color: #2c3e16;
}
.drc-ahnentafel__verpaarung-coi-wert strong {
  color: #3f6b1a;
}
.drc-ahnentafel__verpaarung-meta {
  margin: 0;
  font-size: 0.82rem;
  color: #5a6b4a;
}
.drc-ahnentafel__verpaarung-ahnen {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid #e0ead0;
}
.drc-ahnentafel__verpaarung-ahnen-titel {
  display: block;
  margin-bottom: 8px;
  font-size: 0.86rem;
  font-weight: 600;
  color: #2c3e16;
}
.drc-ahnentafel__verpaarung-ahnen-liste {
  list-style: none;
  margin: 0;
  padding: 0;
}
.drc-ahnentafel__verpaarung-ahn {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  padding: 5px 0;
  border-bottom: 1px solid #eef3e4;
  font-size: 0.85rem;
}
.drc-ahnentafel__verpaarung-ahn:last-child {
  border-bottom: none;
}
.drc-ahnentafel__verpaarung-ahn-name {
  flex: 1 1 auto;
  font-weight: 600;
  color: #2c3e16;
}
.drc-ahnentafel__verpaarung-ahn-name a {
  color: #4A7C1F;
  text-decoration: none;
}
.drc-ahnentafel__verpaarung-ahn-name a:hover {
  text-decoration: underline;
}
.drc-ahnentafel__verpaarung-ahn-zb {
  color: #6c757d;
  font-size: 0.8rem;
}
.drc-ahnentafel__verpaarung-ahn-beitrag {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #3f6b1a;
}
.drc-ahnentafel__verpaarung-fehler {
  text-align: left;
}



/* ============================================================
   Ansichtsumschaltung Tabelle / Karte + Leaflet-Kartenansicht
   ============================================================ */
.drc-datenfreigabe__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.drc-datenfreigabe__toolbar .drc-datenfreigabe__filter {
  flex: 1 1 auto;
  margin-bottom: 0;
}
.drc-datenfreigabe__viewswitch {
  display: flex;
  gap: 6px;
  margin: 0 0 0 auto; /* rechtsbuendig auf der Toolbar-Zeile */
}
.drc-datenfreigabe__viewbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 38px;
  height: 38px;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.2;
  color: #4A7C1F;
  background-color: #ffffff;
  border: 1px solid #8AC640;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.drc-datenfreigabe__viewbtn:hover {
  background-color: #e8f5e0;
}
.drc-datenfreigabe__viewbtn.is-active {
  color: #ffffff;
  background-color: #8AC640;
  border-color: #6B9F2E;
}
.drc-datenfreigabe__viewicon {
  font-size: 1rem;
  line-height: 1;
}

.drc-datenfreigabe__mapwrap {
  position: relative;
  margin-top: 6px;
}
.drc-datenfreigabe__mapinfo {
  margin-bottom: 8px;
  font-size: 0.85rem;
  color: #5a6b4a;
}
.drc-datenfreigabe__map {
  width: 100%;
  height: 520px;
  max-height: 70vh;
  border: 1px solid #cdd8c0;
  border-radius: 6px;
  background-color: #eef2e8;
  z-index: 0;
}
.drc-datenfreigabe__maphint {
  margin: 8px 0 0;
  font-size: 0.78rem;
  color: #7a8a6a;
}
.drc-datenfreigabe__mapwrap.is-loading .drc-datenfreigabe__map {
  opacity: 0.6;
}

/* PLZ-Aggregat-Marker (Badge mit Anzahl) */
.drc-df-marker {
  background: transparent;
  border: 0;
}
.drc-df-marker__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #8AC640;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* Marker-Popup */
.drc-df-pop {
  font-size: 0.85rem;
  color: #2c3a1c;
}
.drc-df-pop__head {
  margin-bottom: 6px;
  font-weight: 700;
  color: #4A7C1F;
}
.drc-df-pop__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.drc-df-pop__list li {
  padding: 4px 0;
  border-top: 1px solid #eef2e8;
}
.drc-df-pop__list li:first-child {
  border-top: 0;
}
.drc-df-pop__title {
  font-weight: 600;
}
.drc-df-pop__sub {
  font-size: 0.8rem;
  color: #5a6b4a;
}
.drc-df-pop__more {
  font-style: italic;
  color: #7a8a6a;
}

/* ==========================================================================
   Erweiterte Hundesuche (.drc-hundesuche__*)
   Modern, mobiltauglich, durchgehend LINKSBUENDIG.
   ========================================================================== */
.drc-hundesuche {
  --hs-green: #6B9F2E;
  --hs-green-dark: #4A7C1F;
  --hs-green-light: #8AC640;
  --hs-bg-soft: #f4f8ee;
  --hs-border: #d8e3c8;
  --hs-text-muted: #5a6b4a;
}

/* Modus-Umschalter (segmented control) */
.drc-hundesuche__modus {
  display: inline-flex;
  gap: 0;
  margin: 0 0 16px;
  border: 1px solid var(--hs-border);
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
}
.drc-hundesuche__modus-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--hs-green-dark);
  font: inherit;
  font-weight: 600;
  padding: 8px 18px;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.drc-hundesuche__modus-btn + .drc-hundesuche__modus-btn {
  border-left: 1px solid var(--hs-border);
}
.drc-hundesuche__modus-btn:hover {
  background: var(--hs-bg-soft);
}
.drc-hundesuche__modus-btn.is-active {
  background: var(--hs-green);
  color: #fff;
}

/* Suchformular */
.drc-hundesuche__form {
  background: var(--hs-bg-soft);
  border: 1px solid var(--hs-border);
  border-radius: 12px;
  padding: 18px;
  margin: 0 0 18px;
}
.drc-hundesuche__grid-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.drc-hundesuche__field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  gap: 5px;
}
.drc-hundesuche__field-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--hs-green-dark);
}
.drc-hundesuche__field input[type="text"],
.drc-hundesuche__field input[type="number"],
.drc-hundesuche__field select {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid var(--hs-border);
  border-radius: 8px;
  font: inherit;
  background: #fff;
  color: #2c3a1c;
  box-sizing: border-box;
}
.drc-hundesuche__field input:focus,
.drc-hundesuche__field select:focus {
  outline: none;
  border-color: var(--hs-green);
  box-shadow: 0 0 0 3px rgba(107, 159, 46, 0.15);
}
.drc-hundesuche__range {
  display: flex;
  align-items: center;
  gap: 8px;
}
.drc-hundesuche__range input {
  width: 100%;
}
.drc-hundesuche__range-sep {
  color: var(--hs-text-muted);
}
.drc-hundesuche__field--check {
  justify-content: flex-end;
}
.drc-hundesuche__check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 0.9rem;
  color: #2c3a1c;
}
.drc-hundesuche__check input {
  width: 16px;
  height: 16px;
  accent-color: var(--hs-green);
}

/* Profi-Block: nur im Profi-Modus sichtbar */
.drc-hundesuche__profi {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--hs-border);
}
.drc-hundesuche.is-modus-einfach .drc-hundesuche__profi {
  display: none;
}

/* Befund-Tabs (Gentests / Augen) */
.drc-hundesuche__befunde {
  margin-top: 16px;
}
.drc-hundesuche__befund-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid var(--hs-border);
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.drc-hundesuche__befund-tab {
  appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 600;
  color: var(--hs-text-muted);
  padding: 8px 14px;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}
.drc-hundesuche__befund-tab:hover {
  color: var(--hs-green-dark);
}
.drc-hundesuche__befund-tab.is-active {
  color: var(--hs-green-dark);
  border-bottom-color: var(--hs-green);
}
.drc-hundesuche__befund-panel[hidden] {
  display: none;
}
.drc-hundesuche__befund-hint {
  font-size: 0.82rem;
  color: var(--hs-text-muted);
  margin: 0 0 12px;
  text-align: left;
}
.drc-hundesuche__befund-row {
  border: 1px solid var(--hs-border);
  border-radius: 8px;
  padding: 10px 12px;
  margin: 0 0 10px;
  background: #fff;
}
.drc-hundesuche__befund-name {
  font-weight: 600;
  color: #2c3a1c;
  padding: 0;
  margin: 0 0 8px;
  font-size: 0.9rem;
}
.drc-hundesuche__status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.drc-hundesuche__status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.88rem;
  cursor: pointer;
  color: #2c3a1c;
}
.drc-hundesuche__status input {
  width: 16px;
  height: 16px;
  accent-color: var(--hs-green);
  cursor: pointer;
}

/* Aktionen */
.drc-hundesuche__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}
.drc-hundesuche__active-count {
  font-size: 0.85rem;
  color: var(--hs-green-dark);
  font-weight: 600;
}
.drc-hundesuche__memory {
  margin: 18px 0 20px;
  padding: 16px;
  border: 1px solid var(--hs-border);
  border-radius: 14px;
  background: #f9fbf5;
}
.drc-hundesuche__memory-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.drc-hundesuche__memory-title {
  margin: 0;
  font-size: 1rem;
  color: var(--hs-green-dark);
  text-align: left;
}
.drc-hundesuche__memory-summary {
  margin: 4px 0 0;
  color: #4f5d3f;
  font-size: 0.9rem;
}
.drc-hundesuche__memory-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px;
  border: 1px solid #dde8cf;
  border-radius: 12px;
  background: #fff;
}
.drc-hundesuche__memory-media {
  flex: 0 0 64px;
}
.drc-hundesuche__memory-img {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
  display: block;
  background: #eef4e4;
}
.drc-hundesuche__memory-img--empty {
  background: linear-gradient(135deg, #eef4e4 0%, #dceac6 100%);
}
.drc-hundesuche__memory-body {
  min-width: 0;
  flex: 1 1 auto;
}
.drc-hundesuche__memory-name {
  margin: 0 0 4px;
  font-size: 0.95rem;
  color: #2c3a1c;
  text-align: left;
}
.drc-hundesuche__memory-meta {
  margin: 0 0 4px;
  font-size: 0.84rem;
  color: #4f5d3f;
}
.drc-hundesuche__memory-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.drc-hundesuche__memory-btn,
.drc-hundesuche__remember-btn {
  appearance: none;
  border: 1px solid var(--hs-border);
  background: #fff;
  color: var(--hs-green-dark);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.drc-hundesuche__memory-btn:hover,
.drc-hundesuche__remember-btn:hover {
  background: var(--hs-bg-soft);
}
.drc-hundesuche__remember-btn.is-active {
  border-color: var(--hs-green);
  background: var(--hs-green);
  color: #fff;
}
.drc-hundesuche__compare-wrap {
  overflow-x: auto;
}
.drc-hundesuche__compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  table-layout: fixed;
}
.drc-hundesuche__compare-table th,
.drc-hundesuche__compare-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #dfe7d1;
  text-align: left;
  vertical-align: top;
}
.drc-hundesuche__compare-table thead th {
  color: var(--hs-green-dark);
  background: #f3f8ea;
}
.drc-hundesuche__compare-table thead th:first-child {
  width: 180px;
}
.drc-hundesuche__compare-cardcell {
  padding: 12px 10px;
}
.drc-hundesuche__memory-card--column {
  min-width: 0;
  margin: 0;
}
.drc-hundesuche__memory-card--column .drc-hundesuche__memory-name {
  font-size: 0.92rem;
}
.drc-hundesuche__memory-pairings {
  margin-top: 18px;
}
.drc-hundesuche__pairings-title {
  margin: 0 0 12px;
  font-size: 1rem;
  color: var(--hs-green-dark);
  text-align: left;
}
.drc-hundesuche__pairings-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.drc-hundesuche__pairing-card {
  padding: 14px;
  border: 1px solid #dde8cf;
  border-radius: 12px;
  background: #fff;
}
.drc-hundesuche__pairing-name {
  margin: 0 0 4px;
  font-size: 0.95rem;
  color: #2c3a1c;
  text-align: left;
}
.drc-hundesuche__pairing-meta {
  margin: 0 0 10px;
  font-size: 0.84rem;
  color: #4f5d3f;
}
.drc-hundesuche__pairing-stats p,
.drc-hundesuche__pairing-loading,
.drc-hundesuche__pairing-error,
.drc-hundesuche__pairings-empty {
  margin: 0 0 6px;
  font-size: 0.84rem;
  color: #2c3a1c;
}
.drc-hundesuche__pairing-error {
  color: #a32820;
}
.drc-hundesuche__pairing-actions {
  margin-top: 10px;
}

/* Toolbar (Sortierung + Ansicht) */
.drc-hundesuche__toolbar {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 14px;
}
.drc-hundesuche__sort {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.drc-hundesuche__sort-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--hs-green-dark);
}
.drc-hundesuche__sort .drc-datenfreigabe__select {
  min-width: 180px;
}
.drc-hundesuche__dirbtn {
  appearance: none;
  border: 1px solid var(--hs-border);
  background: #fff;
  color: var(--hs-green-dark);
  border-radius: 8px;
  width: 40px;
  height: 40px;
  font-size: 1rem;
  cursor: pointer;
}
.drc-hundesuche__dirbtn:hover {
  background: var(--hs-bg-soft);
}
.drc-hundesuche__toolbar .drc-hunde__viewswitch {
  margin-left: auto;
}
.drc-hundesuche__card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

/* Zuchtzulassungs-Badge */
.drc-hundesuche__zz {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #fff;
  background: var(--hs-green);
  padding: 1px 6px;
  border-radius: 4px;
  vertical-align: middle;
}
.drc-hundesuche__zz--card {
  position: absolute;
  top: 8px;
  left: 8px;
}

/* Button, der wie ein Link aussieht */
.drc-hundesuche__linkbtn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: var(--hs-green-dark);
  text-decoration: underline;
  cursor: pointer;
}
.drc-hundesuche__linkbtn:hover {
  color: var(--hs-green-light);
}

/* Karte: relative Positionierung fuer ZZL-Badge */
.drc-hundesuche__card-media {
  position: relative;
  appearance: none;
  border: 0;
  padding: 0;
  width: 100%;
  cursor: pointer;
  display: block;
}

/* ----- Detail-/Nachkommen-Sheet ----- */
.drc-hundesuche__sheet {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
}
.drc-hundesuche__sheet[hidden] {
  display: none;
}
.drc-hundesuche__sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(28, 40, 16, 0.55);
  backdrop-filter: blur(2px);
}
.drc-hundesuche__sheet-dialog {
  position: relative;
  background: #fff;
  width: min(680px, 94vw);
  max-height: 90vh;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: hs-sheet-in 0.18s ease-out;
}
.drc-hundesuche__sheet--wide .drc-hundesuche__sheet-dialog {
  width: min(960px, 96vw);
}
@keyframes hs-sheet-in {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.drc-hundesuche__sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--hs-border);
  background: var(--hs-bg-soft);
}
.drc-hundesuche__sheet-title {
  margin: 0;
  font-size: 1.15rem;
  color: var(--hs-green-dark);
  text-align: left;
}
.drc-hundesuche__sheet-x {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 1.8rem;
  line-height: 1;
  color: var(--hs-text-muted);
  cursor: pointer;
  padding: 0 4px;
}
.drc-hundesuche__sheet-x:hover {
  color: var(--hs-green-dark);
}
.drc-hundesuche__sheet-body {
  padding: 20px;
  overflow-y: auto;
}
body.drc-hundesuche-sheet-open {
  overflow: hidden;
}

/* Detailinhalt */
.drc-hundesuche__detail-head {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 18px;
}
.drc-hundesuche__detail-media {
  flex: 0 0 180px;
  max-width: 180px;
}
.drc-hundesuche__detail-img {
  width: 100%;
  border-radius: 12px;
  display: block;
  object-fit: cover;
}
.drc-hundesuche__detail-media--empty {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  background: var(--hs-bg-soft) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="%23b8c9a0" stroke-width="1.5"><circle cx="12" cy="8" r="3"/><path d="M5 20c0-3.5 3-6 7-6s7 2.5 7 6"/></svg>') center/40px no-repeat;
}
/* ----- Bildergalerie (Karte + Detail-Sheet) ----- */
.drc-hundesuche__gallery {
  position: relative;
}
.drc-hundesuche__gallery-stage {
  position: relative;
  width: 100%;
  height: 100%;
}
.drc-hundesuche__gallery-slide {
  display: none;
  width: 100%;
  height: 100%;
  margin: 0;
}
.drc-hundesuche__gallery-slide.is-active {
  display: block;
}
button.drc-hundesuche__gallery-slide {
  appearance: none;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.drc-hundesuche__gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s ease, background 0.15s ease;
}
.drc-hundesuche__gallery:hover .drc-hundesuche__gallery-nav,
.drc-hundesuche__gallery:focus-within .drc-hundesuche__gallery-nav {
  opacity: 1;
}
.drc-hundesuche__gallery-nav:hover {
  background: rgba(0, 0, 0, 0.72);
}
.drc-hundesuche__gallery-nav--prev {
  left: 6px;
}
.drc-hundesuche__gallery-nav--next {
  right: 6px;
}
@media (hover: none) {
  .drc-hundesuche__gallery-nav {
    opacity: 1;
    background: rgba(0, 0, 0, 0.32);
  }
}
.drc-hundesuche__gallery-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 5px;
  pointer-events: none;
}
.drc-hundesuche__gallery-dot {
  pointer-events: auto;
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.45);
  cursor: pointer;
  transition: transform 0.12s ease, background 0.12s ease;
}
.drc-hundesuche__gallery-dot.is-active {
  background: #fff;
  transform: scale(1.3);
}
.drc-hundesuche__gallery-caption {
  margin: 6px 0 0;
  font-size: 0.8rem;
  color: var(--hs-text-muted);
  text-align: left;
}
.drc-hundesuche__gallery--detail .drc-hundesuche__gallery-dots {
  bottom: 8px;
}
.drc-hundesuche__detail-headinfo {
  flex: 1 1 240px;
  min-width: 0;
}
.drc-hundesuche__detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.drc-hundesuche__detail-tags .drc-hunde__badge--inline {
  position: static;
  display: inline-block;
  margin: 0;
  vertical-align: middle;
}
.drc-hundesuche__tag {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--hs-green-dark);
  background: var(--hs-bg-soft);
  border: 1px solid var(--hs-border);
  padding: 2px 8px;
  border-radius: 999px;
}
.drc-hundesuche__tag--zz {
  color: #fff;
  background: var(--hs-green);
  border-color: var(--hs-green);
}
.drc-hundesuche__tag--sm {
  font-size: 0.72rem;
  padding: 1px 6px;
}
.drc-hundesuche__detail-section {
  margin: 0 0 18px;
}
.drc-hundesuche__detail-h {
  font-size: 0.95rem;
  color: var(--hs-green-dark);
  margin: 0 0 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--hs-border);
  text-align: left;
}

/* Befund-Ergebnisliste im Detail */
.drc-hundesuche__befund-result {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 6px 16px;
}
.drc-hundesuche__befund-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 0;
  border-bottom: 1px solid #eef2e8;
}
.drc-hundesuche__befund-item-name {
  font-size: 0.88rem;
  color: #2c3a1c;
}
.drc-hundesuche__befund-item-status {
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--hs-bg-soft);
  color: var(--hs-green-dark);
}
/* „frei" gruen, „Traeger"/zweifelhaft gelb, „betroffen"/nicht-frei rot */
.drc-hundesuche__status--s1,
.drc-hundesuche__status--s4,
.drc-hundesuche__status--s5,
.drc-hundesuche__status--a1 {
  background: #e3f2d4;
  color: #3c6a17;
}
.drc-hundesuche__status--s2,
.drc-hundesuche__status--a2 {
  background: #fdf2cf;
  color: #8a6d12;
}
.drc-hundesuche__status--s3,
.drc-hundesuche__status--a3 {
  background: #fbe0de;
  color: #a32820;
}
.drc-hundesuche__detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.drc-hunde__table-action .drc-hundesuche__remember-btn {
  margin-left: 8px;
}

/* Nachkommen */
.drc-hundesuche__nk-intro {
  margin: 0 0 14px;
  text-align: left;
}
.drc-hundesuche__nk-group + .drc-hundesuche__nk-group {
  margin-top: 16px;
}
.drc-hundesuche__nk-group-head {
  position: sticky;
  top: 0;
  z-index: 4;
  padding: 0 0 8px;
  background: linear-gradient(to bottom, #fff 78%, rgba(255, 255, 255, 0));
}
.drc-hundesuche__nk-parent-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--hs-border);
  border-radius: 10px;
  background: var(--hs-bg-soft);
}
.drc-hundesuche__nk-parent-media {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
}
.drc-hundesuche__nk-parent-media img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.drc-hundesuche__nk-parent-media--empty {
  display: block;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #eef3e5;
}
.drc-hundesuche__nk-parent-info {
  min-width: 0;
  flex: 1 1 auto;
}
.drc-hundesuche__nk-group-title {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: var(--hs-text-muted);
  text-align: left;
}
.drc-hundesuche__nk-parent-name {
  margin: 2px 0 0;
  font-size: 0.96rem;
  font-weight: 700;
  color: #2c3a1c;
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.drc-hundesuche__nk-group-count {
  font-weight: 400;
  color: var(--hs-text-muted);
}
.drc-hundesuche__nk-litter + .drc-hundesuche__nk-litter {
  margin-top: 10px;
}
.drc-hundesuche__nk-litter-title {
  margin: 0 0 6px;
  font-size: 0.82rem;
  color: var(--hs-text-muted);
  text-align: left;
}
.drc-hundesuche__nk-litter-count {
  margin-left: 4px;
}
.drc-hundesuche__nk-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.drc-hundesuche__nk-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid var(--hs-border);
  border-radius: 10px;
  background: #fff;
}
.drc-hundesuche__nk-media {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
}
.drc-hundesuche__nk-media img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.drc-hundesuche__nk-media--empty {
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background: var(--hs-bg-soft);
}
.drc-hundesuche__nk-info {
  flex: 1 1 auto;
  min-width: 0;
}
.drc-hundesuche__nk-name {
  margin: 0 0 4px;
  font-weight: 600;
  color: #2c3a1c;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.drc-hundesuche__nk-meta {
  margin: 0;
  font-size: 0.82rem;
  color: var(--hs-text-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.drc-hundesuche__nk-partner {
  margin: 4px 0 0;
  font-size: 0.82rem;
  color: var(--hs-text-muted);
}
.drc-hundesuche__nk-actions {
  flex: 0 0 auto;
}

/* Nachkommen: Gesundheits-/Prüfungs-Zusammenfassung */
.drc-hundesuche__nk-health {
  margin: 8px 0 0;
  padding: 8px 10px 4px;
  border-radius: 8px;
  background: var(--hs-bg-soft);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 4px 16px;
}
.drc-hundesuche__nk-health-row {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 2px 0;
  min-width: 0;
}
.drc-hundesuche__nk-health-row dt {
  font-size: 0.7rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--hs-text-muted);
}
.drc-hundesuche__nk-health-row dd {
  margin: 0;
  font-size: 0.86rem;
  color: #2c3a1c;
}
.drc-hundesuche__nk-health-detail {
  color: var(--hs-text-muted);
  font-size: 0.8rem;
}
.drc-hundesuche__nk-health-row--pruefungen {
  grid-column: 1 / -1;
}
.drc-hundesuche__nk-health-row--pruefungen dd {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

/* Mobil: Sheet als Bottom-Sheet */
@media (max-width: 640px) {
  .drc-hundesuche__sheet {
    align-items: flex-end;
  }
  .drc-hundesuche__sheet-dialog {
    width: 100vw;
    max-width: 100vw;
    max-height: 92vh;
    border-radius: 16px 16px 0 0;
    animation: hs-sheet-up 0.2s ease-out;
  }
  @keyframes hs-sheet-up {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
  }
  .drc-hundesuche__detail-media {
    flex-basis: 130px;
    max-width: 130px;
  }
  .drc-hundesuche__toolbar .drc-hunde__viewswitch {
    margin-left: 0;
  }
}

/* ============================================================
   Prüfungsergebnisse (DF0V) — drc-pruefungen
   ============================================================ */
.drc-pruefungen__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.drc-pruefungen__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}
.drc-pruefungen__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}
.drc-pruefungen__field-label {
  font-size: 12px;
  font-weight: 600;
  color: #4A7C1F;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.drc-pruefungen__field--search { min-width: 220px; flex: 1 1 220px; }
.drc-pruefungen__search {
  padding: 8px 12px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  width: 100%;
}
.drc-pruefungen__search:focus { outline: none; border-color: #6B9F2E; }
.drc-pruefungen .drc-datenfreigabe__iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px; padding: 0;
  background: #fff; color: #4A7C1F;
  border: 2px solid #6B9F2E; border-radius: 4px;
  font-size: 16px; line-height: 1; cursor: pointer;
}
.drc-pruefungen .drc-datenfreigabe__iconbtn:hover { background: #6B9F2E; color: #fff; }

/* View-Switch */
.drc-pruefungen__viewswitch { display: inline-flex; gap: 0; }
.drc-pruefungen__viewswitch-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  background: #fff; color: #4A7C1F;
  border: 2px solid #6B9F2E; border-right-width: 1px;
  font-weight: 600; cursor: pointer;
}
.drc-pruefungen__viewswitch-btn:first-child { border-radius: 4px 0 0 4px; }
.drc-pruefungen__viewswitch-btn:last-child { border-radius: 0 4px 4px 0; border-right-width: 2px; }
.drc-pruefungen__viewswitch-btn.is-active { background: #6B9F2E; color: #fff; }
.drc-pruefungen__viewswitch-label { font-size: 13px; }

/* Panel-Umschaltung */
.drc-pruefungen [data-pe-view-panel] { display: none; }
.drc-pruefungen.is-view-gruppen [data-pe-view-panel="gruppen"],
.drc-pruefungen.is-view-tabelle [data-pe-view-panel="tabelle"],
.drc-pruefungen.is-view-diagramm [data-pe-view-panel="diagramm"] { display: block; }

/* Truncation-Warnung */
.drc-pruefungen__truncation {
  background: #fff5e6; border-left: 4px solid #e67e22;
  padding: 10px 14px; border-radius: 4px; margin: 0 0 16px;
  font-size: 14px; color: #8a5000; text-align: left;
}

/* Veranstaltungs-Gruppe */
.drc-pruefungen__event {
  border: 1px solid #e2e2e2; border-radius: 6px;
  margin-bottom: 18px; overflow: hidden; background: #fff;
}
.drc-pruefungen__event-head {
  background: #f4f8ee; border-bottom: 1px solid #e2e2e2;
  padding: 10px 16px; text-align: left;
}
.drc-pruefungen__event-title {
  margin: 0; font-size: 17px; color: #2f5310; font-weight: 700;
}
.drc-pruefungen__event-meta {
  margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 6px 16px;
  font-size: 13px; color: #555;
}
.drc-pruefungen__event-kategorie {
  background: #e5f0d5; color: #4A7C1F; border-radius: 3px;
  padding: 1px 8px; font-weight: 600;
}
.drc-pruefungen__event-table-wrap,
.drc-pruefungen__table-wrap { overflow-x: auto; }

/* Tabellen */
.drc-pruefungen__event-table,
.drc-pruefungen__table {
  width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;
}
.drc-pruefungen__event-table th,
.drc-pruefungen__table th {
  background: #fafafa; color: #333; font-weight: 600;
  padding: 8px 12px; border-bottom: 2px solid #e2e2e2; text-align: left;
}
.drc-pruefungen__event-table td,
.drc-pruefungen__table td {
  padding: 7px 12px; border-bottom: 1px solid #eee; vertical-align: top;
}
.drc-pruefungen__table tbody tr:hover,
.drc-pruefungen__event-table tbody tr:hover { background: #f8fbf3; }
.drc-pruefungen__col-rasse { width: 56px; font-weight: 600; color: #4A7C1F; }
.drc-pruefungen__col-typ { white-space: nowrap; }
.drc-pruefungen__cell-hund { font-weight: 600; }
.drc-pruefungen__cell-event { white-space: nowrap; }
.drc-pruefungen__cell-ort { display: block; font-weight: 600; }
.drc-pruefungen__cell-datum { display: block; font-size: 12px; color: #777; }

/* Ergebnis-Kennung */
.drc-pruefungen__result-badge {
  display: inline-block; width: 9px; height: 9px; border-radius: 50%;
  margin-right: 7px; vertical-align: middle; background: #bbb;
}
.drc-pruefungen__cell-result.is-passed { color: #2f5310; }
.drc-pruefungen__cell-result.is-passed .drc-pruefungen__result-badge { background: #4A7C1F; }
.drc-pruefungen__cell-result.is-failed { color: #a5311f; }
.drc-pruefungen__cell-result.is-failed .drc-pruefungen__result-badge { background: #c0392b; }

/* Diagramme */
.drc-pruefungen__chart-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.drc-pruefungen__chart {
  margin: 0; border: 1px solid #e2e2e2; border-radius: 6px; padding: 14px;
  background: #fff;
}
.drc-pruefungen__chart figcaption {
  font-weight: 700; color: #2f5310; margin-bottom: 10px; text-align: left;
}
.drc-pruefungen__chart canvas { max-height: 260px; }

@media (max-width: 640px) {
  .drc-pruefungen__toolbar { flex-direction: column; align-items: stretch; }
  .drc-pruefungen__viewswitch { align-self: flex-start; }
  .drc-pruefungen__viewswitch-label { display: none; }
}

/* Feature 1: Thumbnail + verlinkter Hundename (Prüfungsergebnisse) */
.drc-pruefungen__hund {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.drc-pruefungen__thumb {
  flex: 0 0 auto;
  width: 34px; height: 34px;
  border-radius: 5px; overflow: hidden;
  background: #eef2e6; border: 1px solid #e2e2e2;
  display: inline-block;
}
.drc-pruefungen__thumb-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.drc-pruefungen__thumb-empty,
.drc-pruefungen__thumb.is-empty {
  width: 100%; height: 100%; display: block;
  background: linear-gradient(135deg, #dbe7c8 0%, #b9d18a 100%);
}
.drc-pruefungen__hund-name {
  min-width: 0; font-weight: 600;
  display: inline-flex; align-items: center; gap: 5px;
}
.drc-pruefungen__hund-link { color: #2f5310; text-decoration: none; }
.drc-pruefungen__hund-link:hover { text-decoration: underline; }
.drc-pruefungen__detail-icon {
  color: #6B9F2E; text-decoration: none; font-size: 15px;
  line-height: 1; flex: 0 0 auto;
}
.drc-pruefungen__detail-icon:hover { color: #4A7C1F; }

/* „Nur meine Hunde"-Checkbox */
.drc-pruefungen__field--meine { justify-content: flex-end; }
.drc-pruefungen__checkbox {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 0; font-size: 14px; white-space: nowrap;
}
.drc-pruefungen__checkbox input { width: 16px; height: 16px; }

/* Prüfungsart-Badges im Veranstaltungs-Header */
.drc-pruefungen__event-arten { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.drc-pruefungen__art-badge {
  background: #4A7C1F; color: #fff;
  border-radius: 3px; padding: 1px 8px;
  font-weight: 700; font-size: 12px; letter-spacing: 0.02em;
  cursor: help;
}

/* Sektions-Header (Gruppierung nach Datum/Ort/Typ) */
.drc-pruefungen__sektion { margin-bottom: 6px; }
.drc-pruefungen__sektion-head {
  margin: 18px 0 10px; padding-bottom: 6px;
  border-bottom: 2px solid #6B9F2E;
  font-size: 16px; color: #2f5310; font-weight: 700;
  display: flex; align-items: center; gap: 8px;
}
.drc-pruefungen__sektion:first-child .drc-pruefungen__sektion-head { margin-top: 0; }

/* Prüfungsart-Multiselect (details/summary) */
.drc-pruefungen__field--typfilter { position: relative; }
.drc-pruefungen__multiselect { position: relative; }
.drc-pruefungen__multiselect-summary {
  list-style: none; cursor: pointer;
  padding: 8px 28px 8px 12px;
  border: 2px solid #ddd; border-radius: 4px;
  background: #fff; font-size: 14px; white-space: nowrap;
  position: relative;
}
.drc-pruefungen__multiselect-summary::-webkit-details-marker { display: none; }
.drc-pruefungen__multiselect-summary::after {
  content: "\25BE"; position: absolute; right: 10px; top: 50%;
  transform: translateY(-50%); color: #6B9F2E;
}
.drc-pruefungen__multiselect[open] .drc-pruefungen__multiselect-summary { border-color: #6B9F2E; }
.drc-pruefungen__multiselect-panel {
  position: absolute; z-index: 20; top: calc(100% + 4px); left: 0;
  min-width: 200px; max-height: 260px; overflow-y: auto;
  background: #fff; border: 1px solid #ccc; border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12); padding: 6px;
}
.drc-pruefungen__multiselect-item {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 8px; border-radius: 3px; cursor: pointer; font-size: 14px;
}
.drc-pruefungen__multiselect-item:hover { background: #f2f7ea; }

/* ==========================================================================
   Hundedetail-Plugin (konsolidierte Hundedetailseite DF0H)
   ========================================================================== */

/* Container */
.drc-hundedetail {
  padding: 20px 0;
}

/* Hundenamen + Geschlecht-Badge */
.drc-hundedetail__name {
  font-size: 26px;
  color: #2f5310;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.drc-hundedetail__geschlecht {
  font-size: 14px;
  padding: 4px 10px;
}

/* Sektionen */
.drc-hundedetail__section {
  margin: 24px 0;
  padding: 0;
}
.drc-hundedetail__section h3 {
  font-size: 18px;
  color: #4A7C1F;
  margin: 0 0 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid #8AC640;
}
.drc-hundedetail__section h4 {
  font-size: 15px;
  color: #2f5310;
  margin: 0 0 8px;
}

/* Definition Lists */
.drc-hundedetail__dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 6px 16px;
  margin: 0;
}
.drc-hundedetail__dl dt {
  font-weight: 600;
  color: #555;
}
.drc-hundedetail__dl dd {
  margin: 0;
  color: #333;
}
.drc-hundedetail__dl--compact {
  gap: 4px 12px;
  font-size: 14px;
}

/* Eltern-Grid */
.drc-hundedetail__eltern {
  margin-top: 16px;
}
.drc-hundedetail__eltern-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-top: 12px;
}
.drc-hundedetail__elternteil {
  background: #f8fbf3;
  padding: 12px 16px;
  border-radius: 6px;
  border-left: 4px solid #8AC640;
}
.drc-hundedetail__eltern-label {
  display: block;
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
}
.drc-hundedetail__link {
  font-weight: 600;
}

/* Bildergalerie */
.drc-hundedetail__galerie {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.drc-hundedetail__bild {
  margin: 0;
}
.drc-hundedetail__bild-img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e2e2e2;
  transition: transform 0.2s, box-shadow 0.2s;
}
.drc-hundedetail__bild a:hover .drc-hundedetail__bild-img {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.drc-hundedetail__bild-caption {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
  text-align: center;
}

/* Ahnentafel */
.drc-hundedetail__ahnentafel {
  overflow-x: auto;
  margin: 12px 0;
}
.drc-hundedetail__pedigree-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  font-size: 13px;
}
.drc-hundedetail__pedigree-table thead th {
  background: #f3f8ea;
  color: #2f5310;
  font-weight: 600;
  padding: 8px 10px;
  text-align: center;
  border: 1px solid #d4e3c4;
}
.drc-hundedetail__pedigree-cell {
  padding: 8px 10px;
  border: 1px solid #d4e3c4;
  vertical-align: middle;
  background: #fff;
}
.drc-hundedetail__pedigree-cell--gen1 {
  background: #f8fbf3;
  font-weight: 600;
}
.drc-hundedetail__pedigree-cell--vater {
  border-left: 3px solid #3498db;
}
.drc-hundedetail__pedigree-cell--mutter {
  border-left: 3px solid #e74c8e;
}
.drc-hundedetail__ahne-name {
  display: block;
  font-weight: 500;
}
.drc-hundedetail__ahne-link {
  color: #2f5310;
  text-decoration: none;
}
.drc-hundedetail__ahne-link:hover {
  color: #6B9F2E;
  text-decoration: underline;
}
.drc-hundedetail__ahne-zb {
  display: block;
  font-size: 11px;
  color: #888;
  margin-top: 2px;
}
.drc-hundedetail__pedigree-unknown {
  color: #aaa;
  font-style: italic;
}
.drc-hundedetail__ahnentafel-hinweis {
  margin-top: 8px;
  color: #666;
}

/* Inzucht */
.drc-hundedetail__inzucht {
  background: #f8fbf3;
  padding: 12px 16px;
  border-radius: 6px;
  margin-bottom: 16px;
}
.drc-hundedetail__inzucht p {
  margin: 4px 0;
}
.drc-hundedetail__ik-wert {
  font-weight: 700;
  color: #2f5310;
  font-size: 16px;
}
.drc-hundedetail__ik-hinweis {
  color: #888;
  font-style: italic;
}

/* Gesundheit Grid */
.drc-hundedetail__gesundheit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.drc-hundedetail__gesundheit-block {
  background: #f8fbf3;
  padding: 12px 16px;
  border-radius: 6px;
}
.drc-hundedetail__zuchtzulassung {
  border-left: 4px solid #8AC640;
}
.drc-hundedetail__zz-status {
  font-weight: 600;
}
.drc-hundedetail__zz-status--aktiv,
.drc-hundedetail__zz-status--gueltig {
  background: #d4edda;
  color: #155724;
}
.drc-hundedetail__zz-status--ruhend {
  background: #fff3cd;
  color: #856404;
}
.drc-hundedetail__zz-status--abgelaufen,
.drc-hundedetail__zz-status--entzogen {
  background: #f8d7da;
  color: #721c24;
}

/* Prüfungen */
.drc-hundedetail__titel-liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.drc-hundedetail__titel-liste li {
  display: flex;
  align-items: center;
  gap: 6px;
}
.drc-hundedetail__titel-tag {
  background: #e8b435;
  color: #fff;
}
.drc-hundedetail__titel-datum {
  color: #888;
}
.drc-hundedetail__pruefungen-table {
  margin-top: 12px;
}
.drc-hundedetail__ergebnis--bestanden {
  color: #155724;
  font-weight: 600;
}

/* Nachkommen */
.drc-hundedetail__nachkommen-anzahl {
  margin: 0 0 12px;
  font-size: 16px;
}
.drc-hundedetail__nachkommen-table {
  margin-top: 12px;
}

/* Kontakt */
.drc-hundedetail__kontakt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.drc-hundedetail__kontakt-block {
  background: #f8fbf3;
  padding: 16px;
  border-radius: 6px;
}
.drc-hundedetail__kontakt-btn {
  margin-top: 8px;
  padding: 10px 20px;
  background: #6B9F2E;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 600;
}
.drc-hundedetail__kontakt-btn:hover {
  background: #4A7C1F;
}
.drc-hundedetail__kontakt-hinweis {
  color: #888;
  font-style: italic;
}
.drc-hundedetail__kontakt-datenschutz {
  margin-top: 16px;
  color: #666;
}

/* Empty/Error States */
.drc-hundedetail__empty-hint {
  color: #888;
  font-style: italic;
  margin: 8px 0;
}

/* Responsive */
@media (max-width: 768px) {
  .drc-hundedetail__name {
    font-size: 22px;
  }
  .drc-hundedetail__dl {
    grid-template-columns: 1fr;
  }
  .drc-hundedetail__dl dt {
    margin-top: 8px;
  }
  .drc-hundedetail__pedigree-table {
    font-size: 11px;
  }
  .drc-hundedetail__gesundheit-grid,
  .drc-hundedetail__kontakt-grid {
    grid-template-columns: 1fr;
  }
}
.drc-pruefungen__multiselect-item input { width: 16px; height: 16px; }

/* Multiselect Schnellaktionen (Alle / Keine) */
.drc-pruefungen__multiselect-actions {
  display: flex; gap: 6px; padding: 2px 4px 8px;
  border-bottom: 1px solid #eee; margin-bottom: 6px;
}
.drc-pruefungen__multiselect-action {
  flex: 1 1 auto; padding: 5px 10px;
  background: #fff; color: #4A7C1F;
  border: 1px solid #6B9F2E; border-radius: 4px;
  font-size: 13px; font-weight: 600; cursor: pointer;
}
.drc-pruefungen__multiselect-action:hover { background: #6B9F2E; color: #fff; }

/* Paginierung */
.drc-pruefungen__pagination-wrap { margin: 10px 0; }
.drc-pruefungen__pagination-wrap--top { margin-top: 0; }
.is-view-diagramm .drc-pruefungen__pagination-wrap { display: none; }
.drc-pruefungen__pagination {
  display: flex; align-items: center; gap: 14px;
  justify-content: flex-start; flex-wrap: wrap;
}
.drc-pruefungen__page-btn {
  background: #fff; color: #4A7C1F; border: 2px solid #6B9F2E;
  border-radius: 4px; padding: 6px 14px; font-weight: 600; cursor: pointer;
}
.drc-pruefungen__page-btn:hover:not([disabled]) { background: #6B9F2E; color: #fff; }
.drc-pruefungen__page-btn[disabled] { opacity: 0.45; cursor: default; }
.drc-pruefungen__page-info { font-size: 14px; color: #555; }
.drc-pruefungen__page-count { color: #888; }

/* Prüfungsdetail + Leitung im Veranstaltungs-Header */
.drc-pruefungen__event-detail {
  margin: 5px 0 0; font-size: 13px; font-style: italic; color: #4A7C1F; text-align: left;
}
.drc-pruefungen__event-leitung {
  margin: 2px 0 0; font-size: 12px; color: #777; text-align: left;
}

/* Wettbewerbe: Ranking-Tabelle (Workingtests / Ausstellungen) */
.drc-wettbewerb__table th.drc-wettbewerb__col-platz,
.drc-wettbewerb__col-platz { width: 52px; text-align: center; font-weight: 700; }
.drc-wettbewerb__table th.drc-wettbewerb__col-punkte,
.drc-wettbewerb__col-punkte { text-align: right; font-weight: 600; white-space: nowrap; }
.drc-wettbewerb__table th.drc-wettbewerb__col-a,
.drc-wettbewerb__col-a { width: 36px; text-align: center; font-size: 12px; padding: 6px 4px; }
.drc-wettbewerb__col-praedikat { white-space: nowrap; }
.drc-wettbewerb__bestanden.is-passed { color: #2f5310; font-weight: 600; }
.drc-wettbewerb__bestanden.is-failed { color: #a5311f; }
.drc-wettbewerb__event .drc-pruefungen__art-badge { background: #2980b9; }
.drc-wettbewerb__field--search datalist { display: none; }
/* Namensspalte: genug Breite; lange Hundenamen nur an Wortgrenzen umbrechen
   (keine Silbentrennung/zeichenweiser Bruch), da die vielen A-Spalten die
   Spalte sonst zusammenquetschen. Bei Platzmangel scrollt der Wrapper. */
.drc-wettbewerb__table td.drc-pruefungen__cell-hund { min-width: 180px; }
.drc-wettbewerb__table .drc-pruefungen__hund-name,
.drc-wettbewerb__table .drc-pruefungen__hund-link {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* Leistungshistorie: Icon + Sheet */
.drc-pruefungen__historie-icon {
  background: none; border: none; cursor: pointer; padding: 0 2px;
  font-size: 14px; line-height: 1; color: #6B9F2E; flex: 0 0 auto;
}
.drc-pruefungen__historie-icon:hover { color: #4A7C1F; }

.drc-historie-sheet[hidden] { display: none; }
.drc-historie-sheet {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
}
.drc-historie-sheet__backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,0.45);
}
.drc-historie-sheet__dialog {
  position: relative; background: #fff; border-radius: 8px;
  width: min(920px, 94vw); max-height: 90vh; display: flex; flex-direction: column;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3); overflow: hidden;
}
.drc-historie-sheet__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; background: #f4f8ee; border-bottom: 1px solid #e2e2e2;
}
.drc-historie-sheet__title { font-weight: 700; color: #2f5310; }
.drc-historie-sheet__close {
  background: none; border: none; font-size: 20px; cursor: pointer; color: #555;
}
.drc-historie-sheet__body { padding: 16px; overflow-y: auto; }
body.drc-historie-open { overflow: hidden; }

/* Historie-Inhalt */
.drc-historie__head { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.drc-historie__thumb { width: 64px; height: 64px; border-radius: 6px; overflow: hidden; flex: 0 0 auto; background: #eef2e6; border: 1px solid #e2e2e2; }
.drc-historie__thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.drc-historie__thumb-empty, .drc-historie__thumb.is-empty { width: 100%; height: 100%; display: block; background: linear-gradient(135deg, #dbe7c8 0%, #b9d18a 100%); }
.drc-historie__name { margin: 0; font-size: 18px; color: #2f5310; }
.drc-historie__name a { color: #2f5310; text-decoration: none; }
.drc-historie__name a:hover { text-decoration: underline; }
.drc-historie__meta { margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; color: #666; }
.drc-historie__jahr-head { margin: 14px 0 6px; color: #4A7C1F; border-bottom: 2px solid #6B9F2E; padding-bottom: 4px; font-size: 15px; }

/* ==========================================================================
   Mobile: Datenfreigabe-Listen (Züchter DF0Z / Richter DF0R / Ausbilder DF0Q)
   als Karten statt gequetschter Tabelle.

   Unter 768px werden die mehrspaltigen Listentabellen zeilenweise in Karten
   umgebrochen. Jede Zelle steht unter ihrem Spaltennamen (aus data-label),
   damit ohne horizontales Scrollen und ohne abgeschnittene Inhalte alles
   lesbar bleibt. Ab 769px gilt weiterhin die normale Tabellenansicht.
   ========================================================================== */
@media (max-width: 768px) {
  .zuechter-liste-container {
    padding: 12px;
  }

  /* Toolbar/Filter: Bedienelemente in voller Breite, gut antippbar */
  .drc-datenfreigabe__toolbar {
    gap: 10px;
  }
  .drc-datenfreigabe__filter {
    gap: 8px;
  }
  .drc-datenfreigabe__filter input[type="text"],
  .drc-datenfreigabe__filter .drc-datenfreigabe__select,
  .drc-datenfreigabe__multiselect {
    flex: 1 1 100%;
    min-width: 0;
  }
  .drc-datenfreigabe__multiselect-summary {
    width: 100%;
  }
  .drc-datenfreigabe__viewswitch,
  .drc-datenfreigabe__groupselect {
    flex: 0 0 auto;
  }

  /* --- Flache Listen (DF0Z ohne Gruppierung, DF0R, DF0Q) --- */
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped),
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody {
    display: block;
    width: 100%;
  }
  .drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) thead {
    /* Spaltenköpfe entfallen – Labels stehen jetzt an den Zellen */
    display: none;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody tr {
    display: block;
    margin: 0 0 12px;
    border: 1px solid #dfe7d2;
    border-radius: 10px;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    overflow: hidden;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody tr:hover td {
    background: transparent !important;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td {
    display: block;
    padding: 8px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #f0f2ec !important;
    text-align: left !important;
    background: transparent !important;
  }
  .drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td:last-child {
    border-bottom: 0 !important;
    text-align: left !important;
  }
  .drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6B9F2E;
    line-height: 1.4;
  }
  /* Leere Zellen (z. B. fehlende Bezirksgruppe) komplett ausblenden */
  .drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td:empty {
    display: none;
  }
  /* Erste Zelle (Name) als Kartentitel ohne Label */
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td:first-child {
    display: block;
    background: #f4f8ee !important;
    padding: 10px 12px !important;
  }
  .drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td:first-child::before {
    display: none;
  }
  .drc-datenfreigabe__table:not(.drc-datenfreigabe__table--grouped) tbody td:first-child strong {
    font-size: 15px;
  }

  /* --- Gruppierte Listen (DF0Z nach Zwinger / nach Züchter:in) --- */
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table--grouped {
    display: block;
    width: 100%;
  }
  .drc-datenfreigabe__table--grouped thead {
    display: none;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table--grouped tbody.drc-datenfreigabe__group {
    display: block;
    margin: 0 0 14px;
    border: 1px solid #dfe7d2;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
  }
  .drc-datenfreigabe__table--grouped tbody.drc-datenfreigabe__group tr {
    display: block;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table--grouped tr.drc-datenfreigabe__group-head th {
    display: block;
    width: auto;
    border-top: 0;
  }
  .drc-datenfreigabe__table--grouped tbody tr:not(.drc-datenfreigabe__group-head) + tr:not(.drc-datenfreigabe__group-head) {
    border-top: 1px solid #eef1e8;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table--grouped tbody td {
    display: block;
    padding: 7px 12px !important;
    border: 0 !important;
    text-align: left !important;
    background: transparent !important;
  }
  .zuechter-liste-container table.ev_result_listing.drc-datenfreigabe__table--grouped tbody tr:hover td {
    background: transparent !important;
  }
  .drc-datenfreigabe__table--grouped tbody td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6B9F2E;
    line-height: 1.4;
  }
  .drc-datenfreigabe__table--grouped tbody td:empty {
    display: none;
  }

  /* Kontakt-Button in Karten: volle Breite, gut antippbar */
  .drc-datenfreigabe__table .drc-datenfreigabe__kontakt-btn {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 10px 12px;
  }

  /* Paginierung untereinander statt gequetscht nebeneinander */
  .drc-datenfreigabe__pagination {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .drc-datenfreigabe__perpage {
    margin-left: 0;
    justify-content: space-between;
  }
}

/* ==================================================================
   Wurfliste (Welpenvermittlung) – Eltern-Zelle mit Thumbnail, Name als
   Popup-Trigger, Titel/Prüfungen und Ahnentafel-Link.
   ================================================================== */
.drc-wurfliste__eltern-cell {
  min-width: 220px;
}
.drc-wurfliste__elter {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 0;
}
.drc-wurfliste__elter + .drc-wurfliste__elter {
  border-top: 1px solid #eef2e6;
  margin-top: 4px;
}
.drc-wurfliste__elter-thumb {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  overflow: hidden;
  background: #eef2e6;
}
.drc-wurfliste__elter-thumb.is-empty {
  display: none;
}
.drc-wurfliste__elter-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.drc-wurfliste__elter-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.drc-wurfliste__elter-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
}
.drc-wurfliste__elter-rolle {
  color: #4A7C1F;
}
.drc-wurfliste__linkbtn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: var(--hs-green-dark, #4A7C1F);
  text-decoration: underline;
  text-align: left;
  cursor: pointer;
}
.drc-wurfliste__linkbtn:hover {
  color: var(--hs-green-light, #6B9F2E);
}
.drc-wurfliste__elter-sub {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
}
.drc-wurfliste__zbnr {
  color: #777;
}
.drc-wurfliste__ahnenbtn {
  font-size: 11px;
  font-weight: 600;
  color: #4A7C1F;
  text-decoration: none;
  border: 1px solid #cfe0b8;
  border-radius: 999px;
  padding: 1px 8px;
  line-height: 1.5;
  white-space: nowrap;
}
.drc-wurfliste__ahnenbtn:hover {
  background: #eef5e2;
}
.drc-wurfliste__titel {
  font-size: 12px;
  color: #555;
}
.drc-wurfliste__sheet .drc-hundesuche__detail-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 12px;
}
