/* ==========================================
   Regionalliga / 1. Männer
   Final Clean CSS – FSV 63 Luckenwalde
   Stand: bereinigt, ohne doppelte Override-Blöcke
========================================== */

/* ------------------------------------------
   Design Tokens + CSS Icons
------------------------------------------ */

:root {
  --fsv-rl-yellow: #f3c533;
  --fsv-rl-yellow-soft: rgba(243, 197, 51, 0.16);
  --fsv-rl-transfer-in: #35d66b;
  --fsv-rl-transfer-out: #ff5d6c;

  --fsv-rl-blue-950: #061226;
  --fsv-rl-blue-900: #09172e;
  --fsv-rl-blue-850: #0f2553;
  --fsv-rl-blue-800: #14346f;
  --fsv-rl-blue-700: #21569f;

  --fsv-rl-text: #ffffff;
  --fsv-rl-text-soft: rgba(255, 255, 255, 0.88);
  --fsv-rl-text-muted: rgba(255, 255, 255, 0.66);

  --fsv-rl-card-bg: linear-gradient(
    180deg,
    rgba(15, 37, 83, 0.94) 0%,
    rgba(9, 23, 46, 0.98) 100%
  );
  --fsv-rl-card-bg-soft: linear-gradient(
    180deg,
    rgba(20, 52, 111, 0.78) 0%,
    rgba(9, 23, 46, 0.92) 100%
  );
  --fsv-rl-card-border: rgba(255, 255, 255, 0.08);
  --fsv-rl-card-border-blue: rgba(97, 166, 255, 0.20);
  --fsv-rl-shadow: 0 18px 44px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.04);

  --fsv-rl-radius: 20px;
  --fsv-rl-radius-sm: 14px;
  --fsv-rl-shell: 1380px;

  --fsv-rl-ico-trophy: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M8%2021h8M12%2017v4M7%204h10v4a5%205%200%200%201-10%200V4Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M7%206H4v2a4%204%200%200%200%204%204M17%206h3v2a4%204%200%200%201-4%204%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-calendar: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%203v4M16%203v4M3%2010h18%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-users: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2M9%2011a4%204%200%201%200%200-8%204%204%200%200%200%200%208ZM22%2021v-2a4%204%200%200%200-3-3.87M16%203.13a4%204%200%200%201%200%207.75%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-user: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M20%2021a8%208%200%200%200-16%200M12%2013a5%205%200%201%200%200-10%205%205%200%200%200%200%2010Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-mail: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2714%27%20rx%3D%272%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27m4%207%208%206%208-6%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-plus: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M12%208v8M8%2012h8%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-minus: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%2012h8%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-swap: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M7%207h13l-3-3M17%2020l3-3H4%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-goal: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%274%27%20y%3D%275%27%20width%3D%2716%27%20height%3D%2714%27%20rx%3D%272%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M4%2010h16M9%205v14M15%205v14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-shield: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-grid: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-target: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M12%203v3M12%2018v3M3%2012h3M18%2012h3%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-map: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%2021s7-5.4%207-12a7%207%200%201%200-14%200c0%206.6%207%2012%207%2012Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%279%27%20r%3D%272.5%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-heart: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M20.8%204.6a5.5%205.5%200%200%200-7.8%200L12%205.6l-1-1a5.5%205.5%200%200%200-7.8%207.8l1%201L12%2021l7.8-7.6%201-1a5.5%205.5%200%200%200%200-7.8Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M3%2012h4l2-3%203%206%202-3h7%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-list: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M8%206h13M8%2012h13M8%2018h13%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%276%27%20r%3D%271.5%27%20fill%3D%27black%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%2712%27%20r%3D%271.5%27%20fill%3D%27black%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%2718%27%20r%3D%271.5%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-clock: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M12%207v5l3%202%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
  --fsv-rl-ico-handshake: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M8%2012l3%203a2%202%200%200%200%203%200l2-2M2%2012l5-5%204%204M22%2012l-5-5-4%204M7%207l3-3h4l3%203%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");

  /* Stadion-Icon, bewusst nicht als Fenster/Grid: Dach, Tribüne, Eingänge */
  --fsv-rl-ico-stadium: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.5c2.2-2 4.9-3 8-3s5.8 1 8 3'/%3E%3Cpath d='M4 10h16v8H4z'/%3E%3Cpath d='M7 18v-4h10v4'/%3E%3Cpath d='M8 10v4'/%3E%3Cpath d='M12 9.2V14'/%3E%3Cpath d='M16 10v4'/%3E%3Cpath d='M4 14h16'/%3E%3C/svg%3E");
}

