:root{
  --stripe-1:#198754;
  --stripe-2:#6f42c1;
  --line:#dee2e6;
}

body{ font-size:0.875rem; }

.table thead th{
  position:sticky;
  top:0;
  background:#fff;
  z-index:2;
  font-size: .85rem;
}

.table > :not(caption) > * > *{
  border-bottom-color:#ececec;
}

.table-hover > tbody > tr:hover > *{
  --bs-table-accent-bg:#fffbe6;
}

.section-title{
  font-weight:500;
  font-size:1rem;
  margin:0;
}

#standingsWrap.hide-vrp th.col-vrp,
#standingsWrap.hide-vrp td.col-vrp{ display:none; }

#standingsWrap.hide-diff th.col-diff,
#standingsWrap.hide-diff td.col-diff{ display:none; }

.live-row{ background:#fff3cd !important; }

.rank-arrow {
    display: inline-block;
    font-size: .75em;
    line-height: 1;
    margin-left: .75rem;
    color: #198754;
}

.navbar{
  padding:0.15625rem 0;
  background:#1e9446;
  color:#fff;
  box-shadow:0 0.125rem 0.375rem rgba(0,0,0,.06);
}

.navbar-nav .nav-link{ padding:0.46875rem; }

.navbar-admin .nav-link,
.navbar-admin .navbar-brand{ color:#fff; }

.navbar-admin .nav-link{
  transition:none !important;
  box-shadow:none !important;
  font-size:1rem;
}

.navbar-admin .nav-link:hover,
.navbar-admin .nav-link.active{
  background:#7bd05c !important;
  color:#fff !important;
  border-radius:0.25rem;
  box-shadow:none !important;
}

.modal{ z-index:66.25rem !important; }


.ad-slot img{ display:block; height:auto; }

@media (max-width: 575.98px){
  body{
    font-size: 80%;
  }
}

#adminMenu {
  color: #212529;
}

#adminMenu .nav-link {
    color: #212529 !important;
    font-size: 1.5rem;
    background-color: #f2f2f2;
    border-radius: .5rem;
    padding: .5rem 1.8rem;
}

#adminMenu .nav-link:hover,
#adminMenu .nav-link:focus {
  color: #fff !important;
  background-color: rgba(0,0,0,.05);
}

#adminMenu .offcanvas-title {
	color: #212529;
	font-size: 2rem;
}

.hide-match-group table[data-role="matches-table"] th:nth-child(2),
.hide-match-group table[data-role="matches-table"] td:nth-child(2){
  display:none !important;
}

.hide-table-vrp table[data-role="group-table"] th:nth-child(4),
.hide-table-vrp table[data-role="group-table"] td:nth-child(4),
.hide-table-vrp table[data-role="group-table"] th:nth-child(5),
.hide-table-vrp table[data-role="group-table"] td:nth-child(5),
.hide-table-vrp table[data-role="group-table"] th:nth-child(6),
.hide-table-vrp table[data-role="group-table"] td:nth-child(6){
  display:none !important;
}

.hide-table-diff table[data-role="group-table"] th:nth-child(8),
.hide-table-diff table[data-role="group-table"] td:nth-child(8){
  display:none !important;
}

.match-hl{
  outline: 2px solid rgba(58,169,86,.35);
  outline-offset: -2px;
  background: rgba(58,169,86,.08);
}

#topbanner .banner-demo{
  height: 90px;
  background: #e9ecef;
  color: #6c757d;
  font-weight: 600;
}

