*, *: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;
}

/* Moderne Standard-Section: opt-in, bestehende Content::section()-Seiten bleiben unverändert */
.content-section {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  background: var(--bs-body-bg);
}

.content-section-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--bs-border-color-translucent);
}

.content-section-icon {
  display: grid;
  place-items: center;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: .65rem;
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
  font-size: 1rem;
}

.content-section-heading {
  min-width: 0;
}

.content-section-title {
  margin: 0;
  color: var(--bs-body-color);
  font-size: 1.05rem;
  font-weight: 900;
  text-transform: uppercase;
}

.content-section-subtitle {
  margin: .1rem 0 0;
  color: var(--bs-secondary-color);
  font-size: .8rem;
}

.content-section > :last-child,
.content-section > :last-child > :last-child {
  margin-bottom: 0;
}

@media (max-width: 575.98px) {
  .content-section {
    padding: .75rem;
  }
}


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: #004898;
  }

  .bg-team-scb {
    background-color: #00a654;
  }

  .bg-team-sbr {
    background-color: #005143;
  }

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

 .bg-team-bdw {
    background-color: #16243d;
 }

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

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

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

  .bg-team-ecn
  {
    background-color: #e20816;
  }

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

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

  .bg-team-deg {
    background-color: #e5001d;
  }
  .bg-team-rvt {
    background-color: #1e3d87;
  }

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

  .bg-team-lfx {
    background-color: #003470;
  }

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

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

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

  /* 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;
  }

  h2.section-header-title {
    font-size: clamp(1.35rem, 2.5vw, 1.9rem);
  }

  h3.section-header-title {
    font-size: clamp(1.15rem, 2vw, 1.5rem);
  }

  .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);
  }

  .live-refresh {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background: var(--bs-body-bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
  }

  .live-refresh-status {
    display: flex;
    justify-content: center;
    flex-direction: column;
    min-width: 10.5rem;
    padding: .5rem 1rem;
  }

  .live-refresh-status > span {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .03em;
  }

  .live-refresh-status > strong {
    margin-top: .1rem;
    color: var(--bs-body-color);
    font-size: 1rem;
    line-height: 1.2;
  }

  .live-refresh-button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem .9rem;
    border: 0;
    border-left: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    font-size: .8rem;
    font-weight: 800;
    white-space: nowrap;
    transition: background-color .15s, color .15s;
  }

  .live-refresh-button:hover:not(:disabled) {
    background: var(--bs-body-color);
    color: var(--bs-body-bg);
  }

  .live-refresh-button:disabled {
    color: var(--bs-secondary-color);
    cursor: not-allowed;
    opacity: .65;
  }

  .live-refresh-button i {
    font-size: 1rem;
  }

  .live-empty-state {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
  }

  .live-empty-state > i {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
    font-size: 1.3rem;
  }

  .live-empty-state > div {
    flex: 1;
  }

  .live-empty-state strong,
  .live-empty-state span {
    display: block;
  }

  .live-empty-state strong {
    font-size: 1rem;
  }

  .live-empty-state span {
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .9rem;
  }

  .live-empty-state > a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .65rem .8rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
  }

  .live-empty-state > a:hover {
    border-color: var(--bs-body-color);
    background: var(--bs-body-color);
    color: var(--bs-body-bg);
  }

  .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);
  }

  /* Aktiver Filter: wie aktive Pillen / Filter-Button der Tabelle */
  .games-drop.is-active,
  .games-drop.is-active:hover,
  .games-drop.is-active[aria-expanded="true"] {
    border-color: #1f2a37;
    background-color: #1f2a37;
    color: #fff;
  }

  html.dark .games-drop.is-active,
  html.dark .games-drop.is-active:hover,
  html.dark .games-drop.is-active[aria-expanded="true"] {
    border-color: #f8f9fa;
    background-color: #f8f9fa;
    color: #1f2a37;
  }

  .games-drop.is-active img {
    padding: 1px;
    border-radius: 50%;
    background-color: #fff;
  }

  .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 {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.01em;
    white-space: nowrap;
  }

  .games-day-weekday {
    display: inline-grid;
    place-items: center;
    min-width: 2rem;
    padding: .2rem .4rem;
    border-radius: .4rem;
    background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    font-size: .72em;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .03em;
  }

  .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-day-today .games-day-weekday {
    background: rgba(200, 4, 48, .1);
    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;
    }
  }

  /* ===== News-Übersicht ===== */
  .news-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    padding-bottom: 2rem;
  }

  .news-overview-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .25rem 1rem rgba(31, 42, 55, .07);
    transition: box-shadow .2s, transform .2s;
  }

  .news-overview-card:hover {
    box-shadow: 0 .75rem 1.5rem rgba(31, 42, 55, .13);
    transform: translateY(-3px);
  }

  .news-overview-link {
    display: flex;
    height: 100%;
    flex-direction: column;
    color: var(--bs-body-color);
    text-decoration: none;
  }

  .news-overview-media {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--bs-secondary-bg);
  }

  .news-overview-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
  }

  .news-overview-card:hover .news-overview-media img {
    transform: scale(1.035);
  }

  .news-overview-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1rem 1.15rem 1.15rem;
  }

  .news-overview-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: .35rem;
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 600;
  }

  .news-overview-meta .bi-dot {
    margin-inline: .05rem;
  }

  .news-overview-body h2 {
    margin: 0;
    font-size: clamp(1.05rem, 1.35vw, 1.35rem);
    font-weight: 800;
    line-height: 1.18;
  }

  .news-overview-body p {
    display: -webkit-box;
    overflow: hidden;
    margin: .65rem 0 1.25rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .news-overview-more {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: auto;
    color: #182b76;
    font-size: .9rem;
    font-weight: 800;
  }

  html.dark .news-overview-more {
    color: #8fa8ff;
  }

  .news-overview-card:hover .news-overview-more i {
    transform: translateX(.2rem);
  }

  .news-overview-more i {
    transition: transform .2s;
  }

  @media (max-width: 991.98px) {
    .news-overview-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 575.98px) {
    .news-toolbar .games-toolbar-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-toolbar .games-toolbar-actions .dropdown,
    .news-toolbar .stats-club-drop .games-drop {
      min-width: 0;
    }

    .news-overview-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 1rem;
    }

    .news-overview-body {
      padding: .9rem 1rem 1rem;
    }
  }

  /* ===== News-Detail ===== */
  .news-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(17rem, .85fr);
    align-items: start;
    gap: 1.25rem;
  }

  .news-detail-layout.is-single {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-detail {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .4rem 1.5rem rgba(31, 42, 55, .08);
  }

  .news-detail-back {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 1.25rem 1.5rem 0;
    color: var(--bs-secondary-color);
    font-size: .85rem;
    font-weight: 700;
    text-decoration: none;
  }

  .news-detail-back:hover {
    color: var(--bs-body-color);
  }

  .news-detail-header {
    max-width: 52rem;
    padding: 1rem 1.5rem 1.5rem;
  }

  .news-detail-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: .65rem;
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 600;
  }

  .news-detail-header h1 {
    margin: 0;
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.025em;
  }

  .news-detail-lead {
    max-width: 48rem;
    margin: .9rem 0 0;
    color: var(--bs-secondary-color);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    line-height: 1.45;
  }

  .news-detail-hero {
    margin: 0;
    background: var(--bs-secondary-bg);
  }

  .news-detail-hero img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  .news-detail-hero figcaption {
    padding: .4rem .75rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    line-height: 1.3;
    text-align: right;
  }

  .news-detail-content {
    max-width: 52rem;
    margin-inline: auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    font-size: 1.03rem;
    line-height: 1.75;
  }

  .news-detail-content > :first-child {
    margin-top: 0;
  }

  .news-detail-content > :last-child {
    margin-bottom: 0;
  }

  .news-detail-content h2,
  .news-detail-content h3,
  .news-detail-content h4 {
    margin: 2rem 0 .75rem;
    font-weight: 850;
    line-height: 1.2;
  }

  .news-detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: .75rem;
  }

  .news-detail-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: normal;
  }

  .news-detail-content blockquote {
    margin: 1.5rem 0;
    padding: .25rem 0 .25rem 1.25rem;
    border-left: 4px solid #d2002d;
    color: var(--bs-secondary-color);
    font-size: 1.1rem;
  }

  .news-game-card {
    overflow: hidden;
    margin: 2rem 0;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .4rem 1.4rem rgba(31, 42, 55, .09);
  }

  .news-game-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem .75rem .55rem 1rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .news-game-label {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--bs-secondary-color);
    font-size: .72rem;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .08em;
  }

  .news-game-matchup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(7rem, .55fr) minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, var(--bs-tertiary-bg), var(--bs-body-bg));
  }

  .news-game-team {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
  }

  .news-game-team.is-away {
    flex-direction: row-reverse;
    text-align: right;
  }

  .news-game-team img {
    width: clamp(3.25rem, 6vw, 4.5rem);
    height: clamp(3.25rem, 6vw, 4.5rem);
    flex: 0 0 auto;
    margin: 0;
    border-radius: 0;
    object-fit: contain;
  }

  .news-game-team > span {
    display: block;
    min-width: 0;
  }

  .news-game-team strong {
    display: block;
    font-size: .9rem;
    line-height: 1.25;
  }

  .news-game-team small {
    display: none;
    color: var(--bs-secondary-color);
    font-size: .78rem;
    font-weight: 800;
  }

  .news-game-result {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-inline: .75rem;
    border-right: 1px solid var(--bs-border-color-translucent);
    border-left: 1px solid var(--bs-border-color-translucent);
    text-align: center;
  }

  .news-game-score {
    font-size: clamp(1.9rem, 4vw, 2.6rem);
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.05em;
  }

  .news-game-score span {
    margin-inline: .12em;
    color: var(--bs-secondary-color);
    font-weight: 500;
  }

  .news-game-overtime {
    margin-top: .35rem;
    padding: .18rem .5rem;
    border-radius: 999px;
    background: #d2002d;
    color: #fff;
    font-size: .65rem;
    font-weight: 900;
    line-height: 1;
  }

  .news-game-result small {
    margin-top: .3rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 650;
  }

  .news-game-result b {
    margin-top: .2rem;
    color: var(--bs-secondary-color);
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .06em;
  }

  .news-game-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    padding: .45rem .8rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
  }

  .news-game-link:hover {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
  }

  .news-game-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--bs-border-color-translucent);
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .news-game-facts > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: .5rem;
    padding: .9rem;
  }

  .news-game-facts > div + div {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .news-game-facts i {
    grid-row: 1 / span 3;
    color: #d2002d;
    font-size: 1.1rem;
  }

  .news-game-facts span,
  .news-game-facts small {
    color: var(--bs-secondary-color);
    font-size: .65rem;
    line-height: 1.25;
  }

  .news-game-facts strong {
    font-size: .82rem;
    line-height: 1.3;
  }

  .news-game-goals {
    padding: .75rem 1rem .25rem;
  }

  .news-game-goals > strong {
    display: block;
    padding: .35rem .65rem;
    border-radius: .35rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: .75rem;
    text-transform: uppercase;
  }

  .news-game-goal {
    display: grid;
    grid-template-columns: 4.5rem 3.5rem 3rem 2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .6rem;
    min-height: 3rem;
    padding: .45rem .65rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    font-size: .78rem;
  }

  .news-game-goal-period,
  .news-game-goal time,
  .news-game-goal-type {
    color: var(--bs-secondary-color);
  }

  .news-game-goal-score {
    padding: .15rem .35rem;
    border-radius: .3rem;
    background: var(--bs-tertiary-bg);
    text-align: center;
  }

  .news-game-goal-score.is-home {
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
  }

  .news-game-goal img {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 0;
    object-fit: contain;
  }

  .news-game-goal a {
    min-width: 0;
    color: var(--bs-body-color);
    font-weight: 750;
    text-decoration: none;
  }

  .news-game-goal a:hover {
    color: #d2002d;
  }

  .news-game-officials {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .8rem 1rem;
    color: var(--bs-secondary-color);
    font-size: .72rem;
    line-height: 1.5;
  }

  .news-game-officials > strong {
    color: var(--bs-body-color);
    font-size: .7rem;
    text-transform: uppercase;
  }

  .news-game-officials > i {
    font-size: 1rem;
  }

  .news-game-video {
    padding: 1rem;
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .news-detail-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-inline: clamp(1.5rem, 4vw, 3rem);
    padding: 1.25rem 0 1.5rem;
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .news-detail-footer > strong {
    font-size: .85rem;
    text-transform: uppercase;
  }

  .news-detail-share {
    display: flex;
    gap: .5rem;
  }

  .news-detail-share a,
  .news-detail-share button {
    display: inline-grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--bs-border-color);
    border-radius: 50%;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    text-decoration: none;
    transition: background-color .15s, color .15s, transform .15s;
  }

  .news-detail-share a:hover,
  .news-detail-share button:hover,
  .news-detail-share button.is-copied {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
    transform: translateY(-1px);
  }

  .news-related {
    position: sticky;
    top: calc(var(--news-sticky-header-height, 6rem) + 1rem);
    overflow: hidden;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .4rem 1.5rem rgba(31, 42, 55, .08);
  }

  .news-related-head {
    padding: 1rem 1rem .8rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .news-related-head span {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
  }

  .news-related-head h2 {
    margin: .1rem 0 0;
    font-size: 1.15rem;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
  }

  .news-related-list {
    display: grid;
  }

  .news-related-card + .news-related-card {
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .news-related-card a {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: .75rem;
    padding: .8rem;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: background-color .15s;
  }

  .news-related-card a:hover {
    background: var(--bs-tertiary-bg);
  }

  .news-related-card img {
    width: 6.5rem;
    height: 5rem;
    border-radius: .5rem;
    object-fit: cover;
  }

  .news-related-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
  }

  .news-related-body time {
    color: var(--bs-secondary-color);
    font-size: .7rem;
  }

  .news-related-body strong {
    display: -webkit-box;
    overflow: hidden;
    margin-top: .15rem;
    font-size: .88rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .news-related-body small {
    display: none;
    margin-top: .3rem;
    color: var(--bs-secondary-color);
  }

  .news-related-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 1rem;
    border-top: 1px solid var(--bs-border-color-translucent);
    color: var(--bs-body-color);
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
  }

  .news-related-all:hover {
    background: var(--bs-tertiary-bg);
  }

  @media (max-width: 991.98px) {
    .news-detail-layout {
      grid-template-columns: minmax(0, 1fr);
    }

    .news-related {
      position: static;
    }

    .news-related-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-related-card + .news-related-card {
      border-top: 0;
    }

    .news-related-card:nth-child(even) {
      border-left: 1px solid var(--bs-border-color-translucent);
    }
  }

  @media (max-width: 575.98px) {
    .news-detail {
      border-radius: .75rem;
    }

    .news-detail-back {
      margin: 1rem 1rem 0;
    }

    .news-detail-header {
      padding: .8rem 1rem 1.25rem;
    }

    .news-detail-content {
      padding: 1.25rem 1rem 1.75rem;
      font-size: 1rem;
    }

    .news-game-card {
      margin: 1.5rem 0;
      border-radius: .75rem;
    }

    .news-game-matchup {
      grid-template-columns: minmax(0, 1fr) minmax(6.75rem, .75fr) minmax(0, 1fr);
      gap: .35rem;
      padding: .9rem .65rem;
    }

    .news-game-team strong {
      display: none;
    }

    .news-game-team small {
      display: block;
    }

    .news-game-team {
      justify-content: center;
    }

    .news-game-team.is-away {
      justify-content: center;
    }

    .news-game-link {
      padding: .4rem .6rem;
      font-size: .65rem;
    }

    .news-game-facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .news-game-facts > div:nth-child(3) {
      border-left: 0;
    }

    .news-game-facts > div:nth-child(n + 3) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }

    .news-game-goals {
      padding-inline: .65rem;
    }

    .news-game-goal {
      grid-template-columns: 3.2rem 2.7rem 2.6rem 1.7rem minmax(0, 1fr);
      gap: .35rem;
      padding-inline: .35rem;
      font-size: .7rem;
    }

    .news-game-goal-type {
      display: none;
    }

    .news-game-goal img {
      width: 1.4rem;
      height: 1.4rem;
    }

    .news-game-officials {
      align-items: flex-start;
      flex-wrap: wrap;
      gap: .35rem .5rem;
    }

    .news-game-officials span {
      flex-basis: 100%;
    }

    .news-detail-footer {
      align-items: flex-start;
      flex-direction: column;
      margin-inline: 1rem;
    }

    .news-related-list {
      grid-template-columns: minmax(0, 1fr);
    }

    .news-related-card:nth-child(even) {
      border-left: 0;
    }

    .news-related-card + .news-related-card {
      border-top: 1px solid var(--bs-border-color-translucent);
    }
  }

  /* ===== Liga-Landingpage ===== */
  .section--league-modern {
    padding-bottom: 2rem;
  }

  .league-page {
    display: grid;
    gap: 1.5rem;
  }

  .league-eyebrow,
  .league-link-section > header > span,
  .league-office > div > span,
  .league-right-card > div > span {
    display: block;
    margin-bottom: .35rem;
    color: #d2002d;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .league-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr);
    min-height: 25rem;
    overflow: hidden;
    border-radius: 1rem;
    background:
      radial-gradient(circle at 85% 15%, rgba(210, 0, 45, .3), transparent 34%),
      linear-gradient(130deg, #111923 0%, #1f2a37 68%, #121923 100%);
    color: #fff;
    box-shadow: 0 .8rem 2.2rem rgba(31, 42, 55, .18);
  }

  .league-hero::after {
    position: absolute;
    right: -5rem;
    bottom: -11rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 4rem rgba(255, 255, 255, .025), 0 0 0 8rem rgba(255, 255, 255, .02);
    content: "";
  }

  .league-hero-copy {
    position: relative;
    z-index: 1;
    align-self: center;
    max-width: 43rem;
    padding: clamp(2rem, 5vw, 4rem);
  }

  .league-hero .league-eyebrow {
    color: #ff8da6;
  }

  .league-hero h2 {
    margin: 0;
    font-size: clamp(1.75rem, 3.7vw, 3.35rem);
    font-weight: 950;
    font-style: italic;
    line-height: 1;
    letter-spacing: -.045em;
  }

  .league-hero h2 > span {
    display: block;
    white-space: nowrap;
  }

  .league-hero h2 em {
    color: #ef3159;
    font-style: italic;
  }

  .league-hero-claim {
    display: block;
    margin-top: 1.2rem;
    color: rgba(255, 255, 255, .9);
    font-size: clamp(.95rem, 2vw, 1.25rem);
    font-weight: 850;
    line-height: 1.3;
  }

  .league-hero-copy > p {
    max-width: 39rem;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .75);
    font-size: 1rem;
    line-height: 1.65;
  }

  .league-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
  }

  .league-primary-action,
  .league-secondary-action {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .75rem 1rem;
    border-radius: .55rem;
    font-size: .78rem;
    font-weight: 850;
    text-decoration: none;
  }

  .league-primary-action {
    background: #d2002d;
    color: #fff;
  }

  .league-primary-action:hover {
    background: #ed1646;
    color: #fff;
  }

  .league-secondary-action {
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
  }

  .league-secondary-action:hover {
    border-color: #fff;
    color: #fff;
  }

  .league-hero-brand {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-width: 0;
    padding: 2rem;
    text-align: center;
  }

  .league-hero-brand::before {
    position: absolute;
    top: 16%;
    bottom: 16%;
    left: 0;
    border-left: 1px solid rgba(255, 255, 255, .12);
    content: "";
  }

  .league-hero-brand img {
    width: min(13rem, 100%);
    max-height: 8rem;
    filter: drop-shadow(0 .5rem 1rem rgba(0, 0, 0, .25));
  }

  .league-hero-brand span,
  .league-hero-brand strong {
    color: rgba(255, 255, 255, .6);
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .18em;
  }

  .league-hero-brand strong {
    margin-top: .75rem;
    color: #fff;
  }

  .league-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(19rem, .75fr);
    gap: 1rem;
  }

  .league-about,
  .league-office,
  .league-right-card,
  .league-success,
  .league-link-section {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .league-about {
    padding: clamp(1.5rem, 4vw, 2.5rem);
  }

  .league-about h2,
  .league-rights > header h2,
  .league-success-intro h2,
  .league-link-section > header h2 {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.025em;
  }

  .league-about p {
    max-width: 48rem;
    margin: 1rem 0 0;
    color: var(--bs-secondary-color);
    line-height: 1.7;
  }

  .league-office {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: start;
    gap: 1rem;
    margin: 0;
    padding: 1.5rem;
    font-style: normal;
  }

  .league-office-icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: .75rem;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.3rem;
  }

  .league-office h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 850;
    line-height: 1.35;
  }

  .league-office p {
    margin: .55rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.6;
  }

  .league-office-links {
    display: grid;
    grid-column: 1 / -1;
    gap: .35rem;
    padding-top: .9rem;
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .league-office-links > a,
  .league-office-links > span {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .35rem 0;
    color: var(--bs-body-color);
    font-size: .92rem;
    text-decoration: none;
  }

  .league-office-links i {
    width: 1rem;
    color: #d2002d;
    text-align: center;
  }

  .league-rights {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border-radius: 1rem;
    background: var(--bs-tertiary-bg);
  }

  .league-rights-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
  }

  .league-right-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1.35rem;
  }

  .league-right-card > i {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: #1f2a37;
    color: #fff;
    font-size: 1.25rem;
  }

  .league-right-card h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 900;
  }

  .league-right-card p {
    margin: .6rem 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.6;
  }

  .league-right-card small {
    display: block;
    color: var(--bs-secondary-color);
    font-size: .85rem;
    line-height: 1.55;
  }

  .league-right-card a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .8rem;
    color: #d2002d;
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
  }

  .league-success {
    display: grid;
    grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr);
    gap: 1.5rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: #1f2a37;
    color: #fff;
  }

  .league-success .league-eyebrow {
    color: #ff8da6;
  }

  .league-success-intro p {
    margin: .8rem 0 0;
    color: rgba(255, 255, 255, .65);
    font-size: .98rem;
    line-height: 1.6;
  }

  .league-success-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
  }

  .league-success-grid article {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .65rem;
    background: rgba(255, 255, 255, .045);
  }

  .league-success-grid strong,
  .league-success-grid article > i {
    display: block;
    margin-bottom: .35rem;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 950;
    line-height: 1;
  }

  .league-success-grid article > i {
    color: #ef3159;
  }

  .league-success-grid span {
    color: rgba(255, 255, 255, .67);
    font-size: .9rem;
    line-height: 1.45;
  }

  .league-link-section {
    overflow: hidden;
  }

  .league-link-section > header {
    display: grid;
    grid-template-columns: minmax(13rem, .7fr) minmax(15rem, 1.3fr);
    align-items: end;
    padding: 1.35rem 1.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .league-link-section > header > span {
    grid-column: 1 / -1;
  }

  .league-link-section > header p {
    justify-self: end;
    max-width: 28rem;
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: .92rem;
    line-height: 1.55;
    text-align: right;
  }

  .league-link-grid {
    display: grid;
    grid-template-columns: repeat(var(--league-link-columns, 4), minmax(0, 1fr));
  }

  .league-link-section--1 {
    --league-link-columns: 1;
  }

  .league-link-section--3 {
    --league-link-columns: 3;
  }

  .league-link-section--4 {
    --league-link-columns: 4;
  }

  .league-link-section--5 {
    --league-link-columns: 5;
  }

  .league-link-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: background-color .15s;
  }

  .league-link-card + .league-link-card {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .league-link-card:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
  }

  .league-link-image {
    display: grid;
    place-items: center;
    min-height: 6.5rem;
    padding: .85rem;
    background: linear-gradient(140deg, var(--bs-tertiary-bg), var(--bs-body-bg));
  }

  .league-link-image img {
    width: 4.75rem;
    height: 4.75rem;
    object-fit: contain;
    transition: transform .2s;
  }

  .league-link-card:hover .league-link-image img {
    transform: scale(1.06);
  }

  .league-link-body {
    display: flex;
    min-height: 9.25rem;
    flex: 1;
    flex-direction: column;
    padding: 1.15rem;
  }

  .league-link-body > strong {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.2;
  }

  .league-link-body > small {
    margin-top: .5rem;
    color: var(--bs-secondary-color);
    font-size: .92rem;
    line-height: 1.45;
  }

  .league-link-body > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 1rem;
    color: #d2002d;
    font-size: .85rem;
    font-weight: 800;
  }

  .league-link-section--1 .league-link-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .league-link-section--1 .league-link-card {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
  }

  .league-link-section--1 .league-link-image {
    min-height: 8rem;
  }

  .league-link-section--1 .league-link-body {
    min-height: 8rem;
  }

  @media (max-width: 991.98px) {
    .league-hero {
      grid-template-columns: minmax(0, 1fr) 15rem;
      min-height: 22rem;
    }

    .league-intro-grid,
    .league-success {
      grid-template-columns: minmax(0, 1fr);
    }

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

    .league-link-card:nth-child(2n + 1) {
      border-left: 0;
    }

    .league-link-card:nth-child(n + 3) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }

    .league-link-section--1 .league-link-grid {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  @media (max-width: 767.98px) {
    .league-hero {
      grid-template-columns: minmax(0, 1fr);
    }

    .league-hero-brand {
      display: none;
    }

    .league-rights-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .league-link-section > header {
      grid-template-columns: minmax(0, 1fr);
      gap: .5rem;
    }

    .league-link-section > header p {
      justify-self: start;
      text-align: left;
    }
  }

  @media (max-width: 575.98px) {
    .live-refresh {
      width: 100%;
    }

    .live-refresh-status {
      min-width: 0;
      flex: 1;
    }

    .live-refresh-button span {
      display: none;
    }

    .live-empty-state {
      align-items: flex-start;
      flex-wrap: wrap;
    }

    .live-empty-state > a {
      width: 100%;
      justify-content: center;
    }

    .league-page {
      gap: 1rem;
    }

    .league-hero {
      min-height: 0;
      border-radius: .75rem;
    }

    .league-hero-copy {
      padding: 2rem 1.25rem;
    }

    .league-hero h2 {
      font-size: clamp(1.45rem, 7.5vw, 2rem);
    }

    .league-about,
    .league-office,
    .league-rights,
    .league-success {
      border-radius: .75rem;
    }

    .league-right-card {
      grid-template-columns: minmax(0, 1fr);
    }

    .league-right-card > i {
      width: 2.5rem;
      height: 2.5rem;
    }

    .league-success-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .league-link-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .league-link-card {
      display: grid;
      grid-template-columns: 5.5rem minmax(0, 1fr);
    }

    .league-link-section--1 .league-link-card {
      grid-template-columns: 5.5rem minmax(0, 1fr);
    }

    .league-link-card + .league-link-card,
    .league-link-card:nth-child(n + 3) {
      border-top: 1px solid var(--bs-border-color-translucent);
      border-left: 0;
    }

    .league-link-image {
      min-height: 0;
      padding: .75rem;
    }

    .league-link-image img {
      width: 3.75rem;
      height: 3.75rem;
    }

    .league-link-body {
      min-height: 7.5rem;
      padding: 1rem;
    }

    .league-link-section--1 .league-link-image,
    .league-link-section--1 .league-link-body {
      min-height: 7rem;
    }
  }

  /* ===== DEL2 Team Stripes ===== */
  .section--teamstripes-modern {
    padding-bottom: 2rem;
  }

  .teamstripes-page {
    display: grid;
    gap: 1.25rem;
  }

  .teamstripes-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr);
    min-height: 23rem;
    overflow: hidden;
    border-radius: 1rem;
    background: #101820;
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(16, 24, 32, .18);
  }

  .teamstripes-hero::before,
  .teamstripes-hero::after {
    position: absolute;
    top: -20%;
    bottom: -20%;
    width: 4.5rem;
    background: rgba(255, 255, 255, .055);
    content: "";
    transform: rotate(17deg);
  }

  .teamstripes-hero::before {
    right: 29%;
  }

  .teamstripes-hero::after {
    right: 18%;
  }

  .teamstripes-hero-copy {
    position: relative;
    z-index: 1;
    align-self: center;
    max-width: 47rem;
    padding: clamp(2rem, 5vw, 3.5rem);
  }

  .teamstripes-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.75rem;
    color: rgba(255, 255, 255, .65);
    font-size: .8rem;
    font-weight: 750;
    text-decoration: none;
  }

  .teamstripes-back:hover {
    color: #fff;
  }

  .teamstripes-hero-copy > span,
  .teamstripes-roster > header span,
  .teamstripes-career > div > span {
    display: block;
    color: #ef3159;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .teamstripes-hero h2 {
    margin: .35rem 0 0;
    font-size: clamp(3rem, 7vw, 5.75rem);
    font-weight: 950;
    font-style: italic;
    line-height: .86;
    letter-spacing: -.055em;
    text-transform: uppercase;
  }

  .teamstripes-hero h2 em {
    color: #ef3159;
    font-style: italic;
  }

  .teamstripes-hero-copy p {
    max-width: 40rem;
    margin: 1.4rem 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .teamstripes-hero-mark {
    position: relative;
    z-index: 1;
    display: grid;
    align-items: center;
    justify-content: center;
    padding: 2rem;
  }

  .teamstripes-hero-mark img {
    display: block;
    width: min(100%, 24rem);
    height: auto;
    padding: 1.15rem;
    border-radius: .8rem;
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .22);
  }

  .teamstripes-overview {
    display: grid;
    grid-template-columns: minmax(21rem, .85fr) minmax(0, 1.15fr);
    gap: 1rem;
  }

  .teamstripes-numbers,
  .teamstripes-career,
  .teamstripes-milestone,
  .teamstripes-roster {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .teamstripes-numbers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
  }

  .teamstripes-numbers article {
    display: flex;
    justify-content: center;
    flex-direction: column;
    min-width: 0;
    padding: 1.25rem;
  }

  .teamstripes-numbers article + article {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .teamstripes-numbers strong {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 950;
    line-height: 1;
  }

  .teamstripes-numbers span {
    margin-top: .4rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.4;
  }

  .teamstripes-career {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
  }

  .teamstripes-career-icon {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.5rem;
  }

  .teamstripes-career h3 {
    margin: .1rem 0 0;
    font-size: 1.25rem;
    font-weight: 900;
  }

  .teamstripes-career p {
    margin: .35rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.6;
  }

  .teamstripes-career > a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .65rem .8rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    color: var(--bs-body-color);
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
  }

  .teamstripes-career > a:hover {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
  }

  .teamstripes-milestone {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-left: 4px solid #d2002d;
  }

  .teamstripes-milestone > i {
    color: #d2002d;
    font-size: 1.4rem;
  }

  .teamstripes-milestone strong,
  .teamstripes-milestone span {
    display: block;
  }

  .teamstripes-milestone strong {
    font-size: 1.05rem;
  }

  .teamstripes-milestone span {
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .teamstripes-roster {
    overflow: hidden;
    padding-bottom: 1rem;
  }

  .teamstripes-roster > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .teamstripes-roster > header h2 {
    margin: .1rem 0 0;
    font-size: 1.5rem;
    font-weight: 900;
  }

  .teamstripes-roster > header > strong {
    display: grid;
    place-items: center;
    min-width: 2.4rem;
    height: 2.4rem;
    padding-inline: .6rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    font-size: .85rem;
  }

  .teamstripes-roster > .player-card-grid {
    padding: 1rem 1rem 0;
  }

  .teamstripes-roster .player-card {
    padding: 1rem;
    border-color: var(--bs-border-color-translucent);
  }

  .teamstripes-roster .player-card-avatar {
    width: 72px;
    height: 72px;
  }

  .teamstripes-roster .player-card-name {
    font-size: 1.2rem;
    font-weight: 700;
  }

  .teamstripes-role {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    font-weight: 700;
  }

  .teamstripes-role i {
    color: #d2002d;
  }

  @media (max-width: 991.98px) {
    .teamstripes-overview {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  @media (max-width: 767.98px) {
    .teamstripes-hero {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }

    .teamstripes-hero-mark {
      display: none;
    }

    .teamstripes-career {
      grid-template-columns: auto minmax(0, 1fr);
    }

    .teamstripes-career > a {
      grid-column: 1 / -1;
      justify-content: center;
    }
  }

  @media (max-width: 575.98px) {
    .teamstripes-page {
      gap: 1rem;
    }

    .teamstripes-hero,
    .teamstripes-numbers,
    .teamstripes-career,
    .teamstripes-milestone,
    .teamstripes-roster {
      border-radius: .75rem;
    }

    .teamstripes-hero-copy {
      padding: 1.5rem 1.25rem 2rem;
    }

    .teamstripes-back {
      margin-bottom: 1.25rem;
    }

    .teamstripes-hero h2 {
      font-size: clamp(2.8rem, 17vw, 4.25rem);
    }

    .teamstripes-numbers article {
      padding: 1rem .65rem;
    }

    .teamstripes-numbers span {
      font-size: .82rem;
    }

    .teamstripes-career {
      padding: 1rem;
    }

    .teamstripes-milestone {
      align-items: flex-start;
    }

    .teamstripes-roster > .player-card-grid {
      padding: .75rem .75rem 0;
    }
  }

  /* ===== Regeln & Ordnungen ===== */
  .section--rules-modern {
    padding-bottom: 2rem;
  }

  .rules-page {
    display: grid;
    gap: 1.25rem;
  }

  .rules-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(14rem, .65fr);
    min-height: 22rem;
    overflow: hidden;
    border-radius: 1rem;
    background:
      radial-gradient(circle at 85% 25%, rgba(210, 0, 45, .22), transparent 32%),
      #1f2a37;
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(31, 42, 55, .17);
  }

  .rules-hero::after {
    position: absolute;
    right: -8rem;
    bottom: -13rem;
    width: 29rem;
    height: 29rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 4rem rgba(255, 255, 255, .025), 0 0 0 8rem rgba(255, 255, 255, .018);
    content: "";
  }

  .rules-hero-copy {
    position: relative;
    z-index: 1;
    align-self: center;
    max-width: 48rem;
    padding: clamp(2rem, 5vw, 3.5rem);
  }

  .rules-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.75rem;
    color: rgba(255, 255, 255, .65);
    font-size: .85rem;
    font-weight: 750;
    text-decoration: none;
  }

  .rules-back:hover {
    color: #fff;
  }

  .rules-hero-copy > span,
  .rules-documents > header span,
  .rules-news > header span {
    display: block;
    color: #ef3159;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .rules-hero h2 {
    margin: .35rem 0 0;
    font-size: clamp(2.8rem, 6vw, 5rem);
    font-weight: 950;
    font-style: italic;
    line-height: .9;
    letter-spacing: -.05em;
    text-transform: uppercase;
  }

  .rules-hero h2 em {
    color: #ef3159;
    font-style: italic;
  }

  .rules-hero-copy p {
    max-width: 41rem;
    margin: 1.4rem 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .rules-hero-symbol {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
  }

  .rules-hero-symbol i {
    color: rgba(255, 255, 255, .14);
    font-size: clamp(7rem, 14vw, 11rem);
    filter: drop-shadow(0 1rem 2rem rgba(0, 0, 0, .18));
  }

  .rules-info,
  .rules-documents,
  .rules-news {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .rules-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-left: 4px solid #d2002d;
  }

  .rules-info > i {
    flex-shrink: 0;
    color: #d2002d;
    font-size: 1.4rem;
  }

  .rules-info strong,
  .rules-info span {
    display: block;
  }

  .rules-info strong {
    font-size: 1.05rem;
  }

  .rules-info span {
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .rules-documents,
  .rules-news {
    overflow: hidden;
  }

  .rules-documents > header,
  .rules-news > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .rules-documents > header h2,
  .rules-news > header h2 {
    margin: .1rem 0 0;
    font-size: 1.55rem;
    font-weight: 900;
  }

  .rules-documents > header > strong {
    padding: .45rem .75rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    font-size: .85rem;
    white-space: nowrap;
  }

  .rules-document-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rules-document {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 1.35rem;
  }

  .rules-document:nth-child(even) {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .rules-document:nth-child(n + 3) {
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .rules-document-icon {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: .75rem;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.5rem;
  }

  .rules-document-body {
    min-width: 0;
  }

  .rules-document-body > span {
    display: block;
    color: #d2002d;
    font-size: .8rem;
    font-weight: 850;
  }

  .rules-document h3 {
    margin: .15rem 0 0;
    font-size: 1.2rem;
    font-weight: 850;
    line-height: 1.25;
  }

  .rules-document p {
    margin: .45rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .rules-document small {
    display: block;
    margin-top: .55rem;
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 700;
  }

  .rules-document > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .65rem .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    color: var(--bs-body-color);
    font-size: .88rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
  }

  .rules-document > a:hover {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
  }

  .rules-news > header > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #d2002d;
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
  }

  .rules-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rules-news-card + .rules-news-card {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .rules-news-card > a {
    display: flex;
    height: 100%;
    flex-direction: column;
    color: var(--bs-body-color);
    text-decoration: none;
    transition: background-color .15s;
  }

  .rules-news-card > a:hover {
    background: var(--bs-tertiary-bg);
  }

  .rules-news-card img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  .rules-news-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.15rem;
  }

  .rules-news-body time {
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 650;
  }

  .rules-news-body > strong {
    margin-top: .4rem;
    font-size: 1.15rem;
    font-weight: 850;
    line-height: 1.3;
  }

  .rules-news-body p {
    margin: .55rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .rules-news-body > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 1rem;
    color: #d2002d;
    font-size: .88rem;
    font-weight: 850;
  }

  @media (max-width: 991.98px) {
    .rules-document {
      grid-template-columns: auto minmax(0, 1fr);
    }

    .rules-document > a {
      grid-column: 1 / -1;
      justify-content: center;
    }
  }

  @media (max-width: 767.98px) {
    .rules-hero {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }

    .rules-hero-symbol {
      display: none;
    }

    .rules-document-grid,
    .rules-news-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .rules-document:nth-child(even) {
      border-left: 0;
    }

    .rules-document:nth-child(n + 2),
    .rules-news-card + .rules-news-card {
      border-top: 1px solid var(--bs-border-color-translucent);
      border-left: 0;
    }
  }

  @media (max-width: 575.98px) {
    .rules-page {
      gap: 1rem;
    }

    .rules-hero,
    .rules-info,
    .rules-documents,
    .rules-news {
      border-radius: .75rem;
    }

    .rules-hero-copy {
      padding: 1.5rem 1.25rem 2rem;
    }

    .rules-back {
      margin-bottom: 1.25rem;
    }

    .rules-hero h2 {
      font-size: clamp(2.7rem, 15vw, 4rem);
    }

    .rules-info {
      align-items: flex-start;
    }

    .rules-documents > header,
    .rules-news > header {
      align-items: flex-start;
      flex-direction: column;
      padding: 1rem;
    }

    .rules-document {
      padding: 1rem;
    }

    .rules-document-icon {
      width: 3rem;
      height: 3rem;
    }
  }

  /* ===== Spielervermittler ===== */
  .section--agents-modern {
    padding-bottom: 2rem;
  }

  .agents-page {
    display: grid;
    gap: 1.25rem;
  }

  .agents-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(14rem, .65fr);
    min-height: 22rem;
    overflow: hidden;
    border-radius: 1rem;
    background:
      radial-gradient(circle at 86% 25%, rgba(210, 0, 45, .24), transparent 32%),
      #1f2a37;
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(31, 42, 55, .17);
  }

  .agents-hero::after {
    position: absolute;
    right: -7rem;
    bottom: -13rem;
    width: 29rem;
    height: 29rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 4rem rgba(255, 255, 255, .025), 0 0 0 8rem rgba(255, 255, 255, .018);
    content: "";
  }

  .agents-hero-copy {
    position: relative;
    z-index: 1;
    align-self: center;
    max-width: 48rem;
    padding: clamp(2rem, 5vw, 3.5rem);
  }

  .agents-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.75rem;
    color: rgba(255, 255, 255, .65);
    font-size: .85rem;
    font-weight: 750;
    text-decoration: none;
  }

  .agents-back:hover {
    color: #fff;
  }

  .agents-hero-copy > span,
  .agents-license > div > span,
  .agents-note > header span,
  .agents-list > header span,
  .agents-card-main > div > span {
    display: block;
    color: #ef3159;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .agents-hero h2 {
    margin: .35rem 0 0;
    font-size: clamp(2.8rem, 6vw, 5rem);
    font-weight: 950;
    font-style: italic;
    line-height: .9;
    letter-spacing: -.05em;
    text-transform: uppercase;
  }

  .agents-hero h2 em {
    color: #ef3159;
    font-style: italic;
  }

  .agents-hero-copy p {
    max-width: 41rem;
    margin: 1.4rem 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .agents-hero-symbol {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
  }

  .agents-hero-symbol i {
    color: rgba(255, 255, 255, .14);
    font-size: clamp(7rem, 14vw, 11rem);
    filter: drop-shadow(0 1rem 2rem rgba(0, 0, 0, .18));
  }

  .agents-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .agents-principles article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .9rem;
    padding: 1.25rem;
  }

  .agents-principles article + article {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .agents-principles article > i {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: .7rem;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.25rem;
  }

  .agents-principles h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 850;
  }

  .agents-principles p {
    margin: .4rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .agents-license,
  .agents-note,
  .agents-directory {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .agents-license {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.15rem;
    padding: 1.4rem;
    border-left: 4px solid #d2002d;
  }

  .agents-license-icon {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.5rem;
  }

  .agents-license h2 {
    margin: .15rem 0 0;
    font-size: 1.3rem;
    font-weight: 900;
  }

  .agents-license p {
    margin: .4rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.55;
  }

  .agents-license > a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .7rem .85rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    color: var(--bs-body-color);
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
  }

  .agents-license > a:hover {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
  }

  .agents-note {
    display: grid;
    grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.45fr);
    gap: 1.5rem;
    padding: 1.5rem;
    background: var(--bs-tertiary-bg);
  }

  .agents-note h2 {
    margin: .15rem 0 0;
    font-size: 1.4rem;
    font-weight: 900;
  }

  .agents-note p {
    margin: 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.65;
  }

  .agents-note p + p {
    margin-top: .8rem;
  }

  .agents-list > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
  }

  .agents-list > header h2 {
    margin: .1rem 0 0;
    font-size: 1.55rem;
    font-weight: 900;
  }

  .agents-list > header > strong {
    display: grid;
    place-items: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding-inline: .7rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    font-size: .9rem;
  }

  .agents-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .agents-card {
    min-width: 0;
    padding: 1.25rem;
  }

  .agents-card + .agents-card {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .agents-card:nth-child(3n + 1) {
    border-left: 0;
  }

  .agents-card:nth-child(n + 4) {
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .agents-card-main {
    display: flex;
    align-items: center;
    gap: .9rem;
  }

  .agents-card-mark {
    display: grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    flex: 0 0 auto;
    border-radius: .75rem;
    background: #1f2a37;
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .04em;
  }

  .agents-card h3 {
    margin: .15rem 0 0;
    font-size: 1.2rem;
    font-weight: 850;
    line-height: 1.3;
  }

  .agents-card-contact {
    display: grid;
    gap: .45rem;
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  .agents-card-contact > div,
  .agents-card-contact > a {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    color: var(--bs-secondary-color);
    font-size: .9rem;
    line-height: 1.4;
    text-decoration: none;
  }

  .agents-card-contact > a:hover {
    color: #d2002d;
  }

  .agents-card-contact > div > i,
  .agents-card-contact > a > i:first-child {
    color: #d2002d;
  }

  .agents-card-contact span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .agents-card-contact > a > i:last-child {
    margin-left: auto;
  }

  .agents-empty {
    padding: 1.5rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
  }

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

    .agents-card:nth-child(3n + 1) {
      border-left: 1px solid var(--bs-border-color-translucent);
    }

    .agents-card:nth-child(2n + 1) {
      border-left: 0;
    }

    .agents-card:nth-child(n + 3) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }
  }

  @media (max-width: 767.98px) {
    .agents-hero {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }

    .agents-hero-symbol {
      display: none;
    }

    .agents-principles,
    .agents-note {
      grid-template-columns: minmax(0, 1fr);
    }

    .agents-principles article + article {
      border-top: 1px solid var(--bs-border-color-translucent);
      border-left: 0;
    }

    .agents-license {
      grid-template-columns: auto minmax(0, 1fr);
    }

    .agents-license > a {
      grid-column: 1 / -1;
      justify-content: center;
    }
  }

  @media (max-width: 575.98px) {
    .agents-page {
      gap: 1rem;
    }

    .agents-hero,
    .agents-principles,
    .agents-license,
    .agents-note {
      border-radius: .75rem;
    }

    .agents-hero-copy {
      padding: 1.5rem 1.25rem 2rem;
    }

    .agents-back {
      margin-bottom: 1.25rem;
    }

    .agents-hero h2 {
      font-size: clamp(2.7rem, 15vw, 4rem);
    }

    .agents-license {
      padding: 1rem;
    }

    .agents-note {
      gap: .75rem;
      padding: 1.15rem;
    }

    .agents-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .agents-card,
    .agents-card:nth-child(3n + 1),
    .agents-card:nth-child(2n + 1) {
      border-left: 0;
    }

    .agents-card:nth-child(n + 2) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }
  }

  /* ===== DEL2 Perspektiv Camp ===== */
  .section--camp-modern {
    padding-bottom: 2rem;
  }

  .camp-page {
    display: grid;
    gap: 1.25rem;
  }

  .camp-hero {
    position: relative;
    min-height: 27rem;
    overflow: hidden;
    border-radius: 1rem;
    background: #101820;
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(31, 42, 55, .18);
  }

  .camp-hero > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .camp-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(16, 24, 32, .97) 0%, rgba(16, 24, 32, .88) 43%, rgba(16, 24, 32, .2) 100%);
  }

  .camp-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 47rem;
    padding: clamp(2rem, 5vw, 3.5rem);
  }

  .camp-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, .7);
    font-size: .85rem;
    font-weight: 750;
    text-decoration: none;
  }

  .camp-back:hover {
    color: #fff;
  }

  .camp-hero-copy > span,
  .camp-article > header > span,
  .camp-partners > header span {
    display: block;
    color: #ef3159;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .camp-hero h2 {
    margin: .35rem 0 0;
    font-size: clamp(3rem, 7vw, 5.6rem);
    font-weight: 950;
    font-style: italic;
    line-height: .88;
    letter-spacing: -.055em;
    text-transform: uppercase;
  }

  .camp-hero h2 em {
    color: #ef3159;
    font-style: italic;
  }

  .camp-hero-copy p {
    max-width: 39rem;
    margin: 1.4rem 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .camp-pillars,
  .camp-article,
  .camp-partners {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .camp-pillars {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
  }

  .camp-pillars article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .9rem;
    padding: 1.25rem;
  }

  .camp-pillars article + article {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .camp-pillars article > i {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: .7rem;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.25rem;
  }

  .camp-pillars h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 850;
  }

  .camp-pillars p {
    margin: .4rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .camp-article {
    overflow: hidden;
  }

  .camp-article > header {
    max-width: 54rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
  }

  .camp-article > header h2 {
    margin: .2rem 0 0;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.025em;
  }

  .camp-article > header p {
    margin: .8rem 0 0;
    color: var(--bs-secondary-color);
    font-size: 1.08rem;
    line-height: 1.6;
  }

  .camp-article-content {
    max-width: 54rem;
    padding: 0 clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 2.5rem);
    font-size: 1.02rem;
    line-height: 1.75;
  }

  .camp-article-content p {
    margin-bottom: 1rem;
  }

  .camp-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: .75rem;
  }

  .camp-article-content a {
    color: #d2002d;
    font-weight: 700;
  }

  .camp-partners {
    overflow: hidden;
  }

  .camp-partners > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }

  .camp-partners > header h2 {
    margin: .1rem 0 0;
    font-size: 1.55rem;
    font-weight: 900;
  }

  .camp-partners > header > strong {
    display: grid;
    place-items: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding-inline: .7rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    font-size: .9rem;
  }

  .camp-partner-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .camp-partner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 10rem;
    flex-direction: column;
    gap: .75rem;
    padding: 1.25rem;
    color: var(--bs-body-color);
    text-align: center;
    text-decoration: none;
    transition: background-color .15s;
  }

  .camp-partner + .camp-partner {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .camp-partner:nth-child(4n + 1) {
    border-left: 0;
  }

  .camp-partner:nth-child(n + 5) {
    border-top: 1px solid var(--bs-border-color-translucent);
  }

  a.camp-partner:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
  }

  .camp-partner img {
    width: 100%;
    max-width: 8rem;
    height: 5rem;
    object-fit: contain;
  }

  .camp-partner span {
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.35;
  }

  .camp-partner > i {
    position: absolute;
    top: .75rem;
    right: .75rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
  }

  @media (max-width: 991.98px) {
    .camp-partner-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .camp-partner:nth-child(4n + 1) {
      border-left: 1px solid var(--bs-border-color-translucent);
    }

    .camp-partner:nth-child(3n + 1) {
      border-left: 0;
    }

    .camp-partner:nth-child(n + 4) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }
  }

  @media (max-width: 767.98px) {
    .camp-hero {
      min-height: 25rem;
    }

    .camp-hero-overlay {
      background: linear-gradient(90deg, rgba(16, 24, 32, .96), rgba(16, 24, 32, .65));
    }

    .camp-pillars {
      grid-template-columns: minmax(0, 1fr);
    }

    .camp-pillars article + article {
      border-top: 1px solid var(--bs-border-color-translucent);
      border-left: 0;
    }

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

    .camp-partner:nth-child(3n + 1) {
      border-left: 1px solid var(--bs-border-color-translucent);
    }

    .camp-partner:nth-child(2n + 1) {
      border-left: 0;
    }

    .camp-partner:nth-child(n + 3) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }
  }

  @media (max-width: 575.98px) {
    .camp-page {
      gap: 1rem;
    }

    .camp-hero,
    .camp-pillars,
    .camp-article,
    .camp-partners {
      border-radius: .75rem;
    }

    .camp-hero {
      min-height: 27rem;
    }

    .camp-hero-copy {
      padding: 1.5rem 1.25rem 2rem;
    }

    .camp-back {
      margin-bottom: 1.5rem;
    }

    .camp-hero h2 {
      font-size: clamp(2.7rem, 15vw, 4rem);
    }

    .camp-partners > header {
      padding: 1rem;
    }

    .camp-partner {
      min-height: 8rem;
      padding: .85rem;
    }

    .camp-partner img {
      max-width: 6.5rem;
      height: 4rem;
    }
  }

  /* ===== Spielmodus ===== */
  .section--modus-modern {
    padding-bottom: 2rem;
  }

  .modus-page {
    display: grid;
    gap: 1.25rem;
  }

  .modus-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(14rem, .65fr);
    min-height: 24rem;
    overflow: hidden;
    border-radius: 1rem;
    background:
      radial-gradient(circle at 85% 25%, rgba(210, 0, 45, .24), transparent 32%),
      #1f2a37;
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(31, 42, 55, .18);
  }

  .modus-hero.has-image {
    display: block;
  }

  .modus-hero > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .modus-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(16, 24, 32, .97) 0%, rgba(16, 24, 32, .87) 48%, rgba(16, 24, 32, .25) 100%);
  }

  .modus-hero-copy {
    position: relative;
    z-index: 1;
    align-self: center;
    max-width: 48rem;
    padding: clamp(2rem, 5vw, 3.5rem);
  }

  .modus-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.75rem;
    color: rgba(255, 255, 255, .7);
    font-size: .85rem;
    font-weight: 750;
    text-decoration: none;
  }

  .modus-back:hover {
    color: #fff;
  }

  .modus-hero-copy > span,
  .modus-article > header > span {
    display: block;
    color: #ef3159;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
  }

  .modus-hero h2 {
    margin: .35rem 0 0;
    font-size: clamp(3rem, 7vw, 5.4rem);
    font-weight: 950;
    font-style: italic;
    line-height: .88;
    letter-spacing: -.055em;
    text-transform: uppercase;
  }

  .modus-hero h2 em {
    color: #ef3159;
    font-style: italic;
  }

  .modus-hero-copy > p {
    max-width: 41rem;
    margin: 1.4rem 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 1.05rem;
    line-height: 1.65;
  }

  .modus-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
  }

  .modus-primary-action,
  .modus-secondary-action {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .75rem 1rem;
    border-radius: .55rem;
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
  }

  .modus-primary-action {
    background: #d2002d;
    color: #fff;
  }

  .modus-primary-action:hover {
    background: #ed1646;
    color: #fff;
  }

  .modus-secondary-action {
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
  }

  .modus-secondary-action:hover {
    border-color: #fff;
    color: #fff;
  }

  .modus-hero-symbol {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
  }

  .modus-hero-symbol i {
    color: rgba(255, 255, 255, .14);
    font-size: clamp(7rem, 14vw, 11rem);
  }

  .modus-phases,
  .modus-info,
  .modus-article {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .35rem 1.3rem rgba(31, 42, 55, .06);
  }

  .modus-phases {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
  }

  .modus-phases article {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .8rem;
    min-width: 0;
    padding: 1.25rem;
  }

  .modus-phases article + article {
    border-left: 1px solid var(--bs-border-color-translucent);
  }

  .modus-phases article > span {
    position: absolute;
    top: .55rem;
    right: .7rem;
    color: var(--bs-tertiary-bg);
    font-size: 2rem;
    font-weight: 950;
    line-height: 1;
  }

  .modus-phases article > i {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: .7rem;
    background: rgba(210, 0, 45, .1);
    color: #d2002d;
    font-size: 1.2rem;
  }

  .modus-phases h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 850;
  }

  .modus-phases p {
    margin: .4rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .modus-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-left: 4px solid #d2002d;
  }

  .modus-info > i {
    flex-shrink: 0;
    color: #d2002d;
    font-size: 1.4rem;
  }

  .modus-info strong,
  .modus-info span {
    display: block;
  }

  .modus-info strong {
    font-size: 1.05rem;
  }

  .modus-info span {
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .95rem;
    line-height: 1.5;
  }

  .modus-article {
    overflow: hidden;
  }

  .modus-article > header {
    max-width: 55rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
  }

  .modus-article > header h2 {
    margin: .2rem 0 0;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.025em;
  }

  .modus-article > header p {
    margin: .8rem 0 0;
    color: var(--bs-secondary-color);
    font-size: 1.08rem;
    line-height: 1.6;
  }

  .modus-article-content {
    max-width: 55rem;
    padding: 0 clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 2.5rem);
    font-size: 1.02rem;
    line-height: 1.75;
  }

  .modus-article-content p {
    margin-bottom: 1rem;
  }

  .modus-article-content h2,
  .modus-article-content h3,
  .modus-article-content h4 {
    margin: 1.75rem 0 .65rem;
    font-weight: 850;
    line-height: 1.25;
  }

  .modus-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: .75rem;
  }

  .modus-article-content a {
    color: #d2002d;
    font-weight: 700;
  }

  .modus-article-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
  }

  @media (max-width: 991.98px) {
    .modus-phases {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .modus-phases article:nth-child(3) {
      border-left: 0;
    }

    .modus-phases article:nth-child(n + 3) {
      border-top: 1px solid var(--bs-border-color-translucent);
    }
  }

  @media (max-width: 767.98px) {
    .modus-hero {
      grid-template-columns: minmax(0, 1fr);
      min-height: 0;
    }

    .modus-hero.has-image {
      min-height: 27rem;
    }

    .modus-hero-overlay {
      background: linear-gradient(90deg, rgba(16, 24, 32, .96), rgba(16, 24, 32, .65));
    }

    .modus-hero-symbol {
      display: none;
    }
  }

  @media (max-width: 575.98px) {
    .modus-page {
      gap: 1rem;
    }

    .modus-hero,
    .modus-phases,
    .modus-info,
    .modus-article {
      border-radius: .75rem;
    }

    .modus-hero-copy {
      padding: 1.5rem 1.25rem 2rem;
    }

    .modus-back {
      margin-bottom: 1.25rem;
    }

    .modus-hero h2 {
      font-size: clamp(2.7rem, 15vw, 4rem);
    }

    .modus-phases {
      grid-template-columns: minmax(0, 1fr);
    }

    .modus-phases article + article,
    .modus-phases article:nth-child(3) {
      border-top: 1px solid var(--bs-border-color-translucent);
      border-left: 0;
    }

    .modus-info {
      align-items: flex-start;
    }
  }

  /* ===== Fakten & Meilensteine ===== */
  .fakten {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    min-width: 0;
    padding-bottom: 2rem;
  }

  .fakten-period-switch {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-height: 100%;
    padding: .55rem .8rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    line-height: 1.05;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
  }

  .fakten-period-switch:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
  }

  .fakten-period-switch.is-active {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
  }

  .fakten-period-check {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border: 2px solid var(--bs-border-color);
    border-radius: .35rem;
    color: transparent;
    font-size: .85rem;
  }

  .fakten-period-switch.is-active .fakten-period-check {
    border-color: #fff;
    background: #fff;
    color: #1f2a37;
  }

  .fakten-period-switch strong,
  .fakten-period-switch small {
    display: block;
    white-space: nowrap;
  }

  .fakten-period-switch strong {
    font-size: .8rem;
  }

  .fakten-period-switch small {
    margin-top: .15rem;
    color: var(--bs-secondary-color);
    font-size: .65rem;
  }

  .fakten-period-switch.is-active small {
    color: rgba(255, 255, 255, .72);
  }

  html.dark .fakten-period-switch.is-active {
    border-color: #f8f9fa;
    background: #f8f9fa;
    color: #1f2a37;
  }

  html.dark .fakten-period-switch.is-active .fakten-period-check {
    border-color: #1f2a37;
    background: #1f2a37;
    color: #fff;
  }

  html.dark .fakten-period-switch.is-active small {
    color: #59636e;
  }

  .fakten > *,
  .fakten-table-wrap {
    min-width: 0;
  }

  .fakten-card,
  .fakten-grid {
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--bs-body-bg);
  }

  .fakten-card {
    height: 100%;
    padding: 1rem;
  }

  .fakten-card-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: .85rem;
  }

  .fakten-card-icon {
    display: grid;
    place-items: center;
    flex: 0 0 2.1rem;
    color: #d2002d;
    font-size: 1.65rem;
  }

  .fakten-card-text {
    flex: 1 1 12rem;
  }

  .fakten-card-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
  }

  .fakten-card-sub {
    margin: .1rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .8rem;
  }

  .fakten-more {
    padding: .45rem .8rem;
    border-radius: 50rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    font-size: .75rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
  }

  .fakten-more:hover,
  .fakten-fact:hover,
  .fakten-near:hover,
  .fakten-ms:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
  }

  .fakten-ms-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
  }

  .fakten-ms {
    display: flex;
    min-width: 0;
    gap: .75rem;
    padding: .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .7rem;
    color: var(--bs-body-color);
    text-decoration: none;
  }

  .fakten-ms-person {
    display: flex;
    flex: 0 0 4.3rem;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    text-align: center;
  }

  .fakten-ms-photo {
    width: 4rem;
    height: 4rem;
    border-radius: .6rem;
    object-fit: cover;
    object-position: top;
    background: var(--bs-secondary-bg);
  }

  .fakten-ms-name,
  .fakten-ms-meta {
    max-width: 6rem;
    font-size: .7rem;
    line-height: 1.2;
  }

  .fakten-ms-name,
  .fakten-ms-title {
    font-weight: 900;
  }

  .fakten-ms-meta,
  .fakten-ms-club,
  .fakten-ms-text,
  .fakten-fact-text,
  .fakten-fact-meta,
  .fakten-near-club,
  .fakten-hint {
    color: var(--bs-secondary-color);
  }

  .fakten-ms-body {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: .3rem;
    min-width: 0;
  }

  .fakten-ms-club {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .75rem;
  }

  .fakten-logo {
    flex: 0 0 auto;
    object-fit: contain;
  }

  .fakten-ms-title {
    font-size: 1rem;
  }

  .fakten-ms-text,
  .fakten-fact-text {
    font-size: .82rem;
    line-height: 1.35;
  }

  .fakten-list {
    display: grid;
    gap: .5rem;
  }

  .fakten-fact,
  .fakten-near {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .6rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .6rem;
    color: var(--bs-body-color);
    text-decoration: none;
  }

  .fakten-fact-person {
    display: flex;
    flex: 0 0 5.5rem;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    text-align: center;
  }

  .fakten-photo {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    background: var(--bs-secondary-bg);
  }

  .fakten-photo-empty {
    display: grid;
    place-items: center;
  }

  .fakten-fact-name,
  .fakten-fact-meta,
  .fakten-near-name,
  .fakten-near-club {
    font-size: .73rem;
    line-height: 1.25;
  }

  .fakten-fact-name,
  .fakten-near-name,
  .fakten-fact-title {
    font-weight: 800;
  }

  .fakten-fact-badge {
    display: grid;
    flex: 0 0 2.8rem;
    place-items: center;
  }

  .fakten-fact-icon {
    color: #d2002d;
    font-size: 1.6rem;
  }

  .fakten-fact-body {
    display: grid;
    flex: 1 1 0;
    gap: .25rem;
    min-width: 0;
  }

  .fakten-fact-title {
    font-size: .9rem;
  }

  .fakten-fact-go {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: .8rem;
  }

  .fakten-near-who {
    display: grid;
    flex: 1 1 6rem;
    min-width: 0;
  }

  .fakten-near-progress {
    display: grid;
    flex: 1 1 8rem;
    gap: .35rem;
    min-width: 0;
  }

  .fakten-near-label,
  .fakten-near-value {
    font-size: .75rem;
  }

  .fakten-near-value {
    white-space: nowrap;
  }

  .fakten-near-bar {
    display: block;
    width: 100%;
    height: .45rem;
    border-radius: 50rem;
    background: var(--bs-secondary-bg);
    overflow: hidden;
  }

  .fakten-near-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #d2002d;
  }

  .fakten-near-bar-inline {
    min-width: 6rem;
  }

  .fakten-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    padding: .75rem;
  }

  .fakten-bar-label {
    align-self: center;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-weight: 700;
  }

  .fakten-hint {
    margin: 0;
    font-size: .8rem;
  }

  .fakten-table {
    width: max-content;
    min-width: 100%;
  }

  .fakten-table th,
  .fakten-table td {
    white-space: nowrap;
  }

  .fakten-table .stats-leader-player,
  .fakten-club,
  .fakten-match {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--bs-body-color);
    font-size: .85rem;
    font-weight: 700;
    text-decoration: none;
  }

  .fakten-club .fakten-logo {
    width: 1.8rem;
    height: 1.8rem;
  }

  .fakten-table .stats-leader-player img {
    width: 2rem;
    height: 2rem;
  }

  .fakten-table .fakten-col-bar {
    min-width: 9rem;
  }

  .fakten-quote {
    display: flex;
    align-items: center;
    gap: .5rem;
  }

  .fakten-dots {
    display: flex;
    gap: .2rem;
  }

  .fakten-dot {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--bs-secondary-bg);
  }

  .fakten-dot.is-win {
    background: #198754;
  }

  .fakten-serie {
    color: #198754;
    font-weight: 700;
  }

  .fakten-serie.is-bad {
    color: #d2002d;
  }

  .fakten-value {
    font-size: 1rem;
  }

  .fakten-go {
    color: var(--bs-secondary-color);
    text-decoration: none;
  }

  .fakten-show-more {
    cursor: pointer;
  }

  .fakten-pagination {
    margin-top: .75rem;
  }

  .fakten-pagination-info {
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-weight: 700;
  }

  .fakten-row-more[hidden] {
    display: none;
  }

  @media (max-width: 991.98px) {
    .fakten-ms-grid,
    .fakten-grid {
      grid-template-columns: 1fr;
    }

    .fakten-table th:first-child,
    .fakten-table td:first-child,
    .fakten-table th:nth-child(2),
    .fakten-table td:nth-child(2) {
      position: sticky;
      z-index: 2;
      background: var(--bs-body-bg);
    }

    .fakten-table th:first-child,
    .fakten-table td:first-child {
      left: 0;
    }

    .fakten-table th:nth-child(2),
    .fakten-table td:nth-child(2) {
      left: var(--fakten-first-col);
      box-shadow: 2px 0 3px rgba(0, 0, 0, .07);
    }

    .fakten-table thead th {
      z-index: 3;
      background: var(--bs-tertiary-bg);
    }
  }

  @media (max-width: 575.98px) {
    .fakten-toolbar .games-toolbar-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fakten-period-switch {
      justify-content: center;
      min-width: 0;
      padding-inline: .5rem;
    }

    .fakten-toolbar .stats-club-drop {
      min-width: 0;
    }

    .fakten-toolbar .stats-club-drop .games-drop {
      min-width: 0;
    }

    .fakten .standings-bar-sep {
      display: none;
    }

    .fakten-ms {
      padding: .5rem;
    }

    .fakten-card {
      padding: .75rem;
    }

    .fakten-fact-person {
      flex-basis: 3.5rem;
    }

    .fakten-fact-badge {
      display: none;
    }

    .fakten-near-value {
      display: none;
    }

    .fakten-table .stats-leader-player span,
    .fakten-club span {
      white-space: nowrap;
    }
  }

  /* ===== 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-table-club {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    color: var(--bs-body-color);
    font-weight: 700;
    white-space: nowrap;
  }

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

  .stats-table-club > i {
    flex: 0 0 auto;
    width: 28px;
    color: var(--bs-secondary-color);
    text-align: center;
  }

  .team-name-short,
  .player-name-short {
    display: none;
  }

  @media (max-width: 767.98px) {
    .team-name-full,
    .player-name-full {
      display: none !important;
    }

    .team-name-short,
    .player-name-short {
      display: inline !important;
    }
  }

  .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);
  }