/* ------------------------------------------
   Page Background
------------------------------------------ */

body.page-template-template-regionalliga-php #primary.fsv-firstteam-page,
body.page-template-template-regionalliga #primary.fsv-firstteam-page,
body.page-template-template-regionalliga-php .fsv-firstteam-page,
body.page-template-template-regionalliga .fsv-firstteam-page {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding: 0 0 82px;
  background:
    radial-gradient(circle at top center, rgba(70, 140, 255, 0.24) 0%, rgba(47, 103, 178, 0.20) 24%, rgba(24, 61, 116, 0.18) 48%, rgba(15, 31, 56, 0.94) 78%, rgba(10, 18, 34, 1) 100%),
    linear-gradient(180deg, rgba(24, 61, 116, 0.34) 0%, rgba(47, 103, 178, 0.22) 35%, rgba(240, 194, 50, 0.05) 100%) !important;
}

body.page-template-template-regionalliga-php .fsv-firstteam-page::before,
body.page-template-template-regionalliga .fsv-firstteam-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.08;
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.14) 0,
    rgba(255, 255, 255, 0.14) 10px,
    transparent 10px,
    transparent 26px
  );
}

body.page-template-template-regionalliga-php .fsv-firstteam-page > *,
body.page-template-template-regionalliga .fsv-firstteam-page > * {
  position: relative;
  z-index: 1;
}

.fsv-firstteam-shell {
  width: min(var(--fsv-rl-shell), calc(100% - 48px));
  max-width: var(--fsv-rl-shell);
  margin: 0 auto;
  padding: 0;
}

/* Nur der Content-Shell bekommt vertikale Abstände.
   Wichtig: .fsv-firstteam-shell wird auch im Hero benutzt. */
.fsv-firstteam-content > .fsv-firstteam-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ------------------------------------------
   Hero
------------------------------------------ */

.fsv-firstteam-hero {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 4px solid var(--fsv-rl-yellow);
  background:
    linear-gradient(180deg, rgba(6, 16, 31, 0.12) 0%, rgba(6, 16, 31, 0.44) 46%, rgba(6, 16, 31, 0.78) 100%),
    var(--fsv-firstteam-hero-image) center center / cover no-repeat;
}

.fsv-firstteam-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(7, 18, 36, 0.80) 0%, rgba(7, 18, 36, 0.42) 46%, rgba(7, 18, 36, 0.18) 100%);
}

.fsv-firstteam-hero__inner {
  position: relative;
  z-index: 2;
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(420px, 0.95fr);
  align-items: end;
  gap: 34px;
  padding-top: 118px;
  padding-bottom: 28px;
}

.fsv-firstteam-hero__content h1 {
  margin: 0 0 4px;
  color: var(--fsv-rl-text);
  font-size: clamp(54px, 5.4vw, 78px);
  line-height: 0.92;
  font-weight: 900;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.30);
}

.fsv-firstteam-hero__subtitle {
  display: inline-block;
  margin: 0 0 10px;
  padding: 0;
  color: var(--fsv-rl-yellow);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.fsv-firstteam-hero__lead {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.95);
  font-size: 20px;
  line-height: 1.45;
  font-weight: 700;
  text-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
}

.fsv-firstteam-hero__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.fsv-firstteam-fact {
  min-height: 110px;
  padding: 16px 12px;
  border-radius: 18px;
  background: var(--fsv-rl-card-bg);
  border: 1px solid var(--fsv-rl-card-border);
  box-shadow: var(--fsv-rl-shadow);
  text-align: center;
}

.fsv-firstteam-fact__icon {
  width: 34px;
  height: 34px;
  margin: 0 auto 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fsv-rl-yellow);
}

.fsv-firstteam-fact__icon svg {
  display: none !important;
}