.ad-demo{
  background:#e9ecef;
  color:#6c757d;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ad-demo--big{ height: 220px; }

html[data-theme="dark"] body{
  background:#0b1220;
  color:#e6eefc;
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .table,
html[data-theme="dark"] .alert,
html[data-theme="dark"] .offcanvas,
html[data-theme="dark"] .navbar{
  background:#0f172a !important;
  color:#e6eefc !important;
}

html[data-theme="dark"] .table thead{
  background:#111c33 !important;
}

html[data-theme="dark"] .table-light{
  --bs-table-bg: #111c33;
}

html[data-theme="dark"] .text-muted{
  color: rgba(230,238,252,.7) !important;
}

html[data-theme="dark"] .banner-demo,
html[data-theme="dark"] .ad-demo{
  background:#111c33 !important;
  color: rgba(230,238,252,.75) !important;
}

html[data-theme="dark"] .badge[style*="background-color:#eee"]{
  background:#111c33 !important;
  color:#e6eefc !important;
}

html[data-theme="dark"] .table{
  --bs-table-bg: #0f172a;
  --bs-table-color: #e6eefc;

  --bs-table-striped-bg: rgba(255,255,255,.04);
  --bs-table-striped-color: #e6eefc;

  --bs-table-hover-bg: rgba(34, 211, 238, .10);
  --bs-table-hover-color: #e6eefc;

  --bs-table-border-color: rgba(255,255,255,.10);
}

html[data-theme="dark"] .table thead th{
  background:#111c33 !important;
  color:#e6eefc !important;
  border-color: rgba(255,255,255,.10) !important;
}

html[data-theme="dark"] .table tbody tr{
  background: var(--bs-table-bg) !important;
}
html[data-theme="dark"] .table tbody td{
  color: var(--bs-table-color) !important;
  border-color: rgba(255,255,255,.10) !important;
}

html[data-theme="dark"] .table-light{
  --bs-table-bg: #111c33;
  --bs-table-color: #e6eefc;
}

html[data-theme="dark"] .table-spaced tbody td{
  background: #0f172a !important;
  color: #e6eefc !important;
}

html[data-theme="dark"] .table-spaced tbody tr + tr td{
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

html[data-theme="dark"] .table-hover.table-spaced tbody tr:hover td{
  background: rgba(34, 211, 238, .10) !important;
}

html[data-theme="dark"] .card-body{
  background-color: #0f172a !important;
  color: #e6eefc !important;
}

html[data-theme="dark"] .card{
  background-color: #0f172a !important;
  border-color: rgba(255,255,255,.10) !important;
}

#streamWrap { border-radius: 12px; overflow: hidden; }
#streamWrap .card-body {background-color: #000; }

#streamLiveBadge {
	border-radius: 4px;
    padding: 8px 14px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
}

#streamFrameWrap { border-radius: 10px; overflow: hidden; }
#streamFrameWrap iframe { width:100%; height:100%; border:0; display:block; }

.tournament-standing__title{
  font-size: 18px;
}

.tournament-standing__card {
    padding: .5rem;
    border-radius: 8px;
    background-color: #f9f5ba;
    text-align: center;
}

.tournament-standing__place {
    font-size: 14px;
    padding-bottom: .5rem;
    border-bottom: 1px solid #d9d59c;
}

.tournament-standing__place i {
    font-size: 24px;
    padding: .5rem;
}

.tournament-standing__place i.gold {
	color: #9f9d77;
}

.tournament-standing__place i.silver {
	color: #9f9d77;
}

.tournament-standing__place i.bronze {
	color: #9f9d77;
}


.tournament-standing__team {
    font-size: 18px;
    padding-bottom: .25rem;
    padding-top: .75rem;
}

:root{

  --ftb-match-gap: 12px;
  --ftb-match-gap-compact: 4px;

  --ftb-row-h: 40px;
  --ftb-gap-between: 12px;

  --ftb-pitch: 58px;

  --ftb-col-w: 230px;
  --ftb-col-gap: 22px;

  --ftb-compact-spacer: 10px;
  --ftb-compact-padtop: 10px;
}

.ftb-bracket-scroll{
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}

.ftb-bracket{
  display:grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--ftb-col-w);
  gap: var(--ftb-col-gap);
  align-items:start;
  min-width: 526px;
}

.ftb-round{
  display:flex;
  flex-direction: column;
  gap: 0;
}

.ftb-title{
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  margin-bottom: 2px;
}
[data-theme="dark"] .ftb-title{ color: rgba(255,255,255,.6); }

.ftb-match{
  border-radius: 8px;
  background: #f5f5f5;
  overflow:hidden;
  margin-bottom: var(--ftb-match-gap);
}

.ftb-round > .ftb-match:last-of-type{
  margin-bottom: 0;
}

[data-theme="dark"] .ftb-match{ background: rgba(255,255,255,.04); }

.ftb-row{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 10px 12px;
  line-height: 1.1;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}
.ftb-row + .ftb-row{ border-top: 1px dashed rgba(0,0,0,.12); }
[data-theme="dark"] .ftb-row + .ftb-row{ border-top-color: rgba(255,255,255,.12); }

.ftb-slider-controls{
  display:flex;
  align-items:center;
  gap:.5rem;
}

.ftb-slider-label{
  font-size: 12px;
  line-height: 1;
  padding: .35rem .5rem;
  color: rgba(0,0,0,.65);
  background: rgba(255,255,255,.7);
  white-space: nowrap;
}

.ftb-bracket-scroll[data-role="ftb-slider"]{
  overflow: hidden;
  position: relative;
  max-width: 100%;
  transition: height .35s ease;
}
@media (prefers-reduced-motion: reduce){
  .ftb-bracket-scroll[data-role="ftb-slider"]{ transition:none; }
}

@media (min-width: 576px){
  .ftb-bracket-scroll[data-role="ftb-slider"]{
    width: calc((2 * var(--ftb-col-w)) + (1 * var(--ftb-col-gap)));
  }
}

.ftb-bracket.ftb-slider-track{
  display:flex !important;
  gap: var(--ftb-col-gap);
  align-items:flex-start;
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform .45s cubic-bezier(.22,.61,.36,1);
}
@media (prefers-reduced-motion: reduce){
  .ftb-bracket.ftb-slider-track{ transition:none; }
}

.ftb-bracket.ftb-slider-track .ftb-round{
  flex: 0 0 var(--ftb-col-w);
  width: var(--ftb-col-w);
}

.ftb-round{
  transition: padding-top .35s ease;
}


.ftb-round.is-compact{
  padding-top: var(--ftb-compact-padtop) !important;
  --ftb-match-gap: var(--ftb-match-gap-compact);
}

.ftb-match{
  transition: margin-bottom .35s ease;
}
@media (prefers-reduced-motion: reduce){
  .ftb-match{ transition:none; }
}

.ftb-slider-controls .ftb-nav:disabled{
  opacity:.4;
  pointer-events:none;
}

.ftb-round{ position: relative; }
.ftb-match{ position: relative; }

.ftb-bracket-scroll[data-role="ftb-slider"]{
  display:block !important;
  height:auto;
  min-height:0 !important;
}

.ftb-bracket.ftb-slider-track{ align-items:flex-start !important; }
.ftb-bracket.ftb-slider-track .ftb-round{ height:auto !important; }

:root{
  --ftb-col-w: 230px;
  --ftb-col-gap: 22px;
  --ftb-v-space: 4px;
}

.ftb-bracket-scroll[data-role="ftb-slider"]{
  overflow: hidden;
  position: relative;
  max-width: 100%;
  transition: height .35s ease;
}
@media (prefers-reduced-motion: reduce){
  .ftb-bracket-scroll[data-role="ftb-slider"]{ transition:none; }
}

@media (min-width: 576px){
  .ftb-bracket-scroll[data-role="ftb-slider"]{
    width: calc((2 * var(--ftb-col-w)) + (1 * var(--ftb-col-gap)));
  }
}

.ftb-bracket.ftb-slider-track{
  display: flex !important;
  align-items: flex-start;
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform .45s cubic-bezier(.22,.61,.36,1);
}

.ftb-bracket.ftb-slider-track .ftb-round{
  flex: 0 0 var(--ftb-col-w);
  width: var(--ftb-col-w);
  display: block;
}

.ftb-bracket.ftb-slider-track .ftb-round:last-child{
  margin-right: 0;
}

.ftb-round{
  padding-top: 0 !important;
}
.ftb-title{
  margin-bottom: 8px;
}

.ftb-match{
  margin-bottom: var(--ftb-v-space);
}
.ftb-round .ftb-match:last-child{
  margin-bottom: 0;
}

.ftb-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.ftb-name{ min-width:0; }
.ftb-score{
  margin-left:auto;
  font-variant-numeric: tabular-nums;
  white-space:nowrap;
}

.fw-500{
  font-weight: 500;
}

.rank-arrow{
	color:#ccc;
}

/* ===========================
   OFFCANVAS: max šířka 80%
   =========================== */

/* Bootstrap 5 používá CSS proměnnou --bs-offcanvas-width */
.offcanvas{
  --bs-offcanvas-width: 80vw;   /* ~80% viewportu */
  width: var(--bs-offcanvas-width);
  max-width: var(--bs-offcanvas-width);
}

/* Pokud chceš 80% i na desktopu (kdyby se offcanvas použil), nech takto. */


/* ===========================
   HOVER: veškerý text bílý
   =========================== */

/* Offcanvas menu (mobilní) – nav-link text na hover/focus */
#adminMenu .nav-link:hover,
#adminMenu .nav-link:focus{
  color:#fff !important;
  background-color: #1e9446 !important; /* aby bílá byla čitelná */
}

/* Dropdown položky (jazyk) – text na hover/focus */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus{
  color:#fff !important;
  background-color: #1e9446 !important;
}

/* Pro jistotu i odkazy obecně v navbaru */
.navbar-admin .nav-link:hover,
.navbar-admin .nav-link:focus{
  color:#fff !important;
}

/* Ať ikony (FontAwesome) dědí bílou taky */
#adminMenu .nav-link:hover i,
#adminMenu .nav-link:focus i,
.dropdown-menu .dropdown-item:hover i,
.dropdown-menu .dropdown-item:focus i{
  color:inherit !important;
}

/* --- FIX: tabulky skupin se na mobilu nesmí “roztahovat” podle textu --- */
.table-responsive{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* tabulky skupin: pevný layout + 100% šířka */
/*
table[data-role="group-table"]{
  width: 100%;
  table-layout: fixed;     /* klíčové */
}
*/

/* obecně: ať buňky umí zmenšit obsah (důležité pro fixed layout) */
table[data-role="group-table"] th,
table[data-role="group-table"] td{
  min-width: 0;
}

/* 2. sloupec = název týmu: povolit zalomení, ne “natahovat” tabulku */
table[data-role="group-table"] td.team-name{
  white-space: normal !important;
  word-break: break-word;
  overflow: hidden;
}

