/**
 * @file
 * CSS für die Swiss Unihockey Live-Tabellen (Rankings).
 * Unterstützt das Standard-Layout (full) und das kompakte Sidebar-/Startseiten-Layout (short).
 */

/* ==========================================================================
   1. GEMEINSAME BASISSYLES (Gilt für Full und Short)
   ========================================================================== */
.su-rankings-wrapper {
  margin-top: 15px;
  margin-bottom: 15px;
  font-family: Arial, sans-serif;
  width: 100%;
}

.su-rankings-wrapper .su-table-title {
  color: #e2e1e0;
  font-size: 14px;
  margin-top: 0px;
  margin-bottom: 0px;
  border-bottom: 1px solid #ffffff;
  background-color: #444a49;
  padding: 10px 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.su-rankings-wrapper .su-rankings-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  background: #ffffff;
  border: 1px solid #dddddd;
  margin: 0px !important;
}

.su-rankings-wrapper .su-rankings-table thead {
  background: #f2f4f4;
  border-bottom: 2px solid #bdc3c7;
  position: sticky;
  top: 0;
  z-index: 10;
}

.su-rankings-wrapper .su-rankings-table th {
  padding: 10px;
  font-weight: bold;
  color: #e2e1e0;
}

.su-rankings-wrapper .su-rankings-table td {
  padding: 10px;
  color: #2c3e50;
  vertical-align: middle;
}

/* Zeilen-Farben & Highlights */
.su-rankings-wrapper tr.row-even { 
  background: #ffffff; 
}

.su-rankings-wrapper tr.row-odd { 
  background: #f9f9f9; 
}

.su-rankings-wrapper  tr.highlight-team { 
  background: #e8f8f5 !important; /* Hebt dein Wunschteam farblich ab */
}

/* ==========================================================================
   2. SPEZIFISCHES SHORT-LAYOUT & MOBILE ERZWUNGENE KOMPAKTANSICHT
   ========================================================================== */

/* 
   LOGIK: Wir packen alle Ihre bestehenden Short-Layout-Regeln in eine Liste,
   die ENTWEDER durch die Klasse .su-view-short ODER auf Handys (< 768px) triggert.
*/

@media (max-width: 767px), screen and (min-width: 768px) {
  
  /* Dieser Selektor gilt auf dem Handy IMMER, auf dem Desktop NUR bei .su-view-short */
  :is(.su-rankings-wrapper, .su-view-short.su-rankings-wrapper) {
    /* Wenn wir auf dem Desktop im Full-Modus sind, ignorieren wir das Handy-Raster */
    &.su-view-short, html:not(:has(.su-view-full)) & {
      /* Ihre bestehenden Short-Regeln folgen hier: */
    }
  }
}

/* 
   Hier ist die saubere, moderne CSS-Umsetzung für maximale Kompatibilität:
   Wir wenden Ihre Stile für .su-view-short direkt an, erzwingen sie aber zusätzlich via Media-Query auf Mobilgeräten.
*/

