/* Gartnernzunft: klassische Tabelle, Typografie und Farben vom Joomla-Template. */
.gm { max-width:100%; font-family:inherit; font-size:inherit; line-height:inherit; color:inherit; }
.gm h2 { font-family:inherit; font-size:inherit; color:inherit; } /* H2-Stil des Templates bleibt massgebend */
.gm-subtitle { opacity:.8; }
.gm-controls { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:1.25rem 0; }
.gm-controls label { display:flex; flex-direction:column; gap:.3rem; font:inherit; }
.gm-controls input,.gm-controls select { box-sizing:border-box; min-width:0; max-width:100%; padding:.55rem .7rem; font:inherit; color:inherit; background:var(--body-bg, var(--bs-body-bg,transparent)); border:1px solid var(--bs-border-color,currentColor); border-radius:.25rem; }
.gm-controls input:focus-visible,.gm-controls select:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.gm-tablewrap { width:100%; overflow-x:auto; }
.gm table { width:100%; min-width:640px; border-collapse:collapse; font:inherit; color:inherit; background:transparent; }
.gm th,.gm td { padding:.7rem .8rem; border-bottom:1px solid var(--bs-border-color, currentColor); vertical-align:top; text-align:left; }
.gm th { font-weight:700; color:inherit; background:transparent; }
.gm tbody tr[hidden] { display:none !important; }
/* Zeilenfarbe auf Tabellenzellen, damit auch Joomla-Template-Tabellenstile nicht überdecken. */
.gm tbody tr.gm-row-alt > td { background-color:rgba(127,127,127,.09); }
@supports (color: color-mix(in srgb, black 7%, transparent)) {
  .gm tbody tr.gm-row-alt > td { background-color:color-mix(in srgb, currentColor 7%, transparent); }
}
.gm-count { font-size:.9em; }
.gm-year-source { display:block; margin-top:.3rem; font-size:.82em; opacity:.8; }
.gm-notes { margin-top:1.25rem; padding:1rem 0; border-top:1px solid var(--bs-border-color,currentColor); }
.gm-notes summary { cursor:pointer; font-weight:700; }
@media(max-width:650px) { .gm-controls label { flex:1 1 180px; } }

/* V2.7: lesbarer Kontrast; Template-Schriftfamilie und Schriftgroesse bleiben erhalten. */
.gm {
  --gm-text: var(--body-color, var(--bs-body-color, #242424));
  --gm-surface: var(--body-bg, var(--bs-body-bg, #ffffff));
  color: var(--gm-text);
}
.gm .gm-subtitle, .gm .gm-count, .gm .gm-year-source {
  opacity: 1;
  color: var(--gm-text);
}
.gm table, .gm th, .gm td, .gm tbody td strong,
.gm .gm-controls label, .gm .gm-notes {
  color: var(--gm-text);
}
.gm th { font-weight: 700; background-color: color-mix(in srgb, var(--gm-text) 9%, var(--gm-surface)); }
.gm tbody tr > td { background-color: var(--gm-surface); }
.gm tbody tr.gm-row-alt > td {
  background-color: color-mix(in srgb, var(--gm-text) 8%, var(--gm-surface));
  color: var(--gm-text);
}
.gm .gm-controls input, .gm .gm-controls select {
  color: var(--gm-text);
  background-color: var(--gm-surface);
  border-color: color-mix(in srgb, var(--gm-text) 45%, var(--gm-surface));
}
.gm .gm-controls input::placeholder { color: color-mix(in srgb, var(--gm-text) 78%, var(--gm-surface)); opacity: 1; }
.gm .gm-controls input:focus-visible, .gm .gm-controls select:focus-visible { outline: 2px solid var(--gm-text); }
@supports not (color: color-mix(in srgb, black 50%, white)) {
  .gm th { background-color: rgba(127,127,127,.12); }
  .gm tbody tr.gm-row-alt > td { background-color: rgba(127,127,127,.10); }
  .gm .gm-controls input, .gm .gm-controls select { border-color: currentColor; }
}

/* V2.8: gelbe Gartnern-Zeilen statt Grau; Template-Schriften bleiben erhalten.
   --gartnern-yellow kann vom Website-Template gesetzt werden. */
.gm { --gm-yellow: var(--gartnern-yellow, #f5d54a); }
.gm tbody tr.gm-row-alt > td {
  background-color: color-mix(in srgb, var(--gm-yellow) 32%, var(--gm-surface) 68%);
  color: var(--gm-text);
}
@supports not (color: color-mix(in srgb, black 50%, white)) {
  .gm tbody tr.gm-row-alt > td { background-color: #fff3bd; }
}

/* V2.9: Familienwappen (54px Höhe) und barrierearm bedienbare Vergrösserung. */
.gm .gm-wappen-cell { width:74px; text-align:center; }
.gm .gm-wappen-button { border:0; background:transparent; color:inherit; padding:2px; cursor:zoom-in; border-radius:3px; }
.gm .gm-wappen-button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.gm .gm-wappen-button img { display:block; width:auto; height:54px; max-width:68px; object-fit:contain; margin-inline:auto; }
.gm .gm-wappen-dialog { max-width:min(90vw,560px); max-height:90vh; overflow:auto; padding:1.2rem; border:1px solid currentColor; border-radius:6px; color:var(--gm-text); background:var(--gm-surface); }
.gm .gm-wappen-dialog::backdrop { background:rgba(0,0,0,.72); }
.gm .gm-wappen-dialog-close { text-align:right; margin-bottom:.6rem; }
.gm .gm-wappen-dialog-close button { font:inherit; color:inherit; background:transparent; border:1px solid currentColor; padding:.3rem .6rem; cursor:pointer; }
.gm .gm-wappen-dialog figure { margin:0; text-align:center; }
.gm .gm-wappen-large { display:block; max-width:100%; max-height:55vh; width:auto; height:auto; margin:0 auto 1rem; object-fit:contain; }
.gm .gm-wappen-dialog figcaption p { white-space:pre-line; margin:.5rem 0; }

/* V3.0: Gelber Tabellenkopf und stabile Chrome-Select-Darstellung. */
.gm { --gm-header-yellow: var(--gartnern-yellow, #f5d54a); }
.gm table thead th { background: var(--gm-header-yellow) !important; color:#242424 !important; }
.gm .gm-controls select { appearance:auto; -webkit-appearance:menulist; min-height:2.75rem; padding-right:1.5rem; color-scheme:light; }
.gm .gm-controls select option { background:#fff; color:#242424; }

/* V3.0.1: Suchfeld in Chrome und anderen Browsern gleich hoch wie Auswahllisten. */
.gm .gm-controls input.gm-search,
.gm .gm-controls select {
  box-sizing: border-box;
  height: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
  line-height: normal;
}
.gm .gm-controls input.gm-search {
  -webkit-appearance: none;
  appearance: none;
}