/* ostatní číselné sloupce držet na jednom řádku */
table[data-role="group-table"] td:not(.team-name),
table[data-role="group-table"] th{
  white-space: nowrap;
}

/* Mobil: trochu menší padding + font, ať se vejde víc */
@media (max-width: 576px){
  table[data-role="group-table"] th,
  table[data-role="group-table"] td{
    padding: .35rem .45rem;
    font-size: 13px;
  }
}

/* Pro jistotu: wrapper nikdy nepřesáhne viewport */
.table-responsive{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* =========================================================
   matchesTable – MOBIL: 1. a poslední sloupec "fit"
   (bez colgroup)
   ========================================================= */


/* MOBIL */
@media (max-width: 576px){

  /* 1) první sloupec (datum/čas) – kompaktní */
  table[data-role="matches-table"] th:nth-child(1),
  table[data-role="matches-table"] td:nth-child(1){
    width: 7.4em;               /* uprav dle chuti */
    white-space: normal !important; /* zruší text-nowrap z Bootstrapu */
    line-height: 1.15;
  }

  /* 2) poslední sloupec (výsledek) – kompaktní */
  table[data-role="matches-table"] th:nth-child(5),
  table[data-role="matches-table"] td:nth-child(5){
    width: 4.2em;               /* 1:0 / — */
    white-space: nowrap;
    text-align: center;
  }

  /* 3) Skupina ať je úzká, ale pořád čitelná */
  table[data-role="matches-table"] th:nth-child(2),
  table[data-role="matches-table"] td:nth-child(2){
    width: 6.0em;
    white-space: nowrap;
	overflow: hidden !important;
  }

  /* 4) týmy – nesmí roztahovat tabulku */
  table[data-role="matches-table"] td:nth-child(3),
  table[data-role="matches-table"] td:nth-child(4){
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 5) lehce menší spacing na mobilu */
  table[data-role="matches-table"] th,
  table[data-role="matches-table"] td{
    padding: .35rem .45rem;
    font-size: 13px;
  }
}


@media (max-width: 576px){
  .footer-links{
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
  }
}