/* ══════════════════════════════════════════════════
   Fixtures Table
   Toolbar card (search) + independent table card
   Theme-aware, responsive
   ══════════════════════════════════════════════════ */

.fixtures-container {
  --fixtures-toolbar-bg: var(--bs-body-tertiary-bg, #f8f9fa);
  --fixtures-toolbar-border: var(--bs-border-color, #dee2e6);
  --fixtures-toolbar-text: var(--bs-body-color, #212529);
}

[data-bs-theme="dark"] .fixtures-container,
html[data-bs-theme="dark"] .fixtures-container {
  --fixtures-toolbar-bg: var(--bs-body-tertiary-bg, #212529);
  --fixtures-toolbar-border: var(--bs-border-color, #495057);
  --fixtures-toolbar-text: var(--bs-body-color, #dee2e6);
}

/* ── Toolbar card (title + search) ── */
.fixtures-toolbar-card {
  background: var(--fixtures-toolbar-bg);
  border: 1px solid var(--fixtures-toolbar-border);
  border-radius: 0.625rem;
  padding: 0.875rem 1.25rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

[data-bs-theme="dark"] .fixtures-toolbar-card,
html[data-bs-theme="dark"] .fixtures-toolbar-card {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.fixtures-toolbar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.fixtures-toolbar-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
  color: var(--fixtures-toolbar-text);
}

[data-bs-theme="dark"] .fixtures-toolbar-title,
html[data-bs-theme="dark"] .fixtures-toolbar-title {
  color: #dee2e6;
}

.fixtures-toolbar-title i {
  font-size: 1.25rem;
  color: var(--bs-primary);
}

[data-bs-theme="dark"] .fixtures-toolbar-title i,
html[data-bs-theme="dark"] .fixtures-toolbar-title i {
  color: #6ea8fe;
}

.fixtures-toolbar-search {
  flex: 1;
  min-width: 200px;
  max-width: 320px;
}

.fixtures-toolbar-search .input-group-text {
  color: var(--fixtures-toolbar-text);
  border-color: var(--fixtures-toolbar-border);
  background: var(--bs-body-bg, #fff);
}

[data-bs-theme="dark"] .fixtures-toolbar-search .input-group-text,
html[data-bs-theme="dark"] .fixtures-toolbar-search .input-group-text {
  color: #adb5bd;
  background: var(--bs-body-bg, #212529);
  border-color: #495057;
}

.fixtures-toolbar-search .form-control {
  background: var(--bs-body-bg);
  border-color: var(--fixtures-toolbar-border);
  color: var(--bs-body-color);
}

.fixtures-toolbar-search .form-control::placeholder {
  color: var(--bs-secondary-color);
}

.fixtures-toolbar-search .form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}

[data-bs-theme="dark"] .fixtures-toolbar-search .form-control:focus {
  box-shadow: 0 0 0 0.2rem rgba(110, 168, 254, 0.25);
}

/* ── Independent table card ── */
.fixtures-table-card {
  background: var(--bs-body-bg, #fff);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 0.75rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

[data-bs-theme="dark"] .fixtures-table-card {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

/* DataTables adds scroll wrapper when scrollX is true */
.fixtures-table-card .dataTables_wrapper {
  padding: 0;
}

.fixtures-table-card .dataTables_scroll,
.fixtures-table-card .dataTables_scrollBody {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.fixtures-table-card .dataTables_scrollBody::-webkit-scrollbar {
  height: 6px;
}

.fixtures-table-card .dataTables_scrollBody::-webkit-scrollbar-thumb {
  background: var(--bs-border-color);
  border-radius: 3px;
}

.fixtures-table-card .fixtures-dt-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.875rem 1.25rem;
  background: var(--bs-body-tertiary-bg, #f8f9fa);
  border-top: 1px solid var(--bs-border-color);
  font-size: 0.875rem;
}

[data-bs-theme="dark"] .fixtures-table-card .fixtures-dt-bottom {
  background: var(--bs-body-tertiary-bg, #212529);
  border-top-color: #495057;
}

.fixtures-table-card .dataTables_info {
  color: var(--bs-secondary-color);
  margin: 0;
}

[data-bs-theme="dark"] .fixtures-table-card .dataTables_info {
  color: #adb5bd;
}

.fixtures-table-card .dataTables_paginate {
  margin: 0;
}

.fixtures-table-card .dataTables_paginate .paginate_button {
  border-radius: 0.375rem !important;
  margin: 0 2px !important;
  padding: 0.35rem 0.65rem !important;
  border: 1px solid var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .fixtures-table-card .dataTables_paginate .paginate_button {
  background: #2d3338 !important;
  border-color: #495057 !important;
  color: #dee2e6 !important;
}

.fixtures-table-card .dataTables_paginate .paginate_button:hover {
  background: var(--bs-primary-bg-subtle) !important;
  border-color: var(--bs-primary) !important;
  color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .fixtures-table-card .dataTables_paginate .paginate_button:hover {
  background: rgba(110, 168, 254, 0.2) !important;
  border-color: #6ea8fe !important;
  color: #6ea8fe !important;
}

.fixtures-table-card .dataTables_paginate .paginate_button.current {
  background: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
}

.fixtures-table-card .dataTables_paginate .paginate_button.disabled {
  opacity: 0.6;
}

/* ── Table base ── */
.fixtures-table,
#games_table {
  width: 100% !important;
  margin-bottom: 0;
}

.fixtures-table thead th,
#games_table thead th {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.875rem 1rem;
  background: var(--bs-body-tertiary-bg, #f8f9fa) !important;
  color: var(--bs-body-color, #212529);
  border-bottom: 2px solid var(--bs-border-color);
  white-space: nowrap;
}

.fixtures-table tbody td,
#games_table tbody td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  font-size: 0.9rem;
  color: var(--bs-body-color, #212529);
}

.fixtures-table tbody tr:hover td,
#games_table tbody tr:hover td {
  background: var(--bs-primary-bg-subtle, rgba(13, 110, 253, 0.06));
}

/* ── Game links ── */
.fixtures-table tbody a,
#games_table tbody a {
  font-weight: 500;
  text-decoration: none;
  color: var(--bs-primary);
}

.fixtures-table tbody a:hover,
#games_table tbody a:hover {
  text-decoration: underline;
}

/* ── Result row colors ── */
.fixtures-table tbody tr.table-success td,
#games_table tbody tr.table-success td {
  background: rgba(25, 135, 84, 0.12) !important;
  color: var(--bs-body-color, #212529);
}

.fixtures-table tbody tr.table-success:hover td,
#games_table tbody tr.table-success:hover td {
  background: rgba(25, 135, 84, 0.18) !important;
}

.fixtures-table tbody tr.table-danger td,
#games_table tbody tr.table-danger td {
  background: rgba(220, 53, 69, 0.1) !important;
  color: var(--bs-body-color, #212529);
}

.fixtures-table tbody tr.table-danger:hover td,
#games_table tbody tr.table-danger:hover td {
  background: rgba(220, 53, 69, 0.16) !important;
}

.fixtures-table tbody tr.table-warning td,
#games_table tbody tr.table-warning td {
  background: rgba(255, 193, 7, 0.12) !important;
  color: var(--bs-body-color, #212529);
}

.fixtures-table tbody tr.table-warning:hover td,
#games_table tbody tr.table-warning:hover td {
  background: rgba(255, 193, 7, 0.2) !important;
}

[data-bs-theme="dark"] .fixtures-table thead th,
[data-bs-theme="dark"] #games_table thead th,
[data-bs-theme="dark"] .fixtures-table tbody td,
[data-bs-theme="dark"] #games_table tbody td {
  color: var(--bs-body-color, #dee2e6);
}

[data-bs-theme="dark"] .fixtures-table tbody tr.table-success td,
[data-bs-theme="dark"] .fixtures-table tbody tr.table-danger td,
[data-bs-theme="dark"] .fixtures-table tbody tr.table-warning td,
[data-bs-theme="dark"] #games_table tbody tr.table-success td,
[data-bs-theme="dark"] #games_table tbody tr.table-danger td,
[data-bs-theme="dark"] #games_table tbody tr.table-warning td {
  color: var(--bs-body-color, #dee2e6);
}

/* ── Mobile ── */
@media (max-width: 767.98px) {
  .fixtures-toolbar-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .fixtures-toolbar-search {
    max-width: none;
  }

  .fixtures-table-card {
    border-radius: 0.5rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    border-left: none;
    border-right: none;
  }

  .fixtures-table thead th,
  #games_table thead th {
    font-size: 0.7rem;
    padding: 0.625rem 0.75rem;
  }

  .fixtures-table tbody td,
  #games_table tbody td {
    padding: 0.625rem 0.75rem;
    font-size: 0.85rem;
  }

  .fixtures-table-card .fixtures-dt-bottom {
    flex-direction: column;
    align-items: stretch;
  }
}