.fsv-firstteam-fact__label {
  display: block;
  margin-bottom: 4px;
  color: var(--fsv-rl-text-muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.fsv-firstteam-fact strong {
  display: block;
  color: var(--fsv-rl-text);
  font-size: 16px;
  line-height: 1.35;
  font-weight: 900;
}

/* ------------------------------------------
   Cards + Type
------------------------------------------ */

.fsv-firstteam-card,
.fsv-firstteam-story-card,
.fsv-firstteam-fact,
.fsv-firstteam-stat,
.fsv-firstteam-contact,
.fsv-firstteam-squad__group {
  background: var(--fsv-rl-card-bg);
  border: 1px solid var(--fsv-rl-card-border);
  box-shadow: var(--fsv-rl-shadow);
}

.fsv-firstteam-card,
.fsv-firstteam-story-card {
  border-radius: var(--fsv-rl-radius);
}

.fsv-firstteam-card {
  padding: 18px 18px 16px;
}

.fsv-firstteam-card h2,
.fsv-firstteam-story-card__body h2 {
  margin: 0 0 14px;
  color: var(--fsv-rl-text);
  font-size: 20px;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.fsv-firstteam-card h3,
.fsv-firstteam-transfers h3,
.fsv-firstteam-squad h3,
.fsv-firstteam-meta-box h3 {
  margin: 0 0 8px;
  color: var(--fsv-rl-yellow);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.fsv-firstteam-card p,
.fsv-firstteam-story-card__body p,
.fsv-firstteam-card li,
.fsv-firstteam-card td,
.fsv-firstteam-card th,
.fsv-firstteam-meta-box p,
.fsv-firstteam-meta-box li {
  color: var(--fsv-rl-text-soft);
}

/* ------------------------------------------
   Top Content: Teamfoto + Sidebar
------------------------------------------ */

.fsv-firstteam-content {
  padding-top: 18px;
  padding-bottom: 72px;
}

.fsv-firstteam-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(340px, 0.9fr);
  gap: 20px;
  align-items: start;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.fsv-firstteam-top-grid::before,
.fsv-firstteam-top-grid::after {
  content: none !important;
  display: none !important;
}

.fsv-firstteam-story-card {
  overflow: hidden;
}

.fsv-firstteam-story-card__image {
  position: relative;
  aspect-ratio: 16 / 8.1;
  min-height: 320px;
  background: rgba(255, 255, 255, 0.04);
}

.fsv-firstteam-story-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.fsv-firstteam-story-card__body {
  padding: 14px 16px;
}

.fsv-firstteam-story-card__body p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.55;
}

.fsv-firstteam-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.fsv-firstteam-stat {
  padding: 10px 8px;
  border-radius: 12px;
  text-align: center;
}

.fsv-firstteam-stat strong {
  display: block;
  margin-bottom: 4px;
  color: var(--fsv-rl-text);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.fsv-firstteam-stat span {
  display: block;
  color: var(--fsv-rl-text-muted);
  font-size: 11px;
  line-height: 1.3;
}

/* ------------------------------------------
   Sidebar
------------------------------------------ */

.fsv-firstteam-sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.fsv-firstteam-contact-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fsv-firstteam-contact {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 28px;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border-radius: var(--fsv-rl-radius-sm);
}

.fsv-firstteam-contact__icon,
.fsv-firstteam-contact__mail {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: rgba(243, 197, 51, 0.08);
  color: var(--fsv-rl-yellow);
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}

.fsv-firstteam-contact__icon svg,
.fsv-firstteam-contact__mail svg {
  display: none !important;
}

.fsv-firstteam-contact__mail:hover {
  transform: translateY(-1px);
  background: var(--fsv-rl-yellow-soft);
}

.fsv-firstteam-contact__text {
  min-width: 0;
}

.fsv-firstteam-contact__text strong {
  display: block;
  margin-bottom: 3px;
  color: var(--fsv-rl-text);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.fsv-firstteam-contact__text span {
  display: block;
  color: rgba(255, 255, 255, 0.70);
  font-size: 11px;
  line-height: 1.3;
  word-break: break-word;
}

.fsv-firstteam-partner {
  min-height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 12px;
  border-radius: 16px;
  background: #ffffff;
}

.fsv-firstteam-partner img {
  width: auto;
  max-width: 100%;
  max-height: 92px;
  display: block;
  object-fit: contain;
  border-radius: 10px;
}

/* ------------------------------------------
   Tabelle
------------------------------------------ */

.fsv-firstteam-table {
  width: 100%;
  margin-bottom: 14px;
  border-collapse: collapse;
  table-layout: fixed;
}

.fsv-firstteam-table th,
.fsv-firstteam-table td {
  padding: 8px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 13px;
  line-height: 1.25;
  text-align: left;
}

.fsv-firstteam-table th {
  color: var(--fsv-rl-text-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.fsv-firstteam-table th:nth-child(1),
.fsv-firstteam-table td:nth-child(1) {
  width: 54px;
}

.fsv-firstteam-table th:nth-child(3),
.fsv-firstteam-table td:nth-child(3),
.fsv-firstteam-table th:nth-child(4),
.fsv-firstteam-table td:nth-child(4),
.fsv-firstteam-table th:nth-child(5),
.fsv-firstteam-table td:nth-child(5) {
  width: 54px;
  text-align: center;
}

.fsv-firstteam-table tbody tr.is-active td {
  color: var(--fsv-rl-text);
  font-weight: 900;
  background: rgba(255, 255, 255, 0.06);
}

.fsv-firstteam-table tbody tr.is-active td:first-child {
  border-radius: 8px 0 0 8px;
}

.fsv-firstteam-table tbody tr.is-active td:last-child {
  border-radius: 0 8px 8px 0;
}

/* Kein automatischer Pokal an aktiver Zeile.
   Pokal erscheint nur, wenn PHP .fsv-firstteam-table-rank-icon ausgibt. */
.fsv-firstteam-table tbody td:first-child::before,
.fsv-firstteam-table tbody tr.is-active td:first-child::before {
  content: none !important;
  display: none !important;
}

.fsv-firstteam-table-rank-icon {
  width: 15px;
  height: 15px;
  margin-right: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fsv-rl-yellow);
  vertical-align: -2px;
}

.fsv-firstteam-table-rank-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

/* ------------------------------------------
   Buttons
------------------------------------------ */

.fsv-firstteam-button {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fsv-rl-text);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.fsv-firstteam-button--outline {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

.fsv-firstteam-button--outline:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.06);
}

/* ------------------------------------------
   Lower Layout
   Template-Reihenfolge:
   Spielerwechsel -> Team -> Meta -> Medizin/Erfolge
------------------------------------------ */

.fsv-firstteam-main-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0 !important;
  padding: 0 0 68px !important;
  border-top: 0 !important;
}

.fsv-firstteam-lower-top {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.62fr) minmax(340px, 0.9fr);
  gap: 20px;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start;
}

.fsv-firstteam-transfers-card,
.fsv-firstteam-card--transfers {
  grid-column: 1;
  width: 100%;
  max-width: none;
  min-height: 172px;
  margin: 0 !important;
  position: relative;
}

.fsv-firstteam-team-card,
.fsv-firstteam-card--squad,
.fsv-firstteam-meta-card,
.fsv-firstteam-lower-bottom {
  width: 100%;
  max-width: none;
}

.fsv-firstteam-team-card,
.fsv-firstteam-card--squad,
.fsv-firstteam-meta-card {
  grid-column: 1 / -1;
}

.fsv-firstteam-top-grid > *,
.fsv-firstteam-main-grid > *,
.fsv-firstteam-lower-top > *,
.fsv-firstteam-lower-bottom > * {
  align-self: start;
  min-height: 0;
}

.fsv-firstteam-content hr,
.fsv-firstteam-shell hr,
.fsv-firstteam-top-grid hr {
  display: none !important;
}

/* ------------------------------------------
   Transfers
------------------------------------------ */

.fsv-firstteam-transfers {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.fsv-firstteam-transfer-group {
  min-width: 0;
}

.fsv-firstteam-transfers ul,
.fsv-firstteam-squad ul,
.fsv-firstteam-meta-box ul,
.fsv-firstteam-achievements {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fsv-firstteam-transfers li,
.fsv-firstteam-squad li,
.fsv-firstteam-meta-box li,
.fsv-firstteam-achievements li {
  position: relative;
  margin: 0 0 5px;
  padding-left: 12px;
  color: var(--fsv-rl-text-soft);
  font-size: 12px;
  line-height: 1.4;
}

.fsv-firstteam-transfers li::before,
.fsv-firstteam-squad li::before,
.fsv-firstteam-meta-box li::before,
.fsv-firstteam-achievements li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--fsv-rl-yellow);
  box-shadow: none;
}

.fsv-firstteam-transfers > div:nth-child(1) h3,
.fsv-firstteam-transfers > div:nth-child(3) h3 {
  color: var(--fsv-rl-transfer-in) !important;
}

.fsv-firstteam-transfers > div:nth-child(2) h3,
.fsv-firstteam-transfers > div:nth-child(4) h3 {
  color: var(--fsv-rl-transfer-out) !important;
}

.fsv-firstteam-transfers > div:nth-child(1) li::before,
.fsv-firstteam-transfers > div:nth-child(3) li::before {
  background: var(--fsv-rl-transfer-in) !important;
  box-shadow: 0 0 8px rgba(53, 214, 107, 0.35);
}

.fsv-firstteam-transfers > div:nth-child(2) li::before,
.fsv-firstteam-transfers > div:nth-child(4) li::before {
  background: var(--fsv-rl-transfer-out) !important;
  box-shadow: 0 0 8px rgba(255, 93, 108, 0.35);
}

.fsv-firstteam-transfer-more {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
  line-height: 1.3;
}

.fsv-firstteam-transfers-card:not(.is-open) .is-transfer-extra {
  display: none;
}

.fsv-firstteam-transfers-card.is-open {
  height: auto;
  overflow: visible;
}

.fsv-firstteam-transfers-card.is-open .fsv-firstteam-transfer-more {
  display: none;
}

.fsv-firstteam-transfer-toggle {
  width: 100%;
  min-height: 34px;
  margin-top: 14px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.fsv-firstteam-transfer-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(243, 197, 51, 0.34);
  background: rgba(243, 197, 51, 0.09);
  color: var(--fsv-rl-text);
}

.fsv-firstteam-transfer-toggle::after {
  content: "›";
  display: inline-block;
  margin-left: 8px;
  transform: rotate(90deg);
  transition: transform 0.18s ease;
}

.fsv-firstteam-transfers-card.is-open .fsv-firstteam-transfer-toggle {
  margin-top: 18px;
}

.fsv-firstteam-transfers-card.is-open .fsv-firstteam-transfer-toggle::after {
  transform: rotate(-90deg);
}

/* ------------------------------------------
   Squad / Team
------------------------------------------ */

.fsv-firstteam-squad {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 0;
}

.fsv-firstteam-squad__group {
  min-height: 104px;
  padding: 12px 10px;
  border-radius: 12px;
  background: var(--fsv-rl-card-bg);
}

.fsv-firstteam-squad__group li {
  margin-bottom: 4px;
  line-height: 1.35;
}

/* ------------------------------------------
   Trainer / Spielstätte
------------------------------------------ */

.fsv-firstteam-meta-card {
  padding: 0;
  overflow: hidden;
}

.fsv-firstteam-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}

.fsv-firstteam-meta-box {
  min-height: 108px;
  padding: 16px 18px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.fsv-firstteam-meta-box + .fsv-firstteam-meta-box {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.fsv-firstteam-meta-box p {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.45;
}

/* ------------------------------------------
   Medical + Achievements
------------------------------------------ */

.fsv-firstteam-lower-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 1fr);
  gap: 18px;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch;
}

.fsv-firstteam-medical,
.fsv-firstteam-card--medical,
.fsv-firstteam-achievements-card,
.fsv-firstteam-card--achievements {
  min-height: 210px;
}

.fsv-firstteam-medical,
.fsv-firstteam-card--medical {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
  gap: 16px;
  align-items: center;
}

.fsv-firstteam-medical__copy p {
  max-width: 720px;
  margin: 0;
  color: var(--fsv-rl-text-soft);
  font-size: 13px;
  line-height: 1.6;
}

.fsv-firstteam-medical__media {
  min-height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

.fsv-firstteam-medical__media img {
  width: auto;
  max-width: 250px;
  max-height: 150px;
  height: auto;
  display: block;
  object-fit: contain;
}

.fsv-firstteam-achievements-card,
.fsv-firstteam-card--achievements {
  display: flex;
  flex-direction: column;
}

.fsv-firstteam-achievements {
  margin-bottom: 18px;
}

.fsv-firstteam-achievements li {
  margin-bottom: 7px;
  font-size: 13px;
  line-height: 1.4;
}

.fsv-firstteam-achievements-card .fsv-firstteam-button,
.fsv-firstteam-card--achievements .fsv-firstteam-button {
  margin-top: auto;
  align-self: flex-start;
}

/* ------------------------------------------
   CSS Icon System
------------------------------------------ */

.fsv-firstteam-card h2 svg,
.fsv-firstteam-squad__group h3 svg,
.fsv-firstteam-meta-box h3 svg,
.fsv-firstteam-transfers h3 svg,
.fsv-firstteam-contact__icon svg,
.fsv-firstteam-contact__mail svg {
  display: none !important;
}

.fsv-firstteam-card h2,
.fsv-firstteam-story-card__body h2,
.fsv-firstteam-transfers h3,
.fsv-firstteam-squad__group h3,
.fsv-firstteam-meta-box h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fsv-firstteam-fact__icon::before,
.fsv-firstteam-contact__icon::before,
.fsv-firstteam-contact__mail::before,
.fsv-firstteam-stat::before,
.fsv-firstteam-transfers h3::before,
.fsv-firstteam-squad__group h3::before,
.fsv-firstteam-meta-box h3::before,
.fsv-firstteam-medical h2::before,
.fsv-firstteam-achievements-card h2::before,
.fsv-firstteam-card--achievements h2::before,
.fsv-firstteam-transfers-card h2::before,
.fsv-firstteam-team-card h2::before,
.fsv-firstteam-card--squad h2::before,
.fsv-firstteam-sidebar > .fsv-firstteam-card > h2::before {
  content: "";
  width: var(--fsv-rl-icon-size, 18px);
  height: var(--fsv-rl-icon-size, 18px);
  flex: 0 0 var(--fsv-rl-icon-size, 18px);
  display: inline-block;
  background: var(--fsv-rl-icon-color, var(--fsv-rl-yellow));
  -webkit-mask: var(--fsv-rl-icon) center / contain no-repeat;
  mask: var(--fsv-rl-icon) center / contain no-repeat;
}

/* Hero-Facts */
.fsv-firstteam-hero__facts .fsv-firstteam-fact:nth-child(1) .fsv-firstteam-fact__icon::before { --fsv-rl-icon: var(--fsv-rl-ico-trophy); --fsv-rl-icon-size: 22px; }
.fsv-firstteam-hero__facts .fsv-firstteam-fact:nth-child(2) .fsv-firstteam-fact__icon::before { --fsv-rl-icon: var(--fsv-rl-ico-calendar); --fsv-rl-icon-size: 22px; }
.fsv-firstteam-hero__facts .fsv-firstteam-fact:nth-child(3) .fsv-firstteam-fact__icon::before { --fsv-rl-icon: var(--fsv-rl-ico-users); --fsv-rl-icon-size: 22px; }
.fsv-firstteam-hero__facts .fsv-firstteam-fact:nth-child(4) .fsv-firstteam-fact__icon::before { --fsv-rl-icon: var(--fsv-rl-ico-stadium); --fsv-rl-icon-size: 22px; }

/* Story-Stats */
.fsv-firstteam-stat::before {
  --fsv-rl-icon-size: 18px;
  display: block;
  margin: 0 auto 8px;
  --fsv-rl-icon-color: rgba(84, 166, 255, 0.95);
}
.fsv-firstteam-stats .fsv-firstteam-stat:nth-child(1)::before { --fsv-rl-icon: var(--fsv-rl-ico-user); }
.fsv-firstteam-stats .fsv-firstteam-stat:nth-child(2)::before { --fsv-rl-icon: var(--fsv-rl-ico-users); }
.fsv-firstteam-stats .fsv-firstteam-stat:nth-child(3)::before { --fsv-rl-icon: var(--fsv-rl-ico-clock); }
.fsv-firstteam-stats .fsv-firstteam-stat:nth-child(4)::before {
  --fsv-rl-icon: var(--fsv-rl-ico-heart);
  --fsv-rl-icon-color: var(--fsv-rl-yellow);
}

/* Sidebar */
.fsv-firstteam-contact__icon::before { --fsv-rl-icon: var(--fsv-rl-ico-user); --fsv-rl-icon-size: 16px; }
.fsv-firstteam-contact__mail::before { --fsv-rl-icon: var(--fsv-rl-ico-mail); --fsv-rl-icon-size: 16px; }
.fsv-firstteam-sidebar > .fsv-firstteam-card:nth-child(1) > h2::before { --fsv-rl-icon: var(--fsv-rl-ico-user); }
.fsv-firstteam-sidebar > .fsv-firstteam-card:nth-child(2) > h2::before { --fsv-rl-icon: var(--fsv-rl-ico-handshake); }
.fsv-firstteam-sidebar > .fsv-firstteam-card:nth-child(3) > h2::before { --fsv-rl-icon: var(--fsv-rl-ico-list); }

/* Spielerwechsel */
.fsv-firstteam-transfers-card h2::before { --fsv-rl-icon: var(--fsv-rl-ico-swap); }

.fsv-firstteam-transfers > div:nth-child(1) h3::before,
.fsv-firstteam-transfers > div:nth-child(3) h3::before {
  --fsv-rl-icon: var(--fsv-rl-ico-plus);
  --fsv-rl-icon-color: var(--fsv-rl-transfer-in);
}

.fsv-firstteam-transfers > div:nth-child(2) h3::before,
.fsv-firstteam-transfers > div:nth-child(4) h3::before {
  --fsv-rl-icon: var(--fsv-rl-ico-minus);
  --fsv-rl-icon-color: var(--fsv-rl-transfer-out);
}

/* Team / Kader */
.fsv-firstteam-team-card h2::before,
.fsv-firstteam-card--squad h2::before { --fsv-rl-icon: var(--fsv-rl-ico-users); }
.fsv-firstteam-squad__group:nth-child(1) h3::before { --fsv-rl-icon: var(--fsv-rl-ico-goal); --fsv-rl-icon-size: 14px; }
.fsv-firstteam-squad__group:nth-child(2) h3::before { --fsv-rl-icon: var(--fsv-rl-ico-shield); --fsv-rl-icon-size: 14px; }
.fsv-firstteam-squad__group:nth-child(3) h3::before { --fsv-rl-icon: var(--fsv-rl-ico-grid); --fsv-rl-icon-size: 14px; }
.fsv-firstteam-squad__group:nth-child(4) h3::before { --fsv-rl-icon: var(--fsv-rl-ico-target); --fsv-rl-icon-size: 14px; }

/* Trainer / Spielstätte */
.fsv-firstteam-meta-box:nth-child(1) h3::before { --fsv-rl-icon: var(--fsv-rl-ico-user); --fsv-rl-icon-size: 14px; }
.fsv-firstteam-meta-box:nth-child(2) h3::before { --fsv-rl-icon: var(--fsv-rl-ico-stadium); --fsv-rl-icon-size: 14px; }

/* Medizin / Erfolge */
.fsv-firstteam-medical h2::before,
.fsv-firstteam-card--medical h2::before { --fsv-rl-icon: var(--fsv-rl-ico-heart); }
.fsv-firstteam-achievements-card h2::before,
.fsv-firstteam-card--achievements h2::before { --fsv-rl-icon: var(--fsv-rl-ico-trophy); }

/* ------------------------------------------
   Responsive
------------------------------------------ */

@media (max-width: 1240px) {
  .fsv-firstteam-shell {
    width: min(100%, calc(100% - 32px));
  }

  .fsv-firstteam-hero__inner,
  .fsv-firstteam-top-grid,
  .fsv-firstteam-lower-top {
    grid-template-columns: 1fr;
  }

  .fsv-firstteam-hero__inner {
    padding-top: 112px;
  }

  .fsv-firstteam-transfers-card,
  .fsv-firstteam-card--transfers {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991px) {
  .fsv-firstteam-hero,
  .fsv-firstteam-hero__inner {
    min-height: 300px;
  }

  .fsv-firstteam-hero__content h1 {
    font-size: clamp(36px, 8vw, 54px);
  }

  .fsv-firstteam-hero__facts,
  .fsv-firstteam-stats,
  .fsv-firstteam-transfers,
  .fsv-firstteam-squad {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fsv-firstteam-lower-bottom {
    grid-template-columns: 1fr;
  }

  .fsv-firstteam-medical,
  .fsv-firstteam-card--medical {
    grid-template-columns: 1fr;
  }

  .fsv-firstteam-medical__media {
    min-height: auto;
    justify-content: flex-start;
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 767px) {
  body.page-template-template-regionalliga-php #primary.fsv-firstteam-page,
  body.page-template-template-regionalliga #primary.fsv-firstteam-page,
  body.page-template-template-regionalliga-php .fsv-firstteam-page,
  body.page-template-template-regionalliga .fsv-firstteam-page {
    padding-bottom: 64px;
  }

  .fsv-firstteam-shell {
    width: min(100%, calc(100% - 20px));
  }

  .fsv-firstteam-content > .fsv-firstteam-shell {
    gap: 14px;
  }

  .fsv-firstteam-hero,
  .fsv-firstteam-hero__inner {
    min-height: 260px;
  }

  .fsv-firstteam-hero__inner {
    gap: 18px;
    padding-top: 98px;
    padding-bottom: 22px;
  }

  .fsv-firstteam-hero__subtitle {
    font-size: 13px;
  }

  .fsv-firstteam-hero__lead {
    font-size: 16px;
  }

  .fsv-firstteam-card,
  .fsv-firstteam-story-card,
  .fsv-firstteam-fact,
  .fsv-firstteam-squad__group,
  .fsv-firstteam-contact {
    border-radius: 16px;
  }

  .fsv-firstteam-card {
    padding: 16px;
  }

  .fsv-firstteam-card h2,
  .fsv-firstteam-story-card__body h2 {
    font-size: 18px;
  }

  .fsv-firstteam-story-card__image {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .fsv-firstteam-story-card__body p {
    font-size: 13px;
    line-height: 1.6;
  }

  .fsv-firstteam-contact {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .fsv-firstteam-contact__mail {
    grid-column: 2;
    justify-self: start;
    margin-top: 6px;
  }

  .fsv-firstteam-hero__facts,
  .fsv-firstteam-stats,
  .fsv-firstteam-transfers,
  .fsv-firstteam-squad,
  .fsv-firstteam-meta-grid,
  .fsv-firstteam-medical,
  .fsv-firstteam-card--medical {
    grid-template-columns: 1fr;
  }

  .fsv-firstteam-meta-card {
    padding: 0;
  }

  .fsv-firstteam-meta-box {
    border-left: 0;
  }

  .fsv-firstteam-meta-box + .fsv-firstteam-meta-box {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .fsv-firstteam-transfer-toggle {
    min-height: 38px;
    font-size: 0.82rem;
  }

  .fsv-firstteam-stat::before {
    margin-bottom: 6px;
  }

  .fsv-firstteam-card h2,
  .fsv-firstteam-story-card__body h2,
  .fsv-firstteam-transfers h3,
  .fsv-firstteam-squad__group h3,
  .fsv-firstteam-meta-box h3 {
    gap: 7px;
  }

  .fsv-firstteam-card h2::before {
    --fsv-rl-icon-size: 16px;
  }

  .fsv-firstteam-transfers h3::before,
  .fsv-firstteam-squad__group h3::before,
  .fsv-firstteam-meta-box h3::before {
    --fsv-rl-icon-size: 13px;
  }
}

/* =======================================================
   FIX: Spielerwechsel-Block wieder bündig/breit
   Der Block soll nicht in einer schmalen Neben-Spalte hängen.
======================================================= */

.fsv-firstteam-main-grid {
  width: 100% !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin-top: 0 !important;
}

.fsv-firstteam-lower-top {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fsv-firstteam-transfers-card,
.fsv-firstteam-card--transfers {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 18px 16px !important;
}

.fsv-firstteam-transfers {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.fsv-firstteam-transfer-toggle {
  width: 100% !important;
  margin-top: 14px !important;
}

@media (max-width: 991px) {
  .fsv-firstteam-transfers {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .fsv-firstteam-transfers {
    grid-template-columns: 1fr !important;
  }
}

/* =======================================================
   Top-Bereich kompakter: Abstand vor Spielerwechsel fixen
======================================================= */

.fsv-firstteam-content {
  padding-top: 14px !important;
}

.fsv-firstteam-shell {
  display: block !important;
}

.fsv-firstteam-top-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.72fr) minmax(330px, 0.82fr) !important;
  gap: 16px !important;
  align-items: start !important;
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.fsv-firstteam-main-grid {
  margin-top: 0 !important;
  gap: 14px !important;
}

/* Spielerwechsel direkt sauber unter den oberen Bereich */
.fsv-firstteam-lower-top {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-top: 0 !important;
}

.fsv-firstteam-transfers-card {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
}

/* Sidebar kompakter machen */
.fsv-firstteam-sidebar {
  gap: 10px !important;
}

.fsv-firstteam-sidebar > .fsv-firstteam-card {
  padding: 14px 14px 13px !important;
}

/* Partnerbox nicht zu hoch */
.fsv-firstteam-partner {
  min-height: 104px !important;
  padding: 10px !important;
}

.fsv-firstteam-partner img {
  max-height: 76px !important;
}

/* Tabellenkarte kompakter */
.fsv-firstteam-sidebar > .fsv-firstteam-card:has(.fsv-firstteam-table) {
  padding: 16px 16px 15px !important;
}

.fsv-firstteam-sidebar > .fsv-firstteam-card:has(.fsv-firstteam-table) h2 {
  margin-bottom: 12px !important;
  font-size: 18px !important;
}

/* Tabelle kompakter */
.fsv-firstteam-table {
  margin-bottom: 12px !important;
}

.fsv-firstteam-table th,
.fsv-firstteam-table td {
  padding: 6px 5px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.fsv-firstteam-table th {
  font-size: 10px !important;
}

/* Button kleiner */
.fsv-firstteam-sidebar .fsv-firstteam-button {
  min-height: 34px !important;
  padding: 0 12px !important;
  font-size: 11px !important;
}

/* Aktive Tabellenzeile dezent */
.fsv-firstteam-table tbody tr.is-active td {
  background: rgba(255, 255, 255, 0.075) !important;
  font-weight: 900 !important;
}

/* Responsive */
@media (max-width: 1240px) {
  .fsv-firstteam-top-grid {
    grid-template-columns: 1fr !important;
  }
}