*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  
body, html {
    margin:0;
    padding:0;
    font-family: 'Cairo';
}

html {
    scroll-behavior: smooth;
  }

/* Werbung benötigt das Flag damit Background nicht ersetzt wird */

body, #ip_content_wrapper { 
  background-color: #F3F4F5;
}

/* SAFARI Apple Fix */
html.dark body, html.dark #ip_content_wrapper {
    background-color: #18191a !important;
}

.backroundContainer {
  background-color: #f3f4f5 !important;
}

a,
a:hover,
a.visited {
  text-decoration: none;
  /*color:#000*/
  color: var(--bs-card-title-color);
}

.offcanvas-body a.nav-link {
  /* text-transform: uppercase; */
  font-weight: 500;
  color: #fff;
  font-size: 1.08rem;
}

.content--static a {
  text-decoration: none;
  color:#c80430
}

.zoomed {
  object-fit: cover;
  transition: transform 0.5s ease;
}

.icon-circle {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
}

.zoomed:hover {
  transform: scale(1.1);
}

/* ======= FONTS ===== */
/* cairo-regular - latin */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: local(''),
       url('../fonts/cairo-v20-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/cairo-v20-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* cairo-500 - latin */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: local(''),
       url('../fonts/cairo-v20-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/cairo-v20-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* cairo-700 - latin */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: local(''),
       url('../fonts/cairo-v20-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/cairo-v20-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* cairo-800 - latin */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: local(''),
       url('../fonts/cairo-v20-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../fonts/cairo-v20-latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* ======= FONTS .END ===== */

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #c80430;
}

.nav-link, .nav-link:hover, .nav-link:focus {
  --bs-nav-link-color: var(--bs-body-color) !important;
}


/* Überschrift der Section und Untersectionen */
.box-headline {
    color: #c80430;
    border-bottom: 1px solid #c80430;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.box-headline h2, .box-headline h1, .box-headline a, .box-headline h1 span, .box-headline h2 span, .box-head {
  /*color: #c80430;*/
  color: var(--bs-card-title-color);
}

.box-headline span {
    border-bottom: 2px solid #c80430;
    display: inline-block;
    height: inherit;
    padding-bottom: .3rem;
}


img.img-fluid.p-2.shadow-sm:hover {
    background: #d23647;

}

img.img-fluid.p-2.shadow-sm {
    background: #fff;
}

.container {
    max-width: 1200px;
}

.logo {
  width:64px;
}

.logobig {
  top:.4rem;
}

h1,
h2,
h3,
h4,
h5,
b,
#claim,
.spieler-number {
    font-family: 'Cairo';
    /*color: #0d4551;*/
    color: var(--bs-card-title-color);
}

/* .bg-secondary {
    background-color: #0d4551 !important;
} */

.bg-danger {
    background-color: rgb(200, 4, 48) !important;
}

.bg-table-head {
  --bs-table-bg: rgb(77 90 101);
  --bs-table-color-state: #fff;
 }

.bg-table-head2 {
  background-color: rgb(151 151 151) !important
}


.offcanvas-body li.nav-item {
    padding: 0.2em;
    border-bottom: 1px solid #686868;
}

.offcanvas-body li.nav-item:hover {
    background: #333;}

.twotextlines {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.slider-item-show10 {
    --swiffy-slider-item-count: 10;
}

#claim
{
	color:#4D5A65;
	font-family:"DEL2",sans-serif;
	font-weight:700;
	font-style:italic;
  font-size: 1.5rem;
}

#subclaim {
    color: #4D5A65;
    /* font-family: "DEL2", sans-serif; */
    font-weight: 600;
    font-size: .9rem;
}

.table-bordered>:not(caption)>*>* {
  border-width: 0 1px;
  border-color: #ededed;
}

@media (max-width: 62rem) {
.slider-item-show10 {
    --swiffy-slider-item-count: 3;
}
#claim {
  font-size: 15px;
}
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .slider-item-show6 {
    --swiffy-slider-item-count: 3;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .slider-item-show6 {
    --swiffy-slider-item-count: 3;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .slider-item-show6 {
    --swiffy-slider-item-count: 4;
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .slider-item-show6 {
    --swiffy-slider-item-count: 6;
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .slider-item-show6 {
    --swiffy-slider-item-count: 8;
  }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1800px) {
  .slider-item-show6 {
    --swiffy-slider-item-count: 12;
  }
}

.redcolor
{
	color:#d2002d
}

/* Scrollbar */
/* width */
::-webkit-scrollbar {
    width: 5px;
  }
  
  /* Track */
  ::-webkit-scrollbar-track {
    background: #888; 
  }
   
  /* Handle */
  ::-webkit-scrollbar-thumb {
    background: #d2002d; 
  }
  
  /* Handle on hover */
  ::-webkit-scrollbar-thumb:hover {
    background: #555; 
  }

  /* TEAM SEITEN */
  .team_rvt {
    background-color: #08519d;
  }

  .mh105px {
    max-height: 103px;
  }

  .spieler-80 {
    height:80px;
  }

  /* ======= CLUB SLIDER STARTPAGE ===== */
  
  .clubslider div {
    background-color: #fff;
  }

  .clubslider div:hover {
    background: #c80430;
    color: #fff;
  }

  /* ======= TEAM SITE ===== */

  .bg-team, .bg-team-btt, .bg-team-kev  {
    background-color: #000; /* schwarz */
  }

  .bg-team-frb {
    background-color: #2965a6;
  }

  .bg-team-reg {
    background-color: #e30613;
  }

  .bg-team-eck
  {
    background-color: #1d3380;
  }

  .bg-team-esv, .bg-team-ecn
  {
    background-color: #e30613;
  }

  .bg-team-dre {
    background-color: #26ade7;
  }

  .bg-team-rvt {
    background-color: #1a3d83;
  }

  .bg-team-evl {
    background-color: #e41b12;
  }

  .bg-team-lfx, .bg-team-sel {
    background-color: #082355;
  }

  .bg-team-epc {
    background-color: #dd042b;
  }

  .bg-team-hnf {
  background-color: #004884;
}

 .bg-team-ebr {
    background-color: #8b0321;
  }

  /* Button für Teamstats */
  .mh-80 {
    min-height: 80px;
  }

  /* SPielplan Auswahl Hack */
  tfoot {
  display: table-header-group;
  }
  /* Suche nicht im Spielplan anzeigen */
  /* #tabelle_filter { display:none;} */

.news--content img {
  max-width:100%;
}

/* Statistikbereich */
nav.submenu {
	overflow-x:auto;
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
}


.starttable tr {
    line-height: 1.73rem;
    font-size: .95em;
}

#btn-back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
}

/* .dataTables_wrapper {
  overflow-x: scroll;
} */

.dataTables_wrapper table {
  width: 100%;
}

/* #tabelle th:first-child,
#tabelle td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  border-right: 1px solid rgb(184 184 184 / 50%) !important;
} */
/*
#tabelle td:first-child:not(.no-bg) {
background-color:#eeeeee !important;
}
*/
#tabelle th:first-child {
  /* color: #fff; */
  background-color: #4d5a65;
}

.sorted-column {
  background: #00000008 !important;
}

.spieltagsrow {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
}

.spieltagcolumn {
  flex-basis: 0;
  flex-grow: 1;
}

.new--content img:not(.teamlogo) {
  width: 100%;
}

.list-group-item-secondary {
  color: #fff;
  background-color: #4d5a65;
}

.list-group-item-secondary:hover {
  color: #fff;
  background-color: #272e33;
}

.timeline {
  width: calc(50% + 36px);
}

.timeline[data-is-home-team=false] {
  justify-content: flex-start;
}

.timeline[data-is-home-team=true] {
  justify-content: flex-end;
  text-align: right;
}

/* TimeLine Only */
.timelinerow[data-is-home-team=true] {
  display: flex;
  justify-content: flex-start;
}

.timelinerow[data-is-home-team=false] {
  display: flex;
  justify-content: flex-end;
}

.timelineclock {
  width:72px;
  text-align: center;
}

.timelineclock[data-is-home-team=true] {
  order: 9999;
}

.timelineclock[data-is-home-team=false] {
  order: -9999;
}
/* TimeLine Only - END */

.form-select {
	font-size: 0.875rem;
}
.select--label {
	display: block;
	font-size: 12px;
	line-height: 12px;
	margin-bottom: 10px;
	text-transform: uppercase;
	}

  .card-footer {
    border-top: 0px;
    background: #fff;
  }

  .card {
    border:0;
  }
  .offcanvas-body .nav-item .bi {
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentcolor;
}

.erg {
  background: #fff;
}

.dropdown-item.active, .dropdown-item:active {
  background-color: rgb(200, 4, 48) !important;
}

.vertical-center {
  vertical-align: middle !important;
}

/* thead>tr>th.sorting_desc, thead>tr>th.sorting_asc {
  background: rgb(33 37 41 / 50%);
} */

/* th:nth-child(2).sorted-column, td:nth-child(2).sorted-column {
  background: #eee !important;
} */

.form-select:focus {
  border-color: rgb(200 4 48);
  border-top-color: rgb(200, 4, 48);
  border-right-color: rgb(200, 4, 48);
  border-bottom-color: rgb(200, 4, 48);
  border-left-color: rgb(200, 4, 48);
  outline: 0;
  outline-color: initial;
  outline-style: initial;
  outline-width: 0px;
  box-shadow: 0 0 0 0.25rem rgb(200 4 48 / 22%);
}

.claimbox, .newsdetails {
  background: #fff;
}

/*
html.dark #tabelle td:first-child:not(.no-bg), html.dark #tabelle-away td:first-child:not(.no-bg) {
  background: #333333 !important;
}
*/


html.dark .newsdetails, html.dark .bg-white {
  background-color: #242526 !important;
}

html.dark .claimbox {
  /* background-color: #3a3a3a !important; */
  background-color: #242526 !important;
  /* border-bottom:  1px solid var(--bs-border-color-translucent); */
}

.headerlivegameslider {
    background-color: #f9fafa;
    height:84px;
}

html.dark .headerlivegameslider {
  background-color: #242526 !important;
  height:84px;
}

html.dark .bg-light
{
  background: #202225 !important;
}

html.dark .bg-dark {
  background-color: #444 !important;
}

.table thead th {
  background-color: #f8f9fa !important;
  color: #000 !important;
}

html.dark .table thead th {
  color: #eee !important;
  background-color: #202225 !important;
}


input[type="search"] {
  background: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  padding: 0.37rem .375rem 0.3rem 0.75rem;
}

input[type="search"]:focus {
  border-color: rgb(200 4 48);
  border-top-color: rgb(200, 4, 48);
  border-right-color: rgb(200, 4, 48);
  border-bottom-color: rgb(200, 4, 48);
  border-left-color: rgb(200, 4, 48);
  outline: 0;
  outline-color: initial;
  outline-style: initial;
  outline-width: 0px;
  box-shadow: 0 0 0 0.25rem rgb(200 4 48 / 22%);
}

/* LOGO FIX */
@media (min-width: 990px) and (max-width: 1196px) {
    .logobig {
        top: 2.6rem;
    }
}


  /* DARK MODE FIX */

    [data-bs-theme=dark] {

      body, #ip_content_wrapper, .backroundContainer {
        background-color: #18191a !important;
      }

    .sorted-column {
      background: #111 !important;
    }
    
    nav.submenu {
      border-top:  1px solid var(--bs-border-color-translucent);
      border-bottom:  1px solid var(--bs-border-color-translucent);
    }

    .newsdetails {
      border: 1px solid var(--bs-border-color-translucent);
    }

    .erg {
      background-color: #242526 !important;
    }
   
    .erg:hover {
      background: rgb(236 236 236 / 5%);
    }

    .clubslider div {
      background-color: unset;
      background-color: #212529;
    }

    .bg-dark {
      background-color: #444 !important;
    }

    #claim, #subclaim {
      color: unset;
    }

    .card, .card-footer, .newsdetails, .bg-white {
      background-color: #242526 !important;
      /*border:1px solid #3a3b3c;*/
      border:0px;
      /* var(--bs-body-bg) */
    }

    h4 {
      color:unset;
    }


    .table-bordered>:not(caption)>*>* {
      border-width: 0 1px;
      border-color: #000
  }

  #tabelle td:first-child:not(.no-bg), #tabelle-away td:first-child:not(.no-bg) {
    background-color: #333333 !important;
  }

  .bg-light {
    background: #202225 !important;
    /* background: #1c1c1c !important; */
  }

  .bg-table-head {
    --bs-table-bg:  #242526;
    --bs-table-color-state: #fff;
    border-bottom: 1px solid #a10024;
 
  }

  }


  .stats-player-filter {
    width: min(100%, 20rem);
    margin-bottom: 1.5rem;
  }

  .standings-trend {
    display: inline-flex;
    align-items: center;
    margin-left: .2rem;
    font-size: .7rem;
    font-weight: 700;
    vertical-align: middle;
  }

  .standings-trend-up { color: var(--bs-success); }
  .standings-trend-down { color: var(--bs-danger); }
  .standings-trend-same { color: var(--bs-secondary-color); opacity: .6; }

  .standings-live {
    display: inline-block;
    margin-left: .35rem;
    padding: .05rem .35rem;
    border-radius: 999px;
    background-color: rgb(200, 4, 48);
    color: #fff;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    vertical-align: middle;
    animation: games-live-blink 1.5s infinite;
  }

  /* ===== Spielplan (templates/services/spielplan_liste.php) ===== */
  .games-label {
    display: block;
    margin-bottom: .25rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  /* ===== Zentraler Seitenkopf (templates/services/section_header.php) ===== */
  .section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0;
  }

  .section-header-title {
    margin: 0;
    font-size: clamp(1.6rem, 3.5vw, 2.6rem);
    font-style: italic;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1;
    text-transform: uppercase;
  }

  .section-header-subtitle {
    margin-top: .35rem;
    color: var(--bs-secondary-color);
    font-size: 1rem;
  }

  .section-header-aside {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
  }

  .section-header-select {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 14rem;
    margin: 0;
    padding: .5rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    cursor: pointer;
  }

  .section-header-select-label {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
  }

  .section-header-select select {
    padding: 0 1.75rem 0 0;
    border: 0;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right center / 14px 10px;
    color: var(--bs-body-color);
    font-size: 1.15rem;
    font-weight: 800;
    appearance: none;
    cursor: pointer;
  }

  .section-header-select select:focus {
    outline: none;
  }

  .section-header-select:focus-within {
    border-color: rgb(200, 4, 48);
  }

  .games-views {
    margin-bottom: 1.25rem;
  }

  .games-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
  }

  .games-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: .85rem .5rem;
    border: 0;
    border-bottom: 4px solid transparent;
    background: transparent;
    color: var(--bs-body-color);
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    transition: background-color .15s;
  }

  .games-tabs-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  a.games-tab {
    text-decoration: none;
  }

  a.games-tab:hover {
    color: var(--bs-body-color);
  }

  a.games-tab.active:hover {
    color: #fff;
  }

  .games-tab + .games-tab {
    border-left: 1px solid var(--bs-border-color);
  }

  .games-tab i {
    color: var(--bs-secondary-color);
    font-size: 1.25rem;
  }

  .games-tab:hover {
    background-color: var(--bs-tertiary-bg);
  }

  .games-tab.active {
    border-bottom-color: rgb(200, 4, 48);
    background-color: #1f2a37;
    color: #fff;
  }

  .games-tab.active i {
    color: #fff;
  }

  .games-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.5rem;
  }

  .games-seg {
    display: inline-flex;
    flex: 0 1 auto;
    gap: .25rem;
    padding: .25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50rem;
    background-color: var(--bs-tertiary-bg);
  }

  .games-seg-item {
    min-width: 9rem;
    padding: .6rem 1.5rem;
    border: 0;
    border-radius: 50rem;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-weight: 700;
    white-space: nowrap;
    transition: background-color .15s, color .15s;
  }

  a.games-seg-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  .games-seg-item:hover {
    background-color: var(--bs-secondary-bg);
  }

  .games-seg-item.active,
  .games-seg-item.active:hover {
    background-color: #1f2a37;
    color: #fff;
  }

  html.dark .games-seg-item.active,
  html.dark .games-seg-item.active:hover {
    background-color: #f8f9fa;
    color: #1f2a37;
  }

  .games-toolbar-sep {
    align-self: stretch;
    width: 1px;
    margin-left: auto;
    background-color: var(--bs-border-color);
  }

  .games-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
  }

  .games-drop {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem 1.1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    transition: background-color .15s;
  }

  .games-drop > i:first-child {
    font-size: 1.2rem;
  }

  .games-drop:hover,
  .games-drop[aria-expanded="true"] {
    background-color: var(--bs-tertiary-bg);
  }

  .games-drop-caret {
    font-size: .8rem;
    transition: transform .15s;
  }

  .games-drop[aria-expanded="true"] .games-drop-caret {
    transform: rotate(180deg);
  }

  .games-drop-menu {
    min-width: 16rem;
    padding: .4rem;
    border-radius: var(--bs-border-radius-lg);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
  }

  .games-drop-menu .dropdown-item {
    border-radius: var(--bs-border-radius);
    padding: .45rem .75rem;
  }

  .games-drop-menu .dropdown-item > i:first-child {
    margin-right: .35rem;
  }

  .games-drop-menu img {
    object-fit: contain;
  }

  .games-drop-scroll {
    max-height: 22rem;
    overflow-y: auto;
  }

  @media (max-width: 991.98px) {
    .games-toolbar-sep {
      display: none;
    }

    .games-seg {
      display: flex;
      flex: 1 1 100%;
    }

    .games-seg-item {
      flex: 1;
      min-width: 0;
      padding: .55rem .5rem;
    }
  }

  @media (max-width: 575.98px) {
    .games-seg-item {
      font-size: .85rem;
    }

    .games-toolbar-actions {
      width: 100%;
    }

    .games-toolbar-actions .dropdown {
      flex: 1;
    }

    .games-drop {
      justify-content: center;
      width: 100%;
      padding: .6rem .75rem;
      font-size: .85rem;
    }
  }

  .games-info-box {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-top: 2rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
  }

  .games-info-box-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    font-size: 1.6rem;
  }

  .games-info-box-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .2rem;
  }

  .games-info-box-text strong {
    font-size: 1.15rem;
    font-weight: 800;
  }

  .games-info-box-text span {
    color: var(--bs-secondary-color);
  }

  .games-info-box-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 1rem;
    padding: .8rem 1.5rem;
    border: 1px solid var(--bs-body-color);
    border-radius: var(--bs-border-radius-lg);
    color: var(--bs-body-color);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s, color .15s;
  }

  .games-info-box-btn:hover {
    background-color: var(--bs-body-color);
    color: var(--bs-body-bg);
  }

  @media (max-width: 767.98px) {
    .games-info-box {
      flex-wrap: wrap;
      padding: 1rem;
    }

    .games-info-box-icon {
      width: 2.75rem;
      height: 2.75rem;
      font-size: 1.25rem;
    }

    .games-info-box-text {
      flex-basis: calc(100% - 4.5rem);
    }

    .games-info-box-btn {
      justify-content: center;
      width: 100%;
    }
  }

  .games-panel {
    margin-top: .75rem;
    padding: .5rem 0 .75rem;
    border-bottom: 1px solid var(--bs-border-color);
  }

  .games-panel-date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
  }

  .games-team-hint {
    margin-top: 1rem;
  }

  .games-strip {
    display: flex;
    align-items: center;
    gap: .75rem;
  }

  .games-strip-arrow {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
  }

  .games-strip-arrow:hover {
    background-color: var(--bs-tertiary-bg);
  }

  .games-strip-track {
    display: flex;
    flex: 1;
    align-items: stretch;
    overflow-x: auto;
    padding: .25rem 0;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .games-strip-track::-webkit-scrollbar {
    display: none;
  }

  .games-strip-item {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .15rem;
    min-width: 9.5rem;
    padding: .5rem 1rem .9rem;
    border: 1.5px solid transparent;
    border-radius: var(--bs-border-radius-lg);
    background: transparent;
    color: var(--bs-body-color);
    scroll-snap-align: center;
  }

  .games-strip-item + .games-strip-item::before {
    content: "";
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: -1px;
    border-left: 1px solid var(--bs-border-color);
  }

  .games-strip-item:hover {
    background-color: var(--bs-tertiary-bg);
  }

  .games-strip-item.active {
    border-color: rgb(200, 4, 48);
    background-color: rgba(200, 4, 48, .05);
  }

  .games-strip-item.active::before,
  .games-strip-item.active + .games-strip-item::before {
    display: none;
  }

  .games-strip-title {
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .games-strip-sub {
    color: var(--bs-secondary-color);
    font-size: .85rem;
    white-space: nowrap;
  }

  .games-strip-dot {
    position: absolute;
    bottom: .3rem;
    left: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: rgb(200, 4, 48);
    transform: translateX(-50%);
  }

  .games-strip-team {
    min-width: 6rem;
    padding-bottom: .5rem;
  }

  .games-strip-team img {
    width: 36px;
    height: 36px;
    object-fit: contain;
  }

  .games-strip-team .games-strip-sub {
    color: var(--bs-body-color);
    font-weight: 700;
  }

  @media (max-width: 767.98px) {
    .section-header-aside,
    .section-header-select {
      width: 100%;
    }

    .games-tab {
      flex-direction: column;
      gap: .25rem;
      padding: .6rem .25rem;
      font-size: .7rem;
    }

    .games-tab i {
      font-size: 1.1rem;
    }

    .games-strip-arrow {
      display: none;
    }

    .games-strip-item {
      min-width: 7.5rem;
      padding: .4rem .6rem .8rem;
    }

    .games-strip-title {
      font-size: .85rem;
    }

    .games-strip-sub {
      font-size: .75rem;
    }

    .games-strip-team {
      min-width: 4.5rem;
    }
  }

  .games-day + .games-day {
    margin-top: 1.75rem;
  }

  .games-day {
    scroll-margin-top: 6rem;
  }

  .games-day-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .6rem;
    padding: 0 .25rem;
  }

  .games-day-date {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.01em;
  }

  .games-day-pill {
    padding: .45rem .8rem;
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    font-size: .8rem;
    font-weight: 600;
  }

  .games-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }

  .games-row {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1rem;
    padding: .6rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    transition: box-shadow .15s, border-color .15s;
  }

  .games-row:hover {
    border-color: var(--bs-secondary-border-subtle);
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .08);
  }

  .games-row-live {
    border-left: 4px solid rgb(200, 4, 48);
  }

  .games-day-today .games-day-date {
    color: rgb(200, 4, 48);
  }

  .games-meta {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
  }

  .games-meta-day {
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase;
  }

  .games-meta-time {
    font-size: 1.5rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
  }

  .games-match {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6.5rem minmax(0, 1fr);
    width: 100%;
    align-items: center;
    column-gap: 1rem;
    row-gap: .15rem;
  }

  .games-team {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    color: inherit;
    font-size: 1.1rem;
    font-weight: 800;
    text-decoration: none;
  }

  .games-team-home {
    justify-content: flex-end;
    text-align: right;
  }

  .games-team img {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    object-fit: contain;
  }

  .games-team-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  a.games-team:hover {
    color: inherit;
  }

  a.games-team:hover .games-team-name {
    text-decoration: underline;
  }

  .games-team-loser {
    font-weight: 700;
  }

  .games-score {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 6.5rem;
    min-height: 3.25rem;
    padding: .2rem .75rem;
    border-radius: var(--bs-border-radius);
    color: inherit;
    line-height: 1;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
  }

  .games-score:hover {
    box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .2);
    transform: translateY(-1px);
  }

  .games-score-played {
    background-color: #1f2a37;
    color: #fff;
  }

  .games-score-live {
    background-color: rgb(200, 4, 48);
    color: #fff;
  }

  .games-score-upcoming {
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-tertiary-bg);
  }

  .games-score-played:hover,
  .games-score-played:focus,
  .games-score-live:hover,
  .games-score-live:focus {
    color: #fff !important;
  }

  .games-score-upcoming:hover,
  .games-score-upcoming:focus {
    color: var(--bs-body-color) !important;
  }

  html.dark .games-score-played {
    background-color: #f8f9fa;
    color: #1f2a37;
  }

  html.dark .games-score-played:hover,
  html.dark .games-score-played:focus {
    color: #1f2a37 !important;
  }

  .games-score-value {
    font-size: 1.75rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .games-score-sep {
    padding: 0 .3rem;
  }

  .games-score-extra,
  .games-score .games-score-live {
    margin-top: .15rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .games-score span.games-score-live {
    background: none;
    animation: games-live-blink 1.5s infinite;
  }

  @keyframes games-live-blink {
    50% { opacity: .35; }
  }

  .games-score-vs {
    color: var(--bs-secondary-color);
    font-size: .9rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .games-info {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .15rem .75rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
  }

  .games-info i {
    margin-right: .2rem;
  }

  .games-info-sep {
    opacity: .5;
  }

  .games-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding-left: 1rem;
    border-left: 1px solid var(--bs-border-color);
  }

  .games-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    color: var(--bs-body-color);
    font-size: 1.05rem;
    text-decoration: none;
    transition: background-color .15s, color .15s;
  }

  .games-action:hover {
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
  }

  @media (max-width: 1199.98px) {
    .games-team {
      gap: .6rem;
      font-size: 1rem;
    }

    .games-team img {
      width: 40px;
      height: 40px;
    }

    .games-action {
      width: 2.1rem;
      height: 2.1rem;
      font-size: .9rem;
    }
  }

  @media (max-width: 767.98px) {
    .games-day-date {
      font-size: 1.1rem;
    }

    .games-row {
      grid-template-columns: minmax(0, 1fr);
      row-gap: .5rem;
      padding: .6rem .75rem;
    }

    .games-meta {
      flex-direction: row;
      align-items: baseline;
      gap: .5rem;
    }

    .games-meta-time {
      font-size: 1rem;
    }

    .games-match {
      grid-template-columns: minmax(0, 1fr) 4.5rem minmax(0, 1fr);
      column-gap: .5rem;
    }

    .games-team {
      font-size: .95rem;
    }

    .games-team img {
      width: 32px;
      height: 32px;
    }

    .games-score {
      width: 4.5rem;
      min-height: 2.75rem;
    }

    .games-score-value {
      font-size: 1.3rem;
    }

    .games-actions {
      justify-content: center;
      padding-top: .5rem;
      padding-left: 0;
      border-top: 1px solid var(--bs-border-color);
      border-left: 0;
    }
  }

  /* ===== Zentrales Tabellen-Layout (templates/services/tabelle_layout.php) ===== */
  .standings-label {
    display: block;
    margin-bottom: .25rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
  }

  .standings-table {
    font-size: .9rem;
  }

  .standings-table thead th {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-secondary-color) !important;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    border-bottom-width: 1px;
    white-space: nowrap;
  }

  .standings-table td, .standings-table th {
    padding-top: .55rem;
    padding-bottom: .55rem;
  }

  #tabelle.standings-table td.standings-zone, #tabelle.standings-table th.standings-zone {
    width: 5px;
    min-width: 5px;
    max-width: 5px;
    padding: 0 !important;
  }

  .standings-zone-po-home {
    background-color: #198754 !important;
  }

  .standings-zone-po {
    background-color: #6c757d !important;
  }

  .standings-zone-prepo {
    background-color: #ffc107 !important;
  }

  .standings-zone-pd {
    background-color: rgb(200, 4, 48) !important;
  }

  .standings-pos {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
  }

  .standings-pos.standings-zone-po-home,
  .standings-pos.standings-zone-po,
  .standings-pos.standings-zone-pd {
    color: #fff;
  }

  .standings-pos.standings-zone-po {
    background-color: #adb5bd !important;
  }

  .standings-pos.standings-zone-prepo {
    color: #212529;
  }

  #tabelle.standings-table .standings-go {
    width: 2rem;
    padding-right: .75rem;
    text-align: right;
  }

  .standings-go a {
    color: var(--bs-body-color);
    text-decoration: none;
  }

  .standings-table tbody tr {
    transition: background-color .15s;
  }

  .standings-table tbody tr:hover .standings-go a {
    color: rgb(200, 4, 48);
  }

  .standings-bar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    padding: .6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
  }

  .standings-bar-sep {
    align-self: stretch;
    width: 1px;
    margin: .25rem .25rem;
    background-color: var(--bs-border-color);
  }

  .standings-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
  }

  .standings-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-width: 5.5rem;
    padding: .5rem 1.1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50rem;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    transition: background-color .15s, color .15s;
    cursor: pointer;
  }

  .standings-pill:hover {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
  }

  .standings-pill.active,
  .standings-pill.active:hover {
    border-color: #1f2a37;
    background-color: #1f2a37;
    color: #fff;
  }

  html.dark .standings-pill.active,
  html.dark .standings-pill.active:hover {
    border-color: #f8f9fa;
    background-color: #f8f9fa;
    color: #1f2a37;
  }

  .standings-more {
    margin-left: auto;
  }

  .standings-more > summary {
    list-style: none;
  }

  .standings-more > summary::-webkit-details-marker {
    display: none;
  }

  .standings-more-panel {
    position: absolute;
    top: calc(100% + .4rem);
    right: 0;
    z-index: 20;
    width: min(32rem, 100%);
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
  }

  @media (max-width: 767.98px) {
    .standings-bar {
      flex-wrap: nowrap;
      overflow-x: auto;
      scrollbar-width: none;
    }

    .standings-bar::-webkit-scrollbar {
      display: none;
    }

    .standings-pills {
      flex-wrap: nowrap;
    }

    .standings-pill {
      min-width: 0;
      padding: .4rem .85rem;
      font-size: .85rem;
    }

    .standings-more-panel {
      position: fixed;
      top: auto;
      right: .75rem;
      bottom: .75rem;
      left: .75rem;
      width: auto;
    }
  }

  .standings-logo img {
    object-fit: contain;
  }

  .standings-team {
    white-space: nowrap;
  }

  .standings-team a:hover {
    text-decoration: underline !important;
  }

  #tabelle.standings-table .standings-points {
    background-color: var(--bs-tertiary-bg) !important;
    font-weight: 800;
    font-size: 1rem;
  }

  #tabelle.standings-table thead .standings-points {
    font-size: .7rem;
    color: var(--bs-body-color) !important;
  }

  .standings-form {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    font-size: .65rem;
    font-weight: 800;
    line-height: 1;
  }

  .standings-form-w {
    background-color: #198754;
    color: #fff;
  }

  .standings-form-ow {
    background-color: transparent;
    color: #198754;
    border: 2px solid #198754;
  }

  .standings-form-l {
    background-color: rgb(200, 4, 48);
    color: #fff;
  }

  .standings-form-ol {
    background-color: transparent;
    color: rgb(200, 4, 48);
    border: 2px solid rgb(200, 4, 48);
  }

  a:hover > .standings-form {
    transform: scale(1.15);
  }

  .standings-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 .25rem;
    margin-left: .15rem;
    border-radius: 50rem;
    background-color: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    font-size: .65rem;
    font-weight: 800;
    vertical-align: middle;
  }

  .standings-flag-success {
    background-color: #198754;
    color: #fff;
  }

  .standings-flag-danger {
    background-color: rgb(200, 4, 48);
    color: #fff;
  }

  .standings-legend-pill {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem .7rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50rem;
    font-size: .8rem;
  }

  .standings-legend-dot {
    display: inline-block;
    width: .75rem;
    height: .75rem;
    border-radius: 50%;
  }

  /* ===== Video-Archiv (templates/services/videos_archiv.php) ===== */
  .video-search {
    position: relative;
    display: block;
  }

  .video-search i {
    position: absolute;
    top: 50%;
    left: .65rem;
    transform: translateY(-50%);
    color: var(--bs-secondary-color);
    font-size: .8rem;
    pointer-events: none;
  }

  .video-search input {
    padding-left: 1.9rem;
  }

  .video-filter .standings-pill {
    min-width: 0;
  }

  .video-pill-count {
    padding: 0 .4rem;
    border-radius: 50rem;
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
  }

  .standings-pill.active .video-pill-count {
    background: rgba(255, 255, 255, .2);
    color: inherit;
  }

  .video-seg {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .video-seg .games-seg-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-width: 0;
    padding-inline: 1.25rem;
  }

  .games-seg-item.active .video-pill-count {
    background: rgba(255, 255, 255, .2);
    color: inherit;
  }

  .video-filter-result {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--bs-secondary-color);
    font-size: .85rem;
    font-weight: 700;
    white-space: nowrap;
  }

  .video-reset {
    padding: 0;
    color: rgb(200, 4, 48);
    font-weight: 700;
    text-decoration: none;
  }

  .video-group {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 1.5rem 0 .75rem;
    font-size: 1rem;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
  }

  .video-group::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--bs-border-color);
  }

  [data-video-list] > .video-group:first-child {
    margin-top: .5rem;
  }

  .video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1rem;
  }

  .video-card {
    height: 100%;
  }

  .video-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
  }

  .video-card-link:hover {
    color: var(--bs-body-color);
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .12);
  }

  .video-card-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #1f2a37;
  }

  .video-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
  }

  .video-card-link:hover .video-card-thumb img {
    transform: scale(1.05);
  }

  .video-card-play {
    position: absolute;
    right: .6rem;
    bottom: .6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: rgb(200, 4, 48);
    font-size: 1.4rem;
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .25);
    transition: transform .15s;
  }

  .video-card-link:hover .video-card-play {
    transform: scale(1.1);
  }

  .video-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .35rem;
    padding: .75rem .9rem .85rem;
  }

  .video-card-title {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.3;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .video-card-meta {
    margin-top: auto;
    color: var(--bs-secondary-color);
    font-size: .75rem;
  }

  .video-empty {
    padding: 3rem 1rem;
    border: 1px dashed var(--bs-border-color);
    border-radius: 1rem;
    color: var(--bs-secondary-color);
    text-align: center;
  }

  .video-empty i {
    display: block;
    margin-bottom: .5rem;
    font-size: 2rem;
  }

  @media (max-width: 575.98px) {
    .video-seg .games-seg-item {
      padding-inline: .5rem;
    }

    .video-grid {
      grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
      gap: .75rem;
    }
  }

  /* ===== Fixierte Spalten (Content::dataTables → tabelleStickySpalten) ===== */
  .table-sticky > :is(thead, tbody, tfoot) > tr > * {
    white-space: nowrap;
  }

  .table-sticky[data-sticky] > :is(thead, tbody, tfoot) > tr > :nth-child(1),
  .table-sticky:is([data-sticky="2"], [data-sticky="3"]) > :is(thead, tbody, tfoot) > tr > :nth-child(2),
  .table-sticky[data-sticky="3"] > :is(thead, tbody, tfoot) > tr > :nth-child(3) {
    position: sticky;
    z-index: 2;
  }

  /* Zellen deckend, damit gescrollter Inhalt nicht durchscheint (Kopfzeile ist bereits deckend) */
  .table-sticky > :is(tbody, tfoot) > tr > :is(:nth-child(1), :nth-child(2), :nth-child(3)) {
    background-color: var(--bs-table-bg) !important;
  }

  .table-sticky > :is(thead, tbody, tfoot) > tr > :nth-child(1) { left: var(--sticky-left-0, 0); }
  .table-sticky > :is(thead, tbody, tfoot) > tr > :nth-child(2) { left: var(--sticky-left-1, 0); }
  .table-sticky > :is(thead, tbody, tfoot) > tr > :nth-child(3) { left: var(--sticky-left-2, 0); }

  /* Trennschatten an der letzten fixierten Spalte */
  .table-sticky[data-sticky="1"] > :is(thead, tbody, tfoot) > tr > :nth-child(1),
  .table-sticky[data-sticky="2"] > :is(thead, tbody, tfoot) > tr > :nth-child(2),
  .table-sticky[data-sticky="3"] > :is(thead, tbody, tfoot) > tr > :nth-child(3) {
    box-shadow: inset -1px 0 0 var(--bs-border-color), inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg, transparent)));
  }

  /* ===== Seitenleiste unter Statistik-Tabellen (Content::dataTables $pageLength) ===== */
  .stats-table-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .75rem;
  }

  .stats-table-foot-single .dataTables_paginate {
    display: none;
  }

  .stats-table-foot .dataTables_length label {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: .85rem;
    font-weight: 600;
  }

  .stats-table-foot .dataTables_length select {
    width: auto;
    padding: .3rem 2rem .3rem .8rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 700;
  }

  .stats-table-foot .dataTables_length select {
    display: inline-block;
    width: 5.5rem !important;
    min-width: 0;
    height: 2.1rem;
    padding: 0 1.8rem 0 .8rem !important;
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
  }

  .stats-table-foot .dataTables_paginate {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    margin: 0 !important;
    padding: 0 !important;
  }

  .stats-table-foot .dataTables_paginate > span {
    display: contents;
  }

  .stats-table-foot .paginate_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    margin: 0 !important;
    padding: 0 .6rem !important;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 999px !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    font-size: .85rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none !important;
  }

  .stats-table-foot .paginate_button:hover {
    border-color: var(--bs-body-color) !important;
    color: var(--bs-body-color) !important;
  }

  .stats-table-foot .paginate_button.current,
  .stats-table-foot .paginate_button.current:hover {
    border-color: var(--bs-dark) !important;
    background: var(--bs-dark) !important;
    color: #fff !important;
  }

  .stats-table-foot .paginate_button.disabled,
  .stats-table-foot .paginate_button.disabled:hover {
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
    opacity: .4;
    cursor: default;
  }

  .stats-table-foot .ellipsis {
    padding: 0 .25rem;
    color: var(--bs-secondary-color);
  }

  @media (max-width: 575.98px) {
    .stats-table-foot {
      justify-content: center;
    }
  }

  /* ===== Werte filtern: DataTables SearchBuilder im Filter-Panel (Content::dataTables) ===== */
  .standings-more-panel:has(.stats-builder) {
    width: min(40rem, calc(100vw - 1.5rem));
  }

  .stats-builder:not(:first-child) {
    margin-top: .5rem;
    padding-top: .75rem;
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .stats-builder .dtsb-searchBuilder {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
  }

  .stats-builder .dtsb-titleRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin: 0 0 .5rem;
    height: auto;
    min-height: 1.75rem;
    float: none;
  }

  .stats-builder .dtsb-titleRow > * {
    float: none;
    margin: 0 !important;
  }

  .stats-builder .dtsb-title {
    margin: 0;
    padding: 0;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-align: left;
    flex: 1 1 auto;
  }

  .stats-builder .dtsb-group {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin: 0 !important;
    padding: 0;
  }

  .stats-builder .dtsb-group .dtsb-group {
    padding-left: .75rem;
    border-left: 2px solid var(--bs-border-color);
  }

  .stats-builder .dtsb-logicContainer {
    position: static !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .25rem;
    width: auto !important;
    margin: 0;
    transform: none !important;
    border: 0;
    background: none;
  }

  .stats-builder .dtsb-logicContainer .dtsb-logic,
  .stats-builder .dtsb-logicContainer .dtsb-clearGroup {
    height: auto !important;
    transform: none !important;
    writing-mode: horizontal-tb;
  }

  .stats-builder .dtsb-logicContainer > * {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  /* Nur eine Ebene: "Zurücksetzen" ersetzt das Gruppen-× */
  .stats-builder .dtsb-logicContainer .dtsb-clearGroup {
    display: none !important;
  }

  .stats-builder .dtsb-logicContainer .dtsb-logic {
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 999px !important;
    background-color: var(--bs-body-bg) !important;
  }

  .stats-builder .dtsb-logicContainer .dtsb-logic div {
    transform: none !important;
  }

  .stats-builder .dtsb-criteria {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    margin: 0;
    padding: .5rem;
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-tertiary-bg);
  }

  .stats-builder .dtsb-criteria .dtsb-dropDown,
  .stats-builder .dtsb-criteria .dtsb-input {
    flex: 1 1 8rem;
    height: auto !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
    padding: .3rem 2rem .3rem .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: .85rem;
    font-style: normal !important;
  }

  .stats-builder .dtsb-criteria .dtsb-input {
    padding-right: .75rem;
  }

  .stats-builder .dtsb-criteria .dtsb-dropDown:disabled {
    opacity: .55;
  }

  .stats-builder .dtsb-inputCont {
    display: flex;
    flex: 1 1 8rem;
    gap: .4rem;
    align-items: center;
    margin: 0;
    padding: 0;
    width: auto;
  }

  .stats-builder .dtsb-joiner {
    color: var(--bs-secondary-color);
    font-size: .8rem;
  }

  .stats-builder .dtsb-buttonContainer {
    display: flex;
    gap: .25rem;
    margin-left: auto;
    float: none;
  }

  /* Alle Buttons als Pillen im Stil der Filterleiste */
  .stats-builder .dtsb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    margin: 0;
    padding: .3rem .8rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.4;
    box-shadow: none;
  }

  .stats-builder .dtsb-button:hover {
    border-color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
  }

  .stats-builder .dtsb-delete,
  .stats-builder .dtsb-clearGroup {
    width: 1.9rem;
    height: 1.9rem !important;
    padding: 0;
    color: var(--bs-secondary-color);
  }

  .stats-builder .dtsb-delete:hover,
  .stats-builder .dtsb-clearGroup:hover {
    border-color: rgb(200, 4, 48);
    color: rgb(200, 4, 48);
  }

  .stats-builder .dtsb-logic {
    padding: .15rem .6rem;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
  }

  .stats-builder .dtsb-clearAll {
    padding: .15rem .6rem;
    border-color: transparent;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    text-decoration: underline;
  }

  .stats-builder .dtsb-clearAll:hover {
    border-color: transparent;
    color: rgb(200, 4, 48);
  }

  .stats-builder .dtsb-group > .dtsb-add,
  .stats-builder .dtsb-group > .dtsb-search {
    align-self: flex-start;
  }

  .stats-builder .dtsb-group > .dtsb-search {
    align-self: flex-end;
    margin-top: -2.4rem;
    border-color: var(--bs-dark);
    background-color: var(--bs-dark);
    color: #fff;
  }

  .stats-builder .dtsb-group > .dtsb-search:hover {
    background-color: var(--bs-dark);
    color: #fff;
    opacity: .85;
  }

  .stats-builder .dtsb-greyscale {
    border-color: var(--bs-border-color) !important;
  }

  @media (max-width: 575.98px) {
    .stats-builder .dtsb-criteria .dtsb-dropDown,
    .stats-builder .dtsb-criteria .dtsb-input,
    .stats-builder .dtsb-inputCont {
      flex: 1 1 100%;
    }

    .stats-builder .dtsb-buttonContainer {
      width: 100%;
      justify-content: flex-end;
    }
  }

  /* ===== Statistik-Übersicht: Top-Listen (templates/stats_home.php) ===== */
  .stats-leader-card {
    display: flex;
    flex-direction: column;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
    overflow: hidden;
  }

  .stats-leader-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem 1rem;
    padding: 1rem 1rem .75rem;
  }

  .stats-leader-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
  }

  .stats-leader-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    padding: .2rem;
    background-color: var(--bs-tertiary-bg);
    border-radius: 999px;
  }

  .stats-leader-tab {
    border: 0;
    background: transparent;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
    padding: .25rem .7rem;
    border-radius: 999px;
    white-space: nowrap;
  }

  .stats-leader-tab:hover {
    color: var(--bs-body-color);
  }

  .stats-leader-tab.active {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
  }

  .stats-leader-panel {
    padding: 0 .75rem;
  }

  .stats-leader-table {
    width: 100%;
    border-collapse: collapse;
  }

  .stats-leader-table thead th {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
    padding: .6rem .5rem;
    white-space: nowrap;
  }

  .stats-leader-table thead th:first-child {
    border-radius: .6rem 0 0 .6rem;
  }

  .stats-leader-table thead th:last-child {
    border-radius: 0 .6rem .6rem 0;
    padding-right: .75rem;
  }

  .stats-leader-table tbody td {
    padding: .5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    vertical-align: middle;
  }

  .stats-leader-table tbody tr:last-child td {
    border-bottom: 0;
  }

  .stats-leader-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    background-color: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    font-size: .85rem;
    font-weight: 800;
  }

  .stats-leader-rank-1 { background-color: #d4a72c; color: #fff; }
  .stats-leader-rank-2 { background-color: #9aa3ad; color: #fff; }
  .stats-leader-rank-3 { background-color: #b87333; color: #fff; }

  .stats-leader-player,
  .stats-leader-club {
    display: flex;
    align-items: center;
    gap: .75rem;
  }

  .stats-leader-player {
    color: var(--bs-body-color);
    font-weight: 700;
    text-decoration: none;
  }

  .stats-leader-player:hover span {
    color: rgb(200, 4, 48);
  }

  .stats-leader-player img {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    background-color: var(--bs-secondary-bg);
  }

  .stats-leader-club {
    color: var(--bs-secondary-color);
    font-size: .9rem;
  }

  .stats-leader-club img {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    object-fit: contain;
  }

  .stats-leader-value {
    text-align: right;
    padding-right: .75rem !important;
    font-size: 1.2rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .stats-leader-empty td {
    color: var(--bs-secondary-color);
    opacity: .6;
  }

  .stats-leader-more {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
    padding: .75rem 1rem;
    font-size: .85rem;
    font-weight: 700;
    color: var(--bs-body-color);
    text-decoration: none;
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .stats-leader-more:hover {
    color: rgb(200, 4, 48);
  }

  @media (max-width: 575.98px) {
    .stats-leader-club span {
      display: none;
    }

    .stats-leader-player {
      gap: .5rem;
      font-size: .9rem;
    }

    .stats-leader-player img {
      width: 36px;
      height: 36px;
    }
  }

  /* ===== Statistik-Layout (templates/services/stats_layout.php) ===== */
  .stats-seg {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .stats-seg::-webkit-scrollbar {
    display: none;
  }

  .stats-seg .games-seg-item {
    min-width: 0;
    padding-inline: 1.35rem;
  }

  .stats-bar .standings-pill {
    flex: 0 0 auto;
    min-width: 0;
  }

  .stats-toolbar .stats-seg {
    min-width: 0;
  }

  .stats-club-drop .games-drop {
    min-width: 13rem;
    justify-content: flex-start;
  }

  .stats-club-drop-icon {
    display: inline-flex;
    font-size: 1.2rem;
  }

  .stats-club-drop img {
    width: 22px;
    height: 22px;
    object-fit: contain;
  }

  .stats-club-drop-label {
    flex: 1;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
  }

  .stats-club-drop .dropdown-item.active img {
    padding: 1px;
    border-radius: 50%;
    background-color: #fff;
  }

  .stats-search {
    position: relative;
    margin-left: auto;
    min-width: 12rem;
  }

  .stats-search + .standings-more {
    margin-left: 0;
  }

  .stats-search > i {
    position: absolute;
    top: 50%;
    left: .8rem;
    z-index: 1;
    transform: translateY(-50%);
    color: var(--bs-secondary-color);
    font-size: .8rem;
    pointer-events: none;
  }

  .stats-search .dataTables_filter,
  .stats-search .dataTables_filter label {
    display: block;
    width: 100%;
    margin: 0;
    text-align: left;
  }

  .stats-search .dataTables_filter input {
    width: 100%;
    margin: 0 !important;
    padding: .45rem .9rem .45rem 2rem;
    border-radius: 50rem;
  }

  .stats-filter-count {
    padding: 0 .4rem;
    border-radius: 50rem;
    background: rgba(255, 255, 255, .2);
    font-size: .7rem;
  }

  @media (max-width: 991.98px) {
    .stats-seg .games-seg-item {
      flex: 0 0 auto;
      padding-inline: 1rem;
    }
  }

  @media (max-width: 767.98px) {
    .stats-bar {
      flex-wrap: wrap;
      overflow: visible;
    }

    .stats-bar > .standings-pills {
      flex: 1 1 100%;
      min-width: 0;
      overflow-x: auto;
      scrollbar-width: none;
    }

    .stats-bar > .standings-pills::-webkit-scrollbar {
      display: none;
    }

    .stats-search {
      flex: 1 1 auto;
      min-width: 0;
      margin-left: 0;
    }

    .stats-search + .standings-more,
    .stats-bar .standings-more {
      margin-left: auto;
    }
  }

  /* ===== Einheitliche Legende (Content::legende) ===== */
  .legend-box {
    padding: 1rem 1.1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    font-size: .8rem;
  }

  .legend-box-title {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .75rem;
    color: var(--bs-body-color);
    font-size: .8rem;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: .03em;
  }

  .legend-box-title i {
    color: var(--bs-secondary-color);
    font-style: normal;
  }

  .legend-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .75rem;
    padding-bottom: .75rem;
    margin-bottom: .75rem;
    border-bottom: 1px dashed var(--bs-border-color);
  }

  .legend-row-label {
    min-width: 4rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .legend-row-items {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
  }

  .legend-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: .35rem 1rem;
    margin: 0;
  }

  .legend-item {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    min-width: 0;
  }

  .legend-item dt {
    flex: 0 0 auto;
    min-width: 2.6rem;
    padding: .05rem .4rem;
    border-radius: .4rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    font-size: .7rem;
    font-weight: 800;
    text-align: center;
  }

  .legend-item dd {
    margin: 0;
    color: var(--bs-secondary-color);
  }

  .legend-box-info {
    margin: .75rem 0 0;
    padding-top: .75rem;
    border-top: 1px dashed var(--bs-border-color);
    color: var(--bs-secondary-color);
  }

  /* ===== Formkurve (templates/tabelle_form.php) ===== */
  .formcurve-card {
    position: relative;
    padding: .9rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    overflow: hidden;
  }

  .formcurve-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--bs-secondary-bg);
  }

  .formcurve-card-hot::before { background: #198754; }
  .formcurve-card-cold::before { background: rgb(200, 4, 48); }

  .formcurve-card-label {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .formcurve-card-hot .formcurve-card-label i { color: #fd7e14; }
  .formcurve-card-cold .formcurve-card-label i { color: rgb(200, 4, 48); }

  .formcurve-card img {
    flex: 0 0 auto;
    object-fit: contain;
  }

  .formcurve-card-value {
    font-size: 1.5rem;
    font-weight: 900;
    font-style: italic;
    line-height: 1;
    font-variant-numeric: tabular-nums;
  }

  .formcurve-card-value small {
    font-size: .7rem;
    font-style: normal;
    font-weight: 700;
    color: var(--bs-secondary-color);
  }

  .formcurve-card-team {
    font-size: .85rem;
    font-weight: 600;
  }

  .formcurve-card-sub {
    margin-top: .4rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
  }

  .formcurve-panel {
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--bs-body-bg);
  }

  .formcurve-title {
    font-size: 1rem;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
  }

  .formcurve-chart svg {
    display: block;
    width: 100%;
    height: clamp(220px, 38vw, 340px);
    overflow: visible;
  }

  .formcurve-band { opacity: .08; }
  .formcurve-band-po-home { fill: #198754; }
  .formcurve-band-po { fill: #6c757d; }
  .formcurve-band-prepo { fill: #ffc107; opacity: .12; }
  .formcurve-band-pd { fill: rgb(200, 4, 48); }

  .formcurve-axis {
    fill: var(--bs-secondary-color);
    font-size: 10px;
    font-weight: 600;
  }

  .formcurve-line {
    color: var(--bs-secondary-color);
    cursor: pointer;
    transition: opacity .2s;
  }

  .formcurve-line polyline {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
  }

  .formcurve-line circle { fill: currentColor; }
  .formcurve-line image { opacity: 0; transition: opacity .2s; }

  .formcurve-chart svg.has-active .formcurve-line { opacity: .15; }
  .formcurve-chart svg.has-active .formcurve-line.is-active { opacity: 1; }
  .formcurve-line.is-active polyline { stroke-width: 3; }
  .formcurve-line.is-active image { opacity: 1; }

  .formcurve-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
  }

  .formcurve-chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .6rem .2rem .3rem;
    border: 2px solid var(--bs-border-color);
    border-radius: 50rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: .75rem;
    font-weight: 700;
    transition: border-color .15s, background-color .15s;
  }

  .formcurve-chip img { object-fit: contain; }
  .formcurve-chip:hover { background: var(--bs-tertiary-bg); }
  .formcurve-chip.active { background: var(--bs-tertiary-bg); }

  .formcurve-table tbody tr[data-team] { cursor: pointer; }
  .formcurve-table tbody tr.formcurve-row-active > td { background-color: var(--bs-tertiary-bg); }
  .formcurve-table tbody tr.formcurve-row-active > td:first-child { box-shadow: inset 3px 0 0 rgb(200, 4, 48); }

  .formcurve-tablepos {
    width: 1.6rem;
    height: 1.6rem;
    font-size: .8rem;
  }

  .formcurve-streak {
    display: inline-block;
    min-width: 2rem;
    padding: .15rem .45rem;
    border-radius: 50rem;
    font-size: .7rem;
    font-weight: 800;
    text-align: center;
  }

  .formcurve-streak-w { background: rgba(25, 135, 84, .15); color: #198754; }
  .formcurve-streak-l { background: rgba(200, 4, 48, .12); color: rgb(200, 4, 48); }

  .formcurve-spark polyline {
    fill: none;
    stroke: var(--bs-secondary-color);
    stroke-width: 1.75;
    stroke-linejoin: round;
  }

  .formcurve-spark circle { fill: var(--bs-secondary-color); }
  .formcurve-spark-up polyline { stroke: #198754; }
  .formcurve-spark-up circle { fill: #198754; }
  .formcurve-spark-down polyline { stroke: rgb(200, 4, 48); }
  .formcurve-spark-down circle { fill: rgb(200, 4, 48); }

  .standings .dataTables_wrapper .row {
    margin: 0;
  }

  .standings .dataTables_wrapper .row > * {
    padding: 0;
  }

  .standings table.dataTable {
    margin: 0 !important;
  }

  /* ===== Zentrale Spielerkarte (templates/services/spieler_karte.php) ===== */
  .player-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .player-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    height: 100%;
    padding: .75rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: box-shadow .15s, transform .15s;
  }

  .player-card:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
    transform: translateY(-2px);
  }

  .player-card-rank {
    flex-shrink: 0;
    width: 1.75rem;
    color: var(--bs-secondary-color);
    font-weight: 900;
  }

  .player-card-avatar {
    position: relative;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
  }

  .player-card-avatar img {
    width: 100%;
    height: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background-color: var(--bs-tertiary-bg);
    object-fit: cover;
    object-position: top;
  }

  .player-card-jersey {
    position: absolute;
    right: -4px;
    bottom: -2px;
    padding: .1rem .35rem;
    border: 2px solid var(--bs-body-bg);
    border-radius: 50rem;
    background-color: #212529;
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .player-card-body {
    flex: 1 1 auto;
    min-width: 0;
  }

  .player-card-team {
    display: flex;
    align-items: center;
    gap: .35rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
  }

  .player-card-team img {
    width: 18px;
    height: 18px;
    padding: 1px;
    border-radius: 50%;
    background-color: #fff;
    object-fit: contain;
  }

  .player-card-team span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .player-card-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .player-card-name a {
    color: inherit;
    text-decoration: none;
  }

  .player-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
  }

  .player-card-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
  }

  .player-card-metrics strong {
    color: var(--bs-body-color);
  }

  .player-card-value {
    flex-shrink: 0;
    min-width: 3rem;
    text-align: right;
  }

  .player-card-value strong {
    display: block;
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1;
  }

  .player-card-value span {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  /* Kompakte Variante für schmale Bereiche (z. B. TOP3 im Spielbericht): Texte umbrechen statt abschneiden */
  .player-card-compact .player-card {
    gap: .65rem;
    padding: .6rem .75rem;
  }

  .player-card-compact .player-card-avatar {
    width: 48px;
    height: 48px;
  }

  .player-card-compact .player-card-name,
  .player-card-compact .player-card-team span {
    overflow: visible;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
  }

  .player-card-compact .player-card-metrics {
    gap: .15rem .5rem;
    font-size: .75rem;
  }

  .player-card-compact .player-card-value {
    min-width: 0;
  }

  .player-card-compact .player-card-value strong {
    font-size: 1.4rem;
  }

  @media (max-width: 1199.98px) {
    .player-card-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 767.98px) {
    .player-card-grid {
      grid-template-columns: 1fr;
    }
  }

  /* ===== Zentrale Personenkarte (templates/services/person_karte.php) ===== */
  .person-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
  }

  .person-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: box-shadow .15s, transform .15s;
  }

  .person-card:hover {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
    transform: translateY(-2px);
  }

  .person-card-main {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .75rem 1rem;
  }

  .person-card-avatar {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
  }

  .person-card-avatar img {
    width: 100%;
    height: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background-color: var(--bs-tertiary-bg);
    object-fit: cover;
    object-position: top;
  }

  .person-card-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: 1.35rem;
    font-weight: 800;
  }

  .person-card-body {
    flex: 1 1 auto;
    min-width: 0;
  }

  .person-card-group {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .person-card-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .person-card-name a {
    color: inherit;
    text-decoration: none;
  }

  .person-card-role {
    color: var(--bs-secondary-color);
    font-size: .8rem;
    line-height: 1.3;
  }

  .person-card-foot {
    margin: auto 1rem 0;
    border-top: 1px solid var(--bs-border-color);
  }

  .person-card-contact {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .5rem 0;
    font-size: .8rem;
  }

  .person-card-contact + .person-card-contact {
    border-top: 1px dashed var(--bs-border-color);
  }

  .person-card-contact > .bi {
    flex-shrink: 0;
    color: var(--bs-secondary-color);
    font-size: 1rem;
  }

  .person-card-contact-text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-weight: 600;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  a.person-card-contact-text:hover {
    text-decoration: underline;
  }

  .person-card-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    color: var(--bs-secondary-color);
    text-decoration: none;
    transition: background-color .15s, color .15s;
  }

  .person-card-btn:hover {
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
  }

  @media (max-width: 1199.98px) {
    .person-card-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 767.98px) {
    .person-card-grid {
      grid-template-columns: 1fr;
    }
  }

  .stats-player-group + .stats-player-group {
    margin-top: 2rem;
  }

  .stats-player-group-title {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 .75rem;
    font-size: 1.15rem;
    font-weight: 800;
  }

  .stats-player-group-title img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    padding: 3px;
    border-radius: 50%;
    background-color: var(--bs-white);
  }

  .stats-player-empty {
    padding: 1.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    color: var(--bs-secondary-color);
  }
