/* =========================================================
   SEAWOLVES ESSENTIALS - GEMEINSAME PLUGIN-STYLES
   Tabellen + Spielplan + Fanshop + Spiele-Slider
   ========================================================= */

/* =========================================================
   TABELLEN: BBL + EUROCUP
   ========================================================= */


.sw-team-table {
  width: 100%;
  padding: 18px;
  box-sizing: border-box;
  color: #ffffff;
}


/* =========================================================
   BBL / EUROCUP SCHALTER
   Optik wie die Filter im Spielplan
   ========================================================= */

.sw-team-table__switcher {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 18px;
}

/* Inaktiver Tab: Weiss + Blau */
.sw-team-table__link.sw-team-table__switch {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 2px 11px 0;
  border: 2px solid #ffffff;
  border-radius: 4px;
  background: #ffffff;
  color: #14285A;
  box-shadow: none;
  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  opacity: 1;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

/* Hover: gleiche Optik wie der aktive Tab */
.sw-team-table__link.sw-team-table__switch:hover {
  border-color: #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Aktiver Tab: transparent + weisse Kontur + weisse Schrift */
.sw-team-table__link.sw-team-table__switch.is-active,
.sw-team-table__link.sw-team-table__switch.is-active:hover,
.sw-team-table__link.sw-team-table__switch.is-active:active {
  border-color: #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Tastaturfokus: ebenfalls gleiche Optik, zusaetzlich klare Outline */
.sw-team-table__link.sw-team-table__switch:focus-visible {
  border-color: #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  outline: 3px solid #ffffff !important;
  outline-offset: 3px;
}

.sw-team-table__panel[hidden] {
  display: none !important;
}

.sw-team-table__empty {
  font-family: "Montserrat Regular", sans-serif;
}


/* =========================================================
   TABLE
   ========================================================= */

.sw-team-table__table,
.sw-team-table__table thead,
.sw-team-table__table tbody,
.sw-team-table__table tr,
.sw-team-table__table th,
.sw-team-table__table td {
  border: 0;
}

.sw-team-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}


/* =========================================================
   CELLS
   ========================================================= */

.sw-team-table__table th,
.sw-team-table__table td {
  padding: 14px 12px;
  border-bottom: 1px solid #131313;

  font-size: 16px;
  line-height: 1.2;
  text-align: left;
}

.sw-team-table__table tbody tr:last-child td {
  border-bottom: 0;
}

/* Startseite: helle Trennlinien auf dunklem Hero */
.sw-team-table--compact .sw-team-table__table th,
.sw-team-table--compact .sw-team-table__table td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
}

/* Gesamtuebersicht: dunkle Trennlinien auf hellem Hintergrund */
.sw-team-table--all .sw-team-table__table th,
.sw-team-table--all .sw-team-table__table td {
  border-bottom: 1px solid #131313 !important;
}

.sw-team-table--compact .sw-team-table__table tbody tr:last-child td,
.sw-team-table--all .sw-team-table__table tbody tr:last-child td {
  border-bottom: 0 !important;
}


/* =========================================================
   SPALTEN
   ========================================================= */

/* Team */
.sw-team-table__table th:nth-child(2),
.sw-team-table__table td:nth-child(2) {
  width: 42%;
}

/* Numerische Spalten zentrieren */
.sw-team-table__table th:nth-child(1),
.sw-team-table__table td:nth-child(1),
.sw-team-table__table th:nth-child(3),
.sw-team-table__table td:nth-child(3),
.sw-team-table__table th:nth-child(4),
.sw-team-table__table td:nth-child(4),
.sw-team-table__table th:nth-child(5),
.sw-team-table__table td:nth-child(5),
.sw-team-table__table th:nth-child(6),
.sw-team-table__table td:nth-child(6) {
  text-align: center;
}


/* =========================================================
   TYPOGRAFIE
   ========================================================= */

/* Standard-Zeilen */
.sw-team-table__table td {
  font-family: "Montserrat Regular", sans-serif;
  color: #131313;
}

/* Tabellenkopf */
.sw-team-table__table th {
  font-family: "Beachwood Tall Medium", sans-serif;
  letter-spacing: 1px;
  color: #E98308;
}

/* Seawolves-Zeile */
.sw-team-table__table tr.is-seawolves td {
  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 20px;
  letter-spacing: 1px;
  color: #E98308;
}


/* =========================================================
   FOOTER
   ========================================================= */

.sw-team-table__footer {
  margin-top: 40px;
  text-align: right;
}


/* =========================================================
   BUTTONS / LINKS
   ========================================================= */

.sw-team-table__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 9px 14px;
  border: 0;
  border-radius: 4px;

  /* Orange als CI-Akzent, Blau fuer ausreichenden Textkontrast */
  background: #E98308;
  color: #14285A;

  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
}

.sw-team-table__link:hover {
  background: #14285A;
  color: #ffffff;
  opacity: 1;
  text-decoration: none;
}

.sw-team-table__link:focus-visible {
  background: #14285A;
  color: #ffffff;
  outline: 3px solid #ffffff;
  outline-offset: 3px;
  opacity: 1;
  text-decoration: none;
}


/* =========================================================
   LABELS
   ========================================================= */

/* Standardmaessig Abkuerzungen anzeigen */
.sw-table-label-long {
  display: none;
}

/* Vollstaendige Tabelle auf Desktop: Langformen anzeigen */
.sw-team-table--all .sw-table-label-short {
  display: none;
}

.sw-team-table--all .sw-table-label-long {
  display: inline;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .sw-team-table {
    padding-left: 16px;
    padding-right: 16px;
  }

  .sw-team-table__switcher {
    gap: 6px;
  }

  .sw-team-table__switch {
    flex: 0 0 auto;
  }

  .sw-team-table__table th,
  .sw-team-table__table td {
    padding-left: 6px;
    padding-right: 6px;
  }

  /* PL */
  .sw-team-table__table th:nth-child(1),
  .sw-team-table__table td:nth-child(1) {
    width: 10%;
  }

  /* TEAM */
  .sw-team-table__table th:nth-child(2),
  .sw-team-table__table td:nth-child(2) {
    width: 43%;
  }

  /* G / S / N */
  .sw-team-table__table th:nth-child(3),
  .sw-team-table__table td:nth-child(3),
  .sw-team-table__table th:nth-child(4),
  .sw-team-table__table td:nth-child(4),
  .sw-team-table__table th:nth-child(5),
  .sw-team-table__table td:nth-child(5) {
    width: 10%;
  }

  /* PKT */
  .sw-team-table__table th:nth-child(6),
  .sw-team-table__table td:nth-child(6) {
    width: 17%;
    white-space: nowrap;
  }

  /* Mobil wieder Abkuerzungen verwenden */
  .sw-team-table--all .sw-table-label-long {
    display: none;
  }

  .sw-team-table--all .sw-table-label-short {
    display: inline;
  }
}


/* =========================================================
   SPIELPLAN: BBL + EUROCUP
   ========================================================= */


.sw-bbl-schedule {
  width: 100%;
  color: #131313;
  padding: 18px;
  box-sizing: border-box;
}


/* =========================================================
   FILTER
   ========================================================= */

.sw-bbl-schedule__controls {
  margin-bottom: 28px;
}

.sw-bbl-schedule__filter-mobile-toggle {
  display: none;
}

.sw-bbl-schedule__filter-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  column-gap: 24px;
  row-gap: 14px;
  align-items: end;
}

.sw-bbl-schedule__filter-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.sw-bbl-schedule__filter-label {
  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #E98308;
}

.sw-bbl-schedule__filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sw-bbl-schedule__filter-button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin: 0;
  padding: 7px 11px;
  border: 1px solid #14285A;
  border-radius: 4px;
  background: #ffffff;
  color: #14285A;
  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.sw-bbl-schedule__filter-button:hover,
.sw-bbl-schedule__filter-button:focus,
.sw-bbl-schedule__filter-button:active {
  border-color: #14285A !important;
  background: #ffffff !important;
  color: #14285A !important;
  box-shadow: none !important;
  outline: none;
}

.sw-bbl-schedule__filter-button.is-active {
  border-color: #14285A;
  background: #14285A;
  color: #ffffff;
}

.sw-bbl-schedule__filter-button.is-active:hover,
.sw-bbl-schedule__filter-button.is-active:focus,
.sw-bbl-schedule__filter-button.is-active:active {
  border-color: #14285A !important;
  background: #14285A !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.sw-bbl-schedule__filter-reset {
  align-self: end;
  display: inline-block;
  margin-bottom: 8px;
  color: #14285A;
  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
  cursor: pointer;
}

.sw-bbl-schedule__filter-reset:link,
.sw-bbl-schedule__filter-reset:visited,
.sw-bbl-schedule__filter-reset:hover,
.sw-bbl-schedule__filter-reset:focus,
.sw-bbl-schedule__filter-reset:active {
  color: #14285A !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sw-bbl-schedule__filter-reset.is-disabled {
  opacity: 0.35;
  pointer-events: none;
  text-decoration: none;
}


/* =========================================================
   TABLE
   ========================================================= */

.sw-bbl-schedule__scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.sw-bbl-schedule__table,
.sw-bbl-schedule__table thead,
.sw-bbl-schedule__table tbody,
.sw-bbl-schedule__table tr,
.sw-bbl-schedule__table th,
.sw-bbl-schedule__table td {
  border: 0;
}

.sw-bbl-schedule__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.sw-bbl-schedule__table th,
.sw-bbl-schedule__table td {
  padding: 14px 12px;
  vertical-align: middle;
  border-bottom: 1px solid #131313;
  font-size: 16px;
  line-height: 1.2;
}


/* =========================================================
   HEADER
   ========================================================= */

.sw-bbl-schedule__table th {
  font-family: "Beachwood Tall Medium", sans-serif;
  letter-spacing: 1px;
  color: #E98308;
  text-align: center;
}

.sw-bbl-schedule__head-competition {
  white-space: nowrap;
}

/* Sortierbare Tabellenkoepfe optisch wie bisher */
.sw-bbl-schedule__sort {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}

.sw-bbl-schedule__sort:hover,
.sw-bbl-schedule__sort:focus {
  color: #14285a;
  outline: none;
}

.sw-bbl-schedule__sort-icon::before {
  content: "↕";
  font-family: Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  opacity: 0.45;
}

.sw-bbl-schedule__table th[aria-sort="ascending"] .sw-bbl-schedule__sort-icon::before {
  content: "↑";
  opacity: 1;
}

.sw-bbl-schedule__table th[aria-sort="descending"] .sw-bbl-schedule__sort-icon::before {
  content: "↓";
  opacity: 1;
}


/* =========================================================
   TABLE CONTENT
   ========================================================= */

.sw-bbl-schedule__table td {
  font-family: "Montserrat Regular", sans-serif;
  color: #131313;
  text-align: center;
}


/* Wettbewerb */
.sw-bbl-schedule__table th:nth-child(1),
.sw-bbl-schedule__table td:nth-child(1) {
  width: 8%;
}


/* Datum */
.sw-bbl-schedule__table th:nth-child(2),
.sw-bbl-schedule__table td:nth-child(2) {
  width: 12%;
}


/* Ort */
.sw-bbl-schedule__table th:nth-child(3),
.sw-bbl-schedule__table td:nth-child(3) {
  width: 9%;
}


/* Uhrzeit */
.sw-bbl-schedule__table th:nth-child(4),
.sw-bbl-schedule__table td:nth-child(4) {
  width: 10%;
}


/* Gegner */
.sw-bbl-schedule__table th:nth-child(5),
.sw-bbl-schedule__table td:nth-child(5) {
  width: 31%;
  text-align: left;
}


/* Ergebnis */
.sw-bbl-schedule__table th:nth-child(6),
.sw-bbl-schedule__table td:nth-child(6) {
  width: 11%;
  text-align: center;
}


/* Aktion */
.sw-bbl-schedule__table th:nth-child(7),
.sw-bbl-schedule__table td:nth-child(7) {
  width: 19%;
  text-align: center;
}


/* =========================================================
   WETTBEWERB
   ========================================================= */

.sw-bbl-schedule__competition-logo {
  display: block;
  width: auto;
  max-width: 56px;
  height: 28px;
  object-fit: contain;
  margin: 0 auto;
}


/* =========================================================
   GEGNER
   ========================================================= */

.sw-bbl-schedule__opponent-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.sw-bbl-schedule__opponent-logo {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.sw-bbl-schedule__opponent-name {
  min-width: 0;
}


/* =========================================================
   MOBILE LABELS
   ========================================================= */

.sw-bbl-schedule__date-short,
.sw-bbl-schedule__location-short {
  display: none;
}


/* =========================================================
   AKTUELLES SPIEL
   ========================================================= */

.sw-bbl-schedule__table tr.is-current td {
  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 20px;
  letter-spacing: 1px;
  color: #E98308;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.sw-bbl-schedule__link,
.sw-bbl-schedule__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #14285A;
  color: #ffffff;
  text-decoration: none;

  padding: 9px 14px;
  border: 0;
  border-radius: 4px;

  font-family: "Beachwood Tall Medium", sans-serif;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
}


/* Alle Spiel-Buttons identisch breit */
.sw-bbl-schedule__link {
  width: 100%;
  max-width: 120px;
  min-height: 36px;
  box-sizing: border-box;
  white-space: nowrap;
}


.sw-bbl-schedule__link:hover,
.sw-bbl-schedule__link:focus,
.sw-bbl-schedule__toggle:hover,
.sw-bbl-schedule__toggle:focus {
  background: #1c3263;
  color: #ffffff;
  opacity: 1;
  text-decoration: none;
}


/* =========================================================
   TRENNLINIEN
   ========================================================= */

/* Nur die tatsächlich letzte sichtbare Zeile ohne Abschlusslinie.
   Die Klasse wird nach jedem Filtern/Sortieren per JS neu gesetzt. */
.sw-bbl-schedule__table tbody tr.is-last-visible td {
  border-bottom: 0;
}


/* =========================================================
   FOOTER
   ========================================================= */

.sw-bbl-schedule__footer {
  margin-top: 40px;
  text-align: right;
}

.sw-bbl-schedule__action-empty {
  display: inline-block;
  min-width: 1em;
}

.sw-bbl-schedule__row[hidden],
.sw-bbl-schedule__no-results[hidden] {
  display: none;
}

.sw-bbl-schedule__no-results td {
  padding: 24px 12px;
  text-align: center;
  font-family: "Montserrat Regular", sans-serif;
  color: #131313;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .sw-bbl-schedule {
    padding: 10px 0;
  }

  .sw-bbl-schedule__controls {
    margin: 0 4px 16px;
  }

  .sw-bbl-schedule__filter-mobile-toggle {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-height: 40px;
    margin: 0;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #14285A !important;
    border-radius: 4px;
    background: #ffffff !important;
    color: #14285A !important;
    box-shadow: none !important;
    font-family: "Beachwood Tall Medium", sans-serif;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    cursor: pointer;
  }

  .sw-bbl-schedule__filter-mobile-toggle:hover,
  .sw-bbl-schedule__filter-mobile-toggle:focus,
  .sw-bbl-schedule__filter-mobile-toggle:active {
    border-color: #14285A !important;
    background: #ffffff !important;
    color: #14285A !important;
    box-shadow: none !important;
    outline: none;
  }

  .sw-bbl-schedule__filter-mobile-label {
    flex: 0 0 auto;
  }

  .sw-bbl-schedule__filter-mobile-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #14285A;
    color: #ffffff;
    font-size: 11px;
    line-height: 1;
  }

  .sw-bbl-schedule__filter-mobile-count[hidden] {
    display: none !important;
  }

  .sw-bbl-schedule__filter-mobile-chevron {
    width: 8px;
    height: 8px;
    margin-left: auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transform-origin: center;
    transition: transform 0.2s ease;
  }

  .sw-bbl-schedule__controls.is-filter-open .sw-bbl-schedule__filter-mobile-chevron {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .sw-bbl-schedule__filter-panel {
    display: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px 12px;
    margin-top: 8px;
    padding: 14px 12px 12px;
    border: 1px solid rgba(233, 131, 8, 0.45);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 22px rgba(19, 19, 19, 0.08);
  }

  .sw-bbl-schedule__controls.is-filter-open .sw-bbl-schedule__filter-panel {
    display: grid;
  }

  .sw-bbl-schedule__filter-field {
    gap: 6px;
  }

  .sw-bbl-schedule__filter-field:nth-child(3) {
    grid-column: 1 / -1;
  }

  .sw-bbl-schedule__filter-label {
    font-size: 11px;
  }

  .sw-bbl-schedule__filter-options {
    gap: 5px;
  }

  .sw-bbl-schedule__filter-button {
    min-height: 30px;
    padding: 6px 8px;
    font-size: 10px;
    letter-spacing: 0.3px;
  }

  .sw-bbl-schedule__filter-reset {
    grid-column: 1 / -1;
    justify-self: end;
    align-self: center;
    margin: 0;
    font-size: 10px;
    letter-spacing: 0.3px;
  }


  .sw-bbl-schedule__table th,
  .sw-bbl-schedule__table td {
    padding: 10px 4px;
    font-size: 11px;
  }


  /* Wettbewerb-Text im Header ausblenden */
  .sw-bbl-schedule__head-competition-label {
    display: none;
  }

  .sw-bbl-schedule__head-competition .sw-bbl-schedule__sort-icon::before {
    font-size: 10px;
  }


  /* Datum ohne Jahr */
  .sw-bbl-schedule__date-long {
    display: none;
  }

  .sw-bbl-schedule__date-short {
    display: inline;
  }


  /* Heim/Auswärts zu H/A */
  .sw-bbl-schedule__location-long {
    display: none;
  }

  .sw-bbl-schedule__location-short {
    display: inline;
  }


  /* Wettbewerb */
  .sw-bbl-schedule__table th:nth-child(1),
  .sw-bbl-schedule__table td:nth-child(1) {
    width: 8%;
  }


  /* Datum */
  .sw-bbl-schedule__table th:nth-child(2),
  .sw-bbl-schedule__table td:nth-child(2) {
    width: 13%;
  }


  /* Ort */
  .sw-bbl-schedule__table th:nth-child(3),
  .sw-bbl-schedule__table td:nth-child(3) {
    width: 7%;
  }


  /* Uhrzeit */
  .sw-bbl-schedule__table th:nth-child(4),
  .sw-bbl-schedule__table td:nth-child(4) {
    width: 12%;
  }


  /* Gegner – nur Logo */
  .sw-bbl-schedule__table th:nth-child(5),
  .sw-bbl-schedule__table td:nth-child(5) {
    width: 15%;
    text-align: center;
  }


  /* Ergebnis */
  .sw-bbl-schedule__table th:nth-child(6),
  .sw-bbl-schedule__table td:nth-child(6) {
    width: 15%;
    text-align: center;
    white-space: nowrap;
  }


  /* Aktion */
  .sw-bbl-schedule__table th:nth-child(7),
  .sw-bbl-schedule__table td:nth-child(7) {
    width: 30%;
    text-align: center;
  }


  .sw-bbl-schedule__competition-logo {
    max-width: 30px;
    height: 20px;
  }


  .sw-bbl-schedule__opponent-inner {
    justify-content: center;
    gap: 0;
  }


  .sw-bbl-schedule__opponent-logo {
    width: 32px;
    height: 32px;
  }


  .sw-bbl-schedule__opponent-name {
    display: none;
  }


  .sw-bbl-schedule__table tr.is-current td {
    font-size: 14px;
  }


  .sw-bbl-schedule__link {
    width: 100%;
    max-width: 92px;
    min-height: 32px;

    padding: 6px 2px;

    font-size: 10px;
    line-height: 1.05;
    letter-spacing: 0.3px;

    white-space: normal;
    text-align: center;
  }


  .sw-bbl-schedule__toggle {
    padding: 8px 12px;
    font-size: 11px;
    letter-spacing: 0.5px;
  }


  .sw-bbl-schedule__footer {
    margin-top: 24px;
    text-align: center;
  }

}

/* =========================================================
   HOME – STANDALONE FANSHOP-SLIDER
   Zentral aus fanshop.php ausgelagert
   Produkt-Buttons: Weiss + Blau, Hover Blau + Weiss
   ========================================================= */

.sw-fanshop-slider,
.sw-fanshop-slider * {
    box-sizing: border-box;
}

.sw-fanshop-slider {
    --sw-fanshop-gap: 35px;
    --sw-fanshop-slide-width: 312px;
    --sw-fanshop-edge: 5%;

    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/*
 * Der bisherige Elementor-Slider nutzte auf Desktop ungefaehr
 * 90 % der verfuegbaren Breite. Bei 5 sichtbaren Produkten und
 * 35 px Abstand ergibt das bei ca. 1900 px Seitenbreite wieder
 * ziemlich genau die bisherigen ~313 px Kartenbreite.
 */
.sw-fanshop-slider__viewport {
    width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--sw-fanshop-edge);
}

.sw-fanshop-slider__viewport::-webkit-scrollbar {
    display: none;
}

.sw-fanshop-slider__track {
    display: flex;
    align-items: stretch;
    gap: var(--sw-fanshop-gap);
    width: max-content;
    min-width: 100%;
    margin: 0;
    padding: 0 var(--sw-fanshop-edge);
    list-style: none;
}

.sw-fanshop-slider__slide {
    display: flex;
    flex: 0 0 var(--sw-fanshop-slide-width);
    width: var(--sw-fanshop-slide-width);
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
}

.sw-fanshop-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: 0;
}

.sw-fanshop-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.sw-fanshop-card__image-wrap {
    display: block;
    width: 100%;
    background: #f1f1f1;
    border-radius: 12px;
    overflow: hidden;
}

.sw-fanshop-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: contain;
    background: #f1f1f1;
    border-radius: 12px;
}

.sw-fanshop-card__title {
    margin: 18px 0 12px;
    min-height: 48px;
    font-family: "Beachwood Tall Medium", sans-serif;
    font-size: 24px;
    font-weight: 500;
    font-style: normal;
    line-height: 24px;
    letter-spacing: -0.24px;
    color: #14285A;
}

.sw-fanshop-card__price {
    margin-bottom: 12px;
    color: #131313;
    font-size: 16px;
    line-height: 1.2;
}

.sw-fanshop-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: auto;
    padding: 8px 14px 6px;
    border: 2px solid #14285A;
    border-radius: 4px;
    background: #FFFFFF;
    color: #14285A !important;
    font-family: "Beachwood Tall Medium", sans-serif;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 1px;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.sw-fanshop-card__button:hover,
.sw-fanshop-card__button:focus {
    background: #14285A;
    color: #FFFFFF !important;
    border-color: #14285A;
    transform: none;
    text-decoration: none;
}

.sw-fanshop-card__button:focus-visible {
    outline: 3px solid #14285A;
    outline-offset: 3px;
}

.sw-fanshop-slider__nav {
    position: absolute;
    top: 34%;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #E98308;
    box-shadow: none;
    cursor: pointer;
    transform: translateY(-50%);
}

.sw-fanshop-slider__nav--prev {
    left: 8px;
}

.sw-fanshop-slider__nav--next {
    right: 8px;
}

.sw-fanshop-slider__nav[hidden] {
    display: none !important;
}

.sw-fanshop-slider__nav:hover,
.sw-fanshop-slider__nav:focus-visible {
    background: #E98308;
    color: #ffffff;
}

.sw-fanshop-slider__nav:focus-visible {
    outline: 3px solid #14285A;
    outline-offset: 3px;
}

.sw-fanshop-slider__chevron {
    display: block;
    width: 11px;
    height: 11px;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
}

.sw-fanshop-slider__chevron--prev {
    margin-left: 4px;
    transform: rotate(-135deg);
}

.sw-fanshop-slider__chevron--next {
    margin-right: 4px;
    transform: rotate(45deg);
}

@media (max-width: 1024px) {
    .sw-fanshop-slider {
        --sw-fanshop-gap: 24px;
        --sw-fanshop-edge: 5%;
    }
}

@media (max-width: 767px) {
    .sw-fanshop-slider {
        --sw-fanshop-gap: 16px;
        --sw-fanshop-edge: 24px;
    }

    .sw-fanshop-card__title {
        min-height: 60px;
        font-size: 20px;
        line-height: 20px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .sw-fanshop-slider__nav {
        top: 31%;
        width: 36px;
        height: 36px;
    }

    .sw-fanshop-slider__nav--prev {
        left: 4px;
    }

    .sw-fanshop-slider__nav--next {
        right: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sw-fanshop-slider__viewport {
        scroll-behavior: auto;
    }
}

/* =========================================================
   HOME – STANDALONE SPIELE-SLIDER
   Zentral aus games.php ausgelagert
   Status-Buttons:
   - Vergangenheit: Dunkel + Weiss, Hover Weiss + Blau
   - Zukunft: Weiss + Blau, Hover Dunkel + Weiss
   - Aktuell: Dunkel + Orange, Hover Orange + Blau
   ========================================================= */

.sw-game-slider {
		--sw-orange: #ef8200;
		--sw-blue: #14285A;
		--sw-background: #131313;
		--sw-slide-width: 349px;
		--sw-slide-gap: 40px;
		--sw-band-height: 144px;
		--sw-viewport-height: 230px;
		--sw-normal-offset: 8px;
		--sw-current-offset: -6px;
		position: relative;
		z-index: 30;
		width: 100%;
		max-width: 100%;
		height: var(--sw-band-height);
		min-height: var(--sw-band-height);
		margin: 0;
		padding: 0;
		background: var(--sw-background);
		color: #fff;
		overflow: visible;
	}

	.sw-game-slider,
	.sw-game-slider *,
	.sw-game-slider *::before,
	.sw-game-slider *::after {
		box-sizing: border-box;
	}

	.sw-game-slider__viewport {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		width: 100%;
		height: var(--sw-viewport-height);
		transform: translateY(-50%);
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-behavior: auto;
		scrollbar-width: none;
		-ms-overflow-style: none;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		padding-inline: 46px;
		background: transparent;
		display: flex;
		align-items: center;
		pointer-events: none;
	}

	.sw-game-slider__viewport.is-animating {
		scroll-snap-type: none;
	}

	.sw-game-slider__viewport::-webkit-scrollbar {
		display: none;
	}

	.sw-game-slider__track {
		display: flex;
		align-items: center;
		gap: var(--sw-slide-gap);
		width: max-content;
		min-width: 100%;
		height: var(--sw-band-height);
		min-height: var(--sw-band-height);
		padding: 0;
		margin: 0;
		pointer-events: auto;
	}

	.sw-game-slider__slide {
		position: relative;
		flex: 0 0 var(--sw-slide-width);
		width: var(--sw-slide-width);
		height: var(--sw-band-height);
		display: flex;
		align-items: center;
		justify-content: center;
		scroll-snap-align: center;
		scroll-snap-stop: always;
		padding: 0 3px;
	}

	.sw-game-slider .sw-game-card,
	.sw-game-slider .sw-game-card * {
		box-sizing: border-box;
	}

	.sw-game-slider .sw-game-card {
		position: relative;
		margin: 0 auto;
		color: #fff;
		text-align: center;
		background: transparent;
		box-shadow: none;
	}

	/* Vergangene und zukünftige Spiele */
	.sw-game-slider .sw-status-past,
	.sw-game-slider .sw-status-future {
		position: relative;
		width: min(100%, 194px);
		height: 118px;
		min-height: 118px;
		margin: 0 auto;
		padding: 2px;
		display: grid;
		grid-template-columns: 52px 60px 52px;
		grid-template-rows: 24px 58px 28px;
		column-gap: 13px;
		row-gap: 2px;
		align-items: center;
		align-content: center;
		justify-content: center;
		justify-items: center;
		transform: translateY(var(--sw-normal-offset));
	}

	.sw-game-slider .sw-status-past .sw-game-card__league,
	.sw-game-slider .sw-status-future .sw-game-card__league {
		position: absolute;
		top: 2px;
		left: 50%;
		width: 44px;
		height: 20px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin: 0;
		padding: 0;
		transform: translateX(-67px);
		line-height: 0;
	}

	.sw-game-slider .sw-status-past .sw-game-card__league-logo,
	.sw-game-slider .sw-status-future .sw-game-card__league-logo {
		display: block;
		width: auto;
		height: 15px;
		max-width: 42px;
		margin: 0;
		object-fit: contain;
		object-position: center;
	}

	.sw-game-slider .sw-status-past .sw-game-card__datetime,
	.sw-game-slider .sw-status-future .sw-game-card__datetime {
		position: absolute;
		top: 2px;
		left: 50%;
		width: max-content;
		height: 20px;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		margin: 0;
		padding: 0;
		transform: translateX(-15px);
		font-family: "Beachwood Tall Medium", "Montserrat", sans-serif;
		line-height: 1;
		white-space: nowrap;
		color: #fff;
	}

	.sw-game-slider .sw-status-past .sw-game-card__date,
	.sw-game-slider .sw-status-future .sw-game-card__date {
		font-size: 17px;
		font-weight: 500;
		line-height: 1;
	}

	.sw-game-slider .sw-status-past .sw-game-card__datetime-separator,
	.sw-game-slider .sw-status-future .sw-game-card__datetime-separator,
	.sw-game-slider .sw-status-past .sw-game-card__time,
	.sw-game-slider .sw-status-future .sw-game-card__time {
		display: none !important;
	}

	.sw-game-slider .sw-status-past .sw-game-card__logos,
	.sw-game-slider .sw-status-future .sw-game-card__logos {
		display: contents;
	}

	.sw-game-slider .sw-status-past .sw-game-card__logo,
	.sw-game-slider .sw-status-future .sw-game-card__logo {
		display: block;
		width: auto;
		height: 50px;
		max-width: 58px;
		object-fit: contain;
		object-position: center;
	}

	.sw-game-slider .sw-status-past .sw-game-card__logo--left,
	.sw-game-slider .sw-status-future .sw-game-card__logo--left {
		grid-column: 1;
		grid-row: 2;
		justify-self: center;
	}

	.sw-game-slider .sw-status-past .sw-game-card__logo--right,
	.sw-game-slider .sw-status-future .sw-game-card__logo--right {
		grid-column: 3;
		grid-row: 2;
		justify-self: center;
	}

	.sw-game-slider .sw-status-past .sw-game-card__result,
	.sw-game-slider .sw-status-future .sw-game-card__result {
		grid-column: 2;
		grid-row: 2;
		justify-self: center;
		min-width: 60px;
		min-height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		font-family: "Beachwood Tall UltraBold", "Beachwood Tall Medium", "Montserrat", sans-serif;
		font-weight: 800;
		line-height: .82;
		white-space: nowrap;
		color: #fff;
	}

	.sw-game-slider .sw-status-past .sw-game-card__result {
		font-size: 35px;
	}

	.sw-game-slider .sw-status-future .sw-game-card__result {
		font-size: 0;
		color: transparent;
	}

	.sw-game-slider .sw-status-future .sw-game-card__result::before {
		content: "VS";
		font-family: "Montserrat", sans-serif;
		font-size: 12px;
		font-weight: 800;
		line-height: 1;
		letter-spacing: .08em;
		color: rgba(255,255,255,.82);
	}

	.sw-game-slider .sw-status-past .sw-game-card__actions,
	.sw-game-slider .sw-status-future .sw-game-card__actions {
		grid-column: 1 / -1;
		grid-row: 3;
		align-self: center;
		margin: 0;
		padding: 2px 0 0;
	}

	.sw-game-slider .sw-game-card__button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 25px;
		margin: 0;
		/* Beachwood sitzt optisch leicht zu hoch: 2px Ausgleich nach unten. */
		padding: 2px 11px 0;
		border: 2px solid transparent;
		border-radius: 4px;
		box-shadow: none;
		font-family: "Beachwood Tall UltraBold", "Beachwood Tall Medium", "Montserrat", sans-serif;
		font-size: 14px;
		font-weight: 800;
		line-height: 1;
		text-transform: uppercase;
		text-decoration: none;
		transition: background-color .2s ease, border-color .2s ease, color .2s ease;
	}

	/* Vergangene Spiele: dunkel + weisse Kontur und Schrift. */
	.sw-game-slider .sw-status-past .sw-game-card__button--report {
		min-width: 102px;
		background: var(--sw-background);
		border-color: #fff;
		color: #fff;
	}

	/* Zukuenftige Spiele: weiss + blaue Schrift. */
	.sw-game-slider .sw-status-future .sw-game-card__button--ticket,
	.sw-game-slider .sw-status-future .sw-game-card__button--dyn,
	.sw-game-slider .sw-status-future .sw-game-card__button--magentasport {
		min-width: 76px;
		background: #fff;
		border-color: #fff;
		color: var(--sw-blue);
	}

	.sw-game-slider .sw-game-card__button:hover {
		text-decoration: none;
	}

	/* Vergangenheit im Hover/Fokus: weiss + blau. */
	.sw-game-slider .sw-status-past .sw-game-card__button--report:hover,
	.sw-game-slider .sw-status-past .sw-game-card__button--report:focus-visible {
		background: #fff;
		border-color: #fff;
		color: var(--sw-blue);
	}

	/* Zukunft im Hover/Fokus: dunkel + weisse Kontur und Schrift. */
	.sw-game-slider .sw-status-future .sw-game-card__button--ticket:hover,
	.sw-game-slider .sw-status-future .sw-game-card__button--ticket:focus-visible,
	.sw-game-slider .sw-status-future .sw-game-card__button--dyn:hover,
	.sw-game-slider .sw-status-future .sw-game-card__button--dyn:focus-visible,
	.sw-game-slider .sw-status-future .sw-game-card__button--magentasport:hover,
	.sw-game-slider .sw-status-future .sw-game-card__button--magentasport:focus-visible {
		background: var(--sw-background);
		border-color: #fff;
		color: #fff;
	}

	.sw-game-slider .sw-game-card__button:focus-visible,
	.sw-game-slider__nav:focus-visible {
		outline: 3px solid #fff;
		outline-offset: 3px;
	}

	/* Aktuelles Spiel */
	.sw-game-slider .sw-status-current {
		position: relative;
		z-index: 70;
		width: min(278px, calc(100vw - 34px));
		height: 202px;
		min-height: 202px;
		margin: 0;
		padding: 7px 11px 17px;
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 24px 60px 56px;
		row-gap: 6px;
		align-items: center;
		align-content: center;
		justify-content: center;
		background: var(--sw-background);
		border: 3px solid var(--sw-orange);
		border-radius: 12px;
		box-shadow: none;
		color: #fff;
		text-align: center;
		transform: translateY(var(--sw-current-offset));
	}

	.sw-game-slider .sw-status-current .sw-game-card__league {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		justify-self: start;
		align-self: center;
		margin: 0;
		padding: 0 16px;
		line-height: 0;
		text-align: left;
		z-index: 2;
	}

	.sw-game-slider .sw-status-current .sw-game-card__league-logo {
		display: block;
		width: auto;
		height: 18px;
		max-width: 46px;
		object-fit: contain;
		object-position: left center;
	}

	.sw-game-slider .sw-status-current .sw-game-card__datetime {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		min-height: 24px;
		display: grid;
		grid-template-columns: 64px 1fr 64px;
		column-gap: 10px;
		align-items: center;
		margin: 0;
		padding: 0 16px;
		font-family: "Beachwood Tall Medium", "Montserrat", sans-serif;
		line-height: 1;
		text-transform: uppercase;
		white-space: nowrap;
		color: #fff;
	}

	.sw-game-slider .sw-status-current .sw-game-card__date {
		grid-column: 2;
		width: 100%;
		justify-self: center;
		text-align: center;
		font-size: 22px;
		font-weight: 500;
		line-height: 1;
	}

	.sw-game-slider .sw-status-current .sw-game-card__datetime-separator {
		display: none;
	}

	.sw-game-slider .sw-status-current .sw-game-card__time {
		grid-column: 3;
		width: 64px;
		justify-self: end;
		text-align: right;
		font-size: 15px;
		font-weight: 500;
		line-height: 1;
		color: #fff;
	}

	.sw-game-slider .sw-status-current .sw-game-card__time::after {
		content: " Uhr";
		margin-left: .14em;
		text-transform: none;
	}

	.sw-game-slider .sw-status-current .sw-game-card__logos {
		grid-column: 1;
		grid-row: 2;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 58px;
		min-height: 58px;
		margin: 0;
		padding: 0 31px;
	}

	.sw-game-slider .sw-status-current .sw-game-card__logos::after {
		content: "VS";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-family: "Montserrat", sans-serif;
		font-size: 12px;
		font-weight: 800;
		line-height: 1;
		letter-spacing: .08em;
		color: rgba(255,255,255,.82);
	}

	.sw-game-slider .sw-status-current .sw-game-card__logo {
		display: block;
		width: auto;
		height: 54px;
		max-width: 65px;
		object-fit: contain;
		object-position: center;
	}

	.sw-game-slider .sw-status-current .sw-game-card__countdown {
		grid-column: 1;
		grid-row: 3;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		width: 100%;
		margin: 0;
		padding: 0 4px;
		color: #fff;
	}

	.sw-game-slider .sw-status-current .sw-countdown-grid {
		width: 100%;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0;
	}

	.sw-game-slider .sw-status-current .sw-countdown-unit {
		position: relative;
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		min-width: 0;
		padding-bottom: 15px;
	}

	.sw-game-slider .sw-status-current .sw-countdown-value,
	.sw-game-slider .sw-status-current .sw-countdown-separator {
		font-family: "Beachwood Tall UltraBold", "Beachwood Tall Medium", "Montserrat", sans-serif;
		font-size: 34px;
		font-weight: 800;
		line-height: .84;
		color: #fff;
	}

	.sw-game-slider .sw-status-current .sw-countdown-value {
		display: block;
	}

	.sw-game-slider .sw-status-current .sw-countdown-separator {
		flex: 0 0 10px;
		display: block;
		margin: 0;
		text-align: center;
	}

	.sw-game-slider .sw-status-current .sw-countdown-label {
		position: absolute;
		bottom: 0;
		left: 50%;
		display: block;
		transform: translateX(-50%);
		font-family: "Montserrat", sans-serif;
		font-size: 8px;
		font-weight: 800;
		line-height: 1;
		white-space: nowrap;
		color: #fff;
	}

	.sw-game-slider .sw-status-current .sw-game-card__actions {
		position: absolute;
		bottom: -20px;
		left: 50%;
		z-index: 80;
		margin: 0;
		padding: 0;
		transform: translateX(-50%);
	}

	.sw-game-slider .sw-status-current .sw-game-card__button--ticket,
	.sw-game-slider .sw-status-current .sw-game-card__button--dyn,
	.sw-game-slider .sw-status-current .sw-game-card__button--report,
	.sw-game-slider .sw-status-current .sw-game-card__button--magentasport {
		min-width: 158px;
		height: 40px;
		padding: 2px 20px 0;
		background: var(--sw-background);
		border: 3px solid var(--sw-orange);
		border-radius: 7px;
		color: #fff;
		font-size: 22px;
	}

	.sw-game-slider .sw-status-current .sw-game-card__button--ticket:hover,
	.sw-game-slider .sw-status-current .sw-game-card__button--ticket:focus-visible,
	.sw-game-slider .sw-status-current .sw-game-card__button--dyn:hover,
	.sw-game-slider .sw-status-current .sw-game-card__button--dyn:focus-visible,
	.sw-game-slider .sw-status-current .sw-game-card__button--report:hover,
	.sw-game-slider .sw-status-current .sw-game-card__button--report:focus-visible,
	.sw-game-slider .sw-status-current .sw-game-card__button--magentasport:hover,
	.sw-game-slider .sw-status-current .sw-game-card__button--magentasport:focus-visible {
		background: var(--sw-orange);
		border-color: var(--sw-orange);
		color: var(--sw-background);
	}

	.sw-game-slider .sw-status-current .sw-game-card__result {
		grid-column: 1;
		grid-row: 3;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		font-family: "Beachwood Tall UltraBold", "Beachwood Tall Medium", "Montserrat", sans-serif;
		font-size: 38px;
		font-weight: 800;
		line-height: .84;
		color: #fff;
	}

	/* Navigation */
	.sw-game-slider__nav {
		position: absolute;
		top: 50%;
		z-index: 90;
		width: 38px;
		height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		transform: translateY(-50%);
		border: 0;
		background: transparent;
		color: var(--sw-orange);
		box-shadow: none;
		font-size: 34px;
		line-height: 1;
		cursor: pointer;
	}

	.sw-game-slider__nav--prev { left: 8px; }
	.sw-game-slider__nav--next { right: 8px; }

	.sw-game-slider__nav:disabled {
		opacity: .35;
		cursor: default;
	}

	.sw-game-slider__empty {
		padding: 18px;
		background: #131313;
		color: #fff;
		text-align: center;
	}

	@media (max-width: 1024px) {
		.sw-game-slider {
			--sw-slide-width: 313px;
			--sw-slide-gap: 30px;
			--sw-band-height: 136px;
			--sw-viewport-height: 220px;
			--sw-normal-offset: 7px;
			--sw-current-offset: -5px;
		}

		.sw-game-slider .sw-status-past,
		.sw-game-slider .sw-status-future {
			width: min(100%, 184px);
			height: 110px;
			min-height: 110px;
			grid-template-columns: 48px 56px 48px;
			grid-template-rows: 22px 53px 26px;
			column-gap: 14px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__league,
		.sw-game-slider .sw-status-future .sw-game-card__league {
			width: 40px;
			transform: translateX(-62px);
		}

		.sw-game-slider .sw-status-past .sw-game-card__date,
		.sw-game-slider .sw-status-future .sw-game-card__date {
			font-size: 16px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__logo,
		.sw-game-slider .sw-status-future .sw-game-card__logo {
			height: 46px;
			max-width: 53px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__result {
			font-size: 32px;
		}

		.sw-game-slider .sw-status-current {
			width: min(264px, calc(100vw - 30px));
			height: 192px;
			min-height: 192px;
			padding: 7px 10px 16px;
			grid-template-rows: 23px 56px 53px;
			row-gap: 5px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__date {
			font-size: 20px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__time {
			font-size: 14px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__logo {
			height: 50px;
			max-width: 60px;
		}

		.sw-game-slider .sw-status-current .sw-countdown-value,
		.sw-game-slider .sw-status-current .sw-countdown-separator {
			font-size: 31px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__button--ticket,
		.sw-game-slider .sw-status-current .sw-game-card__button--dyn,
		.sw-game-slider .sw-status-current .sw-game-card__button--report {
			min-width: 144px;
			height: 36px;
			font-size: 20px;
		}
	}

	@media (max-width: 767px) {
		.sw-game-slider {
			--sw-slide-width: min(280px, calc(100vw - 44px));
			--sw-slide-gap: 16px;
			--sw-band-height: 130px;
			--sw-viewport-height: 214px;
			--sw-normal-offset: 6px;
			--sw-current-offset: -4px;
		}

		.sw-game-slider__viewport {
			padding-inline: 34px;
		}

		.sw-game-slider__slide {
			padding: 0 2px;
		}

		.sw-game-slider .sw-status-past,
		.sw-game-slider .sw-status-future {
			width: min(100%, 174px);
			height: 104px;
			min-height: 104px;
			grid-template-columns: 44px 52px 44px;
			grid-template-rows: 21px 49px 25px;
			column-gap: 15px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__league,
		.sw-game-slider .sw-status-future .sw-game-card__league {
			width: 36px;
			transform: translateX(-57px);
		}

		.sw-game-slider .sw-status-past .sw-game-card__date,
		.sw-game-slider .sw-status-future .sw-game-card__date {
			font-size: 15px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__logo,
		.sw-game-slider .sw-status-future .sw-game-card__logo {
			height: 43px;
			max-width: 49px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__result {
			font-size: 30px;
		}

		.sw-game-slider .sw-status-future .sw-game-card__result::before {
			font-size: 10px;
		}

		.sw-game-slider .sw-status-past .sw-game-card__button,
		.sw-game-slider .sw-status-future .sw-game-card__button {
			min-height: 23px;
			padding: 2px 9px 0;
			font-size: 12px;
		}

		.sw-game-slider .sw-status-current {
			width: min(250px, calc(100vw - 24px));
			height: 184px;
			min-height: 184px;
			padding: 6px 9px 15px;
			grid-template-rows: 22px 51px 49px;
			row-gap: 4px;
			border-radius: 10px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__date {
			font-size: 18px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__time {
			font-size: 13px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__logos {
			height: 49px;
			min-height: 49px;
			padding: 0 24px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__logo {
			height: 45px;
			max-width: 54px;
		}

		.sw-game-slider .sw-status-current .sw-countdown-separator {
			flex-basis: 8px;
		}

		.sw-game-slider .sw-status-current .sw-countdown-value,
		.sw-game-slider .sw-status-current .sw-countdown-separator {
			font-size: 28px;
		}

		.sw-game-slider .sw-status-current .sw-countdown-unit {
			padding-bottom: 13px;
		}

		.sw-game-slider .sw-status-current .sw-countdown-label {
			font-size: 7px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__actions {
			bottom: -17px;
		}

		.sw-game-slider .sw-status-current .sw-game-card__button--ticket,
		.sw-game-slider .sw-status-current .sw-game-card__button--dyn,
		.sw-game-slider .sw-status-current .sw-game-card__button--report {
			min-width: 130px;
			height: 34px;
			padding: 2px 14px 0;
			font-size: 18px;
		}

		.sw-game-slider__nav {
			width: 32px;
			height: 32px;
			font-size: 30px;
		}

		.sw-game-slider__nav--prev { left: 2px; }
		.sw-game-slider__nav--next { right: 2px; }
	}

	@media (prefers-reduced-motion: reduce) {
		.sw-game-slider .sw-game-card__button {
			transition: none;
		}
	}
