/*
 * nk4-oa-ergebnisse.css  –  NK4 Tour Ergebnislisten-Fragment-Styles
 *
 * Statische Datei — deployen nach:
 *     /www/htdocs/w02101bc/rd/nk4tour.com/cgi-css/nk4-oa-ergebnisse.css
 *
 * Enthält ausschließlich die inhaltlichen Fragment-Klassen für
 * generierte Ergebnislisten (.erg-frag, .erg-table, .erg-td-*,
 * responsive Regeln). Liegt wie alle anderen Sheets in /cgi-css/.
 *
 * Einbindung:
 *   ajax=0 (Vollseite): wird über nk4-oh-turnier-ergebnisse.css mitgeladen
 *   ajax=1/2 (Fragment): optional per $CFG{ajax_css_links}
 *
 * Verwendet in: ergebnisse2.pl (statisch generierte Fragmente),
 *               turnier_ergebnisse2.pl (bettet diese Fragmente ein)
 */

.erg-frag { font-family: 'DM Sans', sans-serif; font-size: .875rem; color: #1a1a2e; }
.erg-meta { font-size: .82rem; color: #6b6b7a; margin-bottom: 1.5rem; }
.erg-klasse-block { margin-bottom: 2rem; }

.erg-klasse-label {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9a9aaa;
  font-weight: 600;
  margin-bottom: .6rem;
  padding-bottom: .35rem;
  border-bottom: 1px dashed #d4ccc0;
}

.erg-table { width: 100%; border-collapse: collapse; font-size: .875rem; }

.erg-th {
  padding: .35rem .75rem;
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9a9aaa;
  font-weight: 500;
  border-bottom: 1px solid #d4ccc0;
  text-align: left;
  vertical-align: bottom;
}

.erg-th-center { text-align: center; }
.erg-th-rank   { text-align: center; width: 3rem; }
.erg-th-faint  { text-align: center; color: #b0b0ba; }

.erg-table tbody tr:hover { background: #fafaf8 !important; }

.erg-td           { padding: .45rem .75rem; }
.erg-td-platz     { text-align: center; color: #9a9aaa; font-size: .82rem; width: 3rem; }
.erg-td-spieler   { font-weight: inherit; }
.erg-td-verein    { color: #6b6b7a; font-size: .85rem; }
.erg-td-klasse    { color: #6b6b7a; font-size: .82rem; }
.erg-td-num       { text-align: center; font-variant-numeric: tabular-nums; font-weight: inherit; }
.erg-td-num-muted { text-align: center; font-variant-numeric: tabular-nums; color: #6b6b7a; }
.erg-td-num-faint { text-align: center; font-variant-numeric: tabular-nums; color: #9a9aaa; font-size: .82rem; }

.erg-generiert { font-size: .72rem; color: #b0b0ba; margin-top: 1.5rem; text-align: right; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 600px) {
  .erg-table thead { display: none; }

  .erg-table,
  .erg-table tbody,
  .erg-row,
  .erg-td { display: block; width: 100%; }

  .erg-row {
    border: 1px solid #d4ccc0 !important;
    border-radius: 2px;
    margin-bottom: .75rem;
    padding: .5rem .75rem;
    box-shadow: 0 1px 4px rgba(26, 26, 46, .08);
  }

  .erg-td {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: .3rem 0 !important;
    border-bottom: 1px dashed #f0ebe0;
    font-size: .85rem;
    text-align: left !important;
    width: 100% !important;
  }

  .erg-td:last-child { border-bottom: none; }

  .erg-td::before {
    content: attr(data-label);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #9a9aaa;
    flex-shrink: 0;
    margin-right: .75rem;
    min-width: 72px;
  }
}


/* ============================================================
   GOLD-ZEILEN  (Turniersieger / Top-8 Saison)
   ============================================================ */

.erg-row--gold { background: #FFF59D; }      /* Masters qualifiziert / Turniersieger */
.erg-row--gold td { font-weight: 600; }
.erg-row--nachr { background: #FFFFE0; }     /* Masters-Warteliste */


/* ============================================================
   KONKURRENZ-AUSWAHL  (Saison-Gesamtliste Dropdown)
   ============================================================ */

.erg-kl-bar {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: .5rem 1rem;
  flex-wrap: wrap;
}

.erg-kl-label {
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--faint, #9a9aaa);
  font-weight: 600;
  white-space: nowrap;
}

.erg-kl-select {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--border, #d4ccc0);
  border-radius: 2px;
  padding: .45rem 2.25rem .45rem .75rem;
  font-size: .9rem;
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  color: var(--ink, #1a1a2e);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a1a2e' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .75rem center;
  min-width: 12rem;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
.erg-kl-select:hover { border-color: #b8afa2; }
.erg-kl-select:focus { border-color: var(--accent, #c8392b); outline: none;
                       box-shadow: 0 0 0 3px rgba(200, 57, 43, .12); }

/* Legende zu den Masters-Markierungen: kleine Box rechts neben der Auswahl */
.erg-legende       { display: flex; align-items: center; gap: .35rem .85rem; flex-wrap: wrap;
                     margin-left: auto; padding: .35rem .65rem;
                     border: 1px solid #e8e2d8; border-radius: 2px; background: #fff;
                     font-size: .74rem; color: #6b6b7a; }
.erg-legende-titel { font-weight: 600; color: var(--ink, #1a1a2e); }
.erg-legende-item  { display: inline-block; white-space: nowrap; padding: .1rem .45rem;
                     border: 1px solid #e0d9a8; border-radius: 2px; color: var(--ink, #1a1a2e); }
.erg-legende .erg-row--gold { font-weight: 600; }


/* ============================================================
   TABLEAU-EINBETTUNG  (Details/Summary in Turnier-Ergebnisliste)
   ============================================================ */

.erg-tableau-details {
  margin-top: 1rem;
  border: 1px solid #e8e2d8;
  border-radius: 2px;
}

.erg-tableau-summary {
  cursor: pointer;
  font-size: .82rem;
  font-weight: 600;
  color: var(--ink, #1a1a2e);
  padding: .5rem .75rem;
  user-select: none;
  list-style: none;
}

.erg-tableau-summary::-webkit-details-marker { display: none; }

.erg-tableau-summary::before {
  content: '▶\00a0';
  font-size: .65rem;
  color: var(--accent, #c8392b);
  transition: transform .15s;
  display: inline-block;
}

.erg-tableau-details[open] .erg-tableau-summary::before {
  transform: rotate(90deg);
}

.erg-tableau-wrap {
  padding: .75rem;
  overflow-x: auto;
  border-top: 1px solid #e8e2d8;
}

/* ============================================================
   TABLEAU-BAUM-KLASSEN  (aus nk4_tableau.pl generiert)
   ============================================================ */

/* Hauptrunde | Nebenrunde + Bemerkungen nebeneinander, wenn genug Platz ist;
   sonst bricht der zweite Teil unter die Hauptrunde */
.tab-baum-wrap   { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.5rem 2.5rem; }
.tab-baum-teil   { flex: 0 0 auto; max-width: 100%; min-width: 0; }
.tab-bem-titel   { margin-top: 1.25rem; }
.tab-runde-titel { font-size: .78rem; font-weight: 600; letter-spacing: .12em;
                   text-transform: uppercase; color: #6b6b7a; margin-bottom: .5rem; }
.tab-runde       { display: flex; gap: .4rem; align-items: stretch; overflow-x: auto; }

/* Bemerkungen unter dem Tableau (meta.bemerkungen + automatischer 1:0-Hinweis) */
.tab-bem-liste   { font-size: .84rem; color: var(--ink, #1a1a2e); padding-left: 1.2rem; margin: 0 0 .5rem; max-width: 36rem; }
.tab-bem-liste li { margin-bottom: .2rem; }
.tab-col         { display: flex; flex-direction: column; } /* min-width: 160px; */
.tab-col--bgc0   { background-color: #eeeeee; }
.tab-col--bgc1   { background-color: #e2e2e2; }
.tab-col--bgc2   { background-color: #d7d7d7; }
.tab-col--bgc3   { background-color: #cccccc; }
.tab-col--bgc4   { background-color: #c0c0c0; }
.tab-col--bgc5   { background-color: #b4b4b4; }
.tab-col--bgc6   { background-color: #a9a9a9; }
.tab-col-titel   { font-size: .78rem; font-weight: 700; color: #444; text-align: center; 
                   margin: .5rem .2rem .2rem .2rem; white-space: nowrap; flex-shrink: 0; }
.tab-col-body    { display: flex; flex-direction: column; flex: 1; }
.tab-slot        { display: flex; flex-direction: column; }
.tab-slot--sieger { flex: 1; }
.tab-slot-inner  { display: flex; flex-direction: column; justify-content: center;
                   flex: 1; padding: .15rem 0; }
.tab-spiel       { border: 1px solid #e8e2d8; border-radius: 3px;
                   background: #fff; padding: 0; border-collapse: collapse; }
.tab-spiel--hr   { background: #A0FF68; border-color: #7acc4a; }
.tab-spiel--nr   { background: #E1FFCF; border-color: #b0e8a0; }
.tab-zeile       { display: flex; align-items: center; gap: 0;
                   min-height: 1.4rem; border-bottom: 1px solid #c8c8c8; }
.tab-zeile:last-child { border-bottom: none; }
.tab-sp          { font-size: .76rem; color: #000; flex: 1 1 0;
                   white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
                   min-width: 0; padding: .15rem .35rem;
                   border-right: 1px solid #c8c8c8; }
.tab-sp--sieger  { font-weight: 700; color: #000; }
.tab-sp--bye     { color: #b0aaa0; font-style: italic; }
.tab-sp--leer    { color: #d0ccc8; }
.tab-sp--geaendert { background: #fff8e8; }
.tab-saetze      { display: flex; gap: 0; flex-shrink: 0; }
.tab-sz          { font-size: .74rem; color: #000; min-width: 1.25rem;
                   text-align: center; padding: .05rem .05rem;
                   border-left: 1px solid #c8c8c8; }
.tab-sz--g       { font-weight: 700; color: #000; }
.tab-zelle             { font-size: .82rem; padding: .4rem .5rem;
                         border: 1px solid #e8e2d8; border-radius: 3px; background: #fff; }
.tab-zelle--sieger     { font-weight: 700; color: #000;
                         background: #f0faf2; border-color: #a8dab5; }
.tab-zelle--sieger-hr  { font-weight: 700; color: #000;
                         background: #FFFF00; border-color: #d4c200; }
.tab-zelle--sieger-nr  { font-weight: 700; color: #000;
                         background: #FFFFE0; border-color: #d4d090; }
.tab-zelle--leer       { color: #d0ccc8; }