@media (max-width: 767px) {
  /* Auf Mobilgeräten wird jede Rangliste automatisch zum Short-Layout */
  .su-rankings-wrapper {
    max-width: 240px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .su-rankings-wrapper .node__header {
    display: none !important;
  }
  .su-rankings-wrapper .su-region-wrapper {
    max-width: 240px !important;
    max-height: 200px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin-bottom: 6px !important;
    border: 1px solid #dddddd !important;
    border-top: none !important;
  }
  .su-rankings-wrapper .su-rankings-table {
    width: 240px !important;
    table-layout: fixed !important;
    font-size: 11px !important;
  }
  .su-rankings-wrapper .su-rankings-table th, 
  .su-rankings-wrapper .su-rankings-table td {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 5px 6px !important;
  }
  /* Exakte Spaltenbreiten für das Handy */
  .su-rankings-wrapper .su-rankings-table th:nth-child(1), .su-rankings-wrapper .su-rankings-table td:nth-child(1) { width: 11% !important; }
  .su-rankings-wrapper .su-rankings-table th:nth-child(2), .su-rankings-wrapper .su-rankings-table td:nth-child(2) { width: 30% !important; }
  .su-rankings-wrapper .su-rankings-table th:nth-child(3), .su-rankings-wrapper .su-rankings-table td:nth-child(3) { width: 11% !important; }
  .su-rankings-wrapper .su-rankings-table th:nth-child(4), .su-rankings-wrapper .su-rankings-table td:nth-child(4) { width: 13% !important; }
  .su-rankings-wrapper .su-rankings-table th:nth-child(5), .su-rankings-wrapper .su-rankings-table td:nth-child(5) { width: 21% !important; }
  .su-rankings-wrapper .su-rankings-table th:nth-child(6), .su-rankings-wrapper .su-rankings-table td:nth-child(6) { width: 15% !important; }
}

@media (min-width: 768px) {
  /* Auf dem Desktop gelten die Stile NUR, wenn explizit die Klasse .su-view-short aktiv ist */
  .su-view-short.su-rankings-wrapper {
    max-width: 240px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .su-view-short.su-rankings-wrapper .node__header {
    display: none !important;
  }
  .su-view-short.su-rankings-wrapper .su-region-wrapper  {
    max-width: 240px !important;
    max-height: 200px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin-bottom: 6px !important;
    border: 1px solid #dddddd !important;
    border-top: none !important;
  }
  .su-view-short.su-rankings-wrapper .su-rankings-table {
    width: 240px !important;
    table-layout: fixed !important;
    font-size: 11px !important;
  }
  .su-view-short.su-rankings-wrapper .su-rankings-table th, 
  .su-view-short.su-rankings-wrapper .su-rankings-table td {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 5px 6px !important;
  }
  /* Exakte Spaltenbreiten für Desktop-Short-Ansichten (z.B. Sidebar) */
  .su-view-short.su-rankings-wrapper .su-rankings-table th:nth-child(1), .su-view-short.su-rankings-wrapper .su-rankings-table td:nth-child(1) { width: 11% !important; }
  .su-view-short.su-rankings-wrapper .su-rankings-table th:nth-child(2), .su-view-short.su-rankings-wrapper .su-rankings-table td:nth-child(2) { width: 30% !important; }
  .su-view-short.su-rankings-wrapper .su-rankings-table th:nth-child(3), .su-view-short.su-rankings-wrapper .su-rankings-table td:nth-child(3) { width: 11% !important; }
  .su-view-short.su-rankings-wrapper .su-rankings-table th:nth-child(4), .su-view-short.su-rankings-wrapper .su-rankings-table td:nth-child(4) { width: 13% !important; }
  .su-view-short.su-rankings-wrapper .su-rankings-table th:nth-child(5), .su-view-short.su-rankings-wrapper .su-rankings-table td:nth-child(5) { width: 21% !important; }
  .su-view-short.su-rankings-wrapper .su-rankings-table th:nth-child(6), .su-view-short.su-rankings-wrapper .su-rankings-table td:nth-child(6) { width: 15% !important; }
}


/**** Formating Swissunihockey Tables ****/
/* 0. Titel */
#block-uhcevigossau-views-block-swiss-unihockey-rangliste-block-1 h2,
#block-uhcevigossau-swissunihockeyteamspiele h2{
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0rem;
}

/* 1. Gesamte Tabelle / Rahmen */
.swiss-unihockey-tabelle table {
  border-collapse: collapse;
  width: 100%;
}

/* 2. Titel der Tabelle (Caption) */
.swiss-unihockey-tabelle caption {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 10px 0;
  text-align: left;
}

/* 3. Tabellen-Header (Kopfzeile) */
.swiss-unihockey-tabelle th {
  background-color: #646462;
  color: #ffffff;
  font-weight: bold;
  padding: 12px;
  border-left:   2px solid #fff;
  border-top:    1px solid #fff;
  border-right:  1px solid #fff;
  border-bottom: 0px;
}

/* 4. Ungerade Zeilen (1., 3., 5. ... Zeile im Hauptteil) */
.swiss-unihockey-tabelle tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

/* 5. Gerade Zeilen (2., 4., 6. ... Zeile im Hauptteil) */
.swiss-unihockey-tabelle tbody tr:nth-child(even) {
  background-color: #f8f9fa;
}

/* 6. Zellen-Inhalt (Allgemeines Padding für Text) */
.swissunihockey-tabelle td {
  padding: 10px;
  border-bottom: 1px solid #dee2e6;
}