/**
 * My Football Data v2.0 - Bold Sport Theme
 * Premium Production CSS with Dark Mode
 *
 * Design System:
 * - Primary: Electric Blue (#0066ff)
 * - Accent: Vibrant Orange (#ff6b00)
 * - Bold gradients and shadows
 * - Modern rounded corners
 * - Full Dark Mode support
 */

/* ============================================
   CSS VARIABLES - BOLD SPORT DESIGN SYSTEM
   ============================================ */
:root {
  /* ===== COLOR PALETTE ===== */
  /* Primary - Electric Blue */
  --mfd-primary: #0066ff;
  --mfd-primary-dark: #0052cc;
  --mfd-primary-light: #3385ff;
  --mfd-primary-rgb: 0, 102, 255;

  /* Accent - Vibrant Orange */
  --mfd-accent: #ff6b00;
  --mfd-accent-dark: #e55f00;
  --mfd-accent-light: #ff8533;
  --mfd-accent-rgb: 255, 107, 0;

  /* Status Colors */
  --mfd-success: #00c853;
  --mfd-success-dark: #00a344;
  --mfd-danger: #ff1744;
  --mfd-danger-dark: #d50032;
  --mfd-warning: #ffab00;
  --mfd-info: #00b8d4;

  /* Live Match */
  --mfd-live: #ff1744;
  --mfd-live-glow: rgba(255, 23, 68, 0.4);

  /* Team Colors */
  --mfd-home: #0066ff;
  --mfd-away: #ff6b00;
  --mfd-draw: #78909c;

  /* Form Colors */
  --mfd-win: #00c853;
  --mfd-loss: #ff1744;

  /* Gradients */
  --mfd-gradient-primary: linear-gradient(135deg, #0066ff 0%, #00c853 100%);
  --mfd-gradient-accent: linear-gradient(135deg, #ff6b00 0%, #ff1744 100%);
  --mfd-gradient-sport: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  --mfd-gradient-live: linear-gradient(135deg, #ff1744 0%, #ff6b00 100%);
  --mfd-gradient-header: linear-gradient(90deg, #0f0f23 0%, #1a1a2e 50%, #0f0f23 100%);
  --mfd-gradient-gold: linear-gradient(135deg, #ffd700 0%, #ffab00 100%);
  --mfd-gradient-skeleton: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.4) 50%, transparent 100%);

  /* ===== LIGHT MODE (Default) ===== */
  --mfd-bg-body: #f0f2f5;
  --mfd-bg-primary: #ffffff;
  --mfd-bg-secondary: #f5f7fa;
  --mfd-bg-tertiary: #eef2f7;
  --mfd-bg-card: #ffffff;
  --mfd-bg-hover: #f8fafc;
  --mfd-bg-active: #e8f4ff;

  --mfd-text-primary: #1a1a2e;
  --mfd-text-secondary: #5a6377;
  --mfd-text-muted: #8a94a6;
  --mfd-text-inverse: #ffffff;

  --mfd-border: #e1e5eb;
  --mfd-border-light: #f0f2f5;
  --mfd-border-dark: #c8cdd5;

  /* Shadows - Bold for Sport feel */
  --mfd-shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
  --mfd-shadow-sm: 0 2px 4px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --mfd-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
  --mfd-shadow-lg: 0 8px 24px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);
  --mfd-shadow-xl: 0 16px 48px rgba(0,0,0,0.16), 0 8px 16px rgba(0,0,0,0.08);
  --mfd-shadow-glow: 0 0 20px rgba(0, 102, 255, 0.25);
  --mfd-shadow-glow-accent: 0 0 20px rgba(255, 107, 0, 0.25);
  --mfd-shadow-inset: inset 0 2px 4px rgba(0,0,0,0.06);

  /* Skeleton */
  --mfd-skeleton-base: #e8ebef;
  --mfd-skeleton-shine: #f5f7fa;

  /* ===== SPACING SCALE ===== */
  --mfd-space-2xs: 2px;
  --mfd-space-xs: 4px;
  --mfd-space-sm: 8px;
  --mfd-space-md: 16px;
  --mfd-space-lg: 24px;
  --mfd-space-xl: 32px;
  --mfd-space-2xl: 48px;
  --mfd-space-3xl: 64px;

  /* ===== BORDER RADIUS ===== */
  --mfd-radius-xs: 4px;
  --mfd-radius-sm: 8px;
  --mfd-radius-md: 12px;
  --mfd-radius-lg: 16px;
  --mfd-radius-xl: 24px;
  --mfd-radius-2xl: 32px;
  --mfd-radius-full: 9999px;

  /* ===== TYPOGRAPHY ===== */
  --mfd-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --mfd-font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;

  --mfd-font-size-2xs: 10px;
  --mfd-font-size-xs: 11px;
  --mfd-font-size-sm: 13px;
  --mfd-font-size-md: 15px;
  --mfd-font-size-lg: 18px;
  --mfd-font-size-xl: 22px;
  --mfd-font-size-2xl: 28px;
  --mfd-font-size-3xl: 36px;

  --mfd-font-weight-normal: 400;
  --mfd-font-weight-medium: 500;
  --mfd-font-weight-semibold: 600;
  --mfd-font-weight-bold: 700;
  --mfd-font-weight-extrabold: 800;

  --mfd-line-height-tight: 1.2;
  --mfd-line-height-normal: 1.5;
  --mfd-line-height-relaxed: 1.75;

  /* ===== TRANSITIONS ===== */
  --mfd-transition-fast: 150ms ease;
  --mfd-transition-normal: 250ms ease;
  --mfd-transition-slow: 400ms ease;
  --mfd-transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ===== Z-INDEX ===== */
  --mfd-z-base: 1;
  --mfd-z-dropdown: 100;
  --mfd-z-sticky: 200;
  --mfd-z-overlay: 300;
  --mfd-z-modal: 400;
  --mfd-z-toast: 500;
}

/* ===== DARK MODE ===== */
[data-theme="dark"],
.mfd-dark {
  --mfd-bg-body: #0a0a1a;
  --mfd-bg-primary: #0f0f23;
  --mfd-bg-secondary: #1a1a2e;
  --mfd-bg-tertiary: #252542;
  --mfd-bg-card: #1a1a2e;
  --mfd-bg-hover: #252542;
  --mfd-bg-active: #2a2a4a;

  --mfd-text-primary: #ffffff;
  --mfd-text-secondary: #b8bcc8;
  --mfd-text-muted: #6b7280;
  --mfd-text-inverse: #1a1a2e;

  --mfd-border: #2d2d4a;
  --mfd-border-light: #252542;
  --mfd-border-dark: #3d3d5c;

  --mfd-shadow-xs: 0 1px 2px rgba(0,0,0,0.2);
  --mfd-shadow-sm: 0 2px 4px rgba(0,0,0,0.25), 0 1px 2px rgba(0,0,0,0.15);
  --mfd-shadow-md: 0 4px 12px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.2);
  --mfd-shadow-lg: 0 8px 24px rgba(0,0,0,0.4), 0 4px 8px rgba(0,0,0,0.25);
  --mfd-shadow-xl: 0 16px 48px rgba(0,0,0,0.5), 0 8px 16px rgba(0,0,0,0.3);
  --mfd-shadow-glow: 0 0 30px rgba(0, 102, 255, 0.35);
  --mfd-shadow-glow-accent: 0 0 30px rgba(255, 107, 0, 0.35);

  --mfd-skeleton-base: #252542;
  --mfd-skeleton-shine: #3d3d5c;

  --mfd-gradient-skeleton: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.1) 50%, transparent 100%);
}

/* ============================================
   BOOTSTRAP GRID SYSTEM (Required for PHP output)
   ============================================ */
.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col { flex-basis: 0; flex-grow: 1; max-width: 100%; }
.col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.mfd-no-odds-filter-checkbox {
    margin: 0px !important;
}
.mfd-lightbox .mfd-tab-content img {
    height: 25px !important;
}
.mfd-lightbox-body .mfd-tab-nav li {
    margin-left: 5px;
}
@media (min-width: 576px) {
  .col-sm { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
  .col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
  .col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-sm-9 { flex: 0 0 75%; max-width: 75%; }
  .col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 768px) {
  .col-md { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-md-9 { flex: 0 0 75%; max-width: 75%; }
  .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 992px) {
  .col-lg { flex-basis: 0; flex-grow: 1; max-width: 100%; }
  .col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
  .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Bootstrap Utilities */
.h-100 { height: 100% !important; }
.w-100 { width: 100% !important; }
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.align-self-center { align-self: center !important; }
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-inline-block { display: inline-block !important; }

@media (min-width: 768px) {
  .d-md-none { display: none !important; }
  .d-md-block { display: block !important; }
  .d-md-flex { display: flex !important; }
}

/* Bootstrap Spacing */
.pt-1 { padding-top: 0.25rem !important; }
.pt-2 { padding-top: 0.5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pb-1 { padding-bottom: 0.25rem !important; }
.pb-2 { padding-bottom: 0.5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pr-1 { padding-right: 0.25rem !important; }
.pr-2 { padding-right: 0.5rem !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mb-1 { margin-bottom: 0.25rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.ml-1 { margin-left: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mr-2 { margin-right: 0.5rem !important; }

/* Bootstrap Buttons */
.btn {
  display: inline-block;
  font-weight: var(--mfd-font-weight-medium);
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.5rem 1rem;
  font-size: var(--mfd-font-size-sm);
  line-height: 1.5;
  border-radius: var(--mfd-radius-sm);
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn:hover {
  text-decoration: none;
}

.btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--mfd-primary-rgb), 0.25);
}

.btn-primary {
  color: #fff;
  background: var(--mfd-primary);
  border-color: var(--mfd-primary);
}

.btn-primary:hover {
  background: var(--mfd-primary-dark);
  border-color: var(--mfd-primary-dark);
}

.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: var(--mfd-font-size-xs);
  border-radius: var(--mfd-radius-xs);
}

/* Company dropdown (bookmaker select) */
.company-dropdown-list,
.mfd-bookmaker-select {
  padding: 8px 12px;
  font-size: var(--mfd-font-size-sm);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-sm);
  background: var(--mfd-bg-card);
  color: var(--mfd-text-primary);
  cursor: pointer;
  min-width: 150px;
  transition: all 0.2s ease;
}

.company-dropdown-list:hover,
.mfd-bookmaker-select:hover {
  border-color: var(--mfd-primary);
}

.company-dropdown-list:focus,
.mfd-bookmaker-select:focus {
  outline: none;
  border-color: var(--mfd-primary);
  box-shadow: 0 0 0 3px rgba(var(--mfd-primary-rgb), 0.15);
}

/* Loader container */
.loader-container,
.mfd-loader-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mfd-primary);
}

.loader-container i,
.mfd-loader-container i {
  font-size: 16px;
  animation: fa-spin 1s infinite linear;
}

/* Dynamic content container */
.mfd-dynamic-content {
  background: var(--mfd-bg-card);
  border-radius: var(--mfd-radius-md);
  padding: var(--mfd-space-md);
}

.mfd-data-container {
  min-height: 200px;
}

.mfd-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--mfd-space-xl);
  color: var(--mfd-text-muted);
}

/* ============================================
   ODDS TABLE LEGACY CLASSES (Required for PHP output)
   ============================================ */

/* Main match container */
.list_match,
.keo-dong {
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-sm);
  padding: 0;
  transition: all 0.2s ease;
  cursor: pointer;
}

.list_match:hover,
.keo-dong:hover {
  border-color: var(--mfd-primary);
  box-shadow: var(--mfd-shadow-md);
  transform: translateY(-1px);
}

/* Time box styling */
.time_box {
  background: var(--mfd-bg-secondary);
  border-right: 1px solid var(--mfd-border);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 70px;
}

.time_box .date_play {
  font-size: var(--mfd-font-size-xs);
  color: var(--mfd-text-muted);
  margin: 0 0 2px 0;
}

.time_box .chutyle {
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-primary);
}

.time_box .match-time {
  color: var(--mfd-primary);
  font-weight: var(--mfd-font-weight-bold);
}

.time_box .match-score {
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-live) !important;
}

/* LIVE indicator - hidden by default, shown only when match is live */
.time_box .live-indicator {
  display: none; /* Default hidden - controlled by inline style or JS */
  align-items: center;
  gap: 4px;
  color: var(--mfd-live) !important;
  font-weight: var(--mfd-font-weight-bold);
  animation: mfd-pulse 1.5s ease-in-out infinite;
}

/* Only show LIVE indicator when parent row has mfd-match-live class */
.mfd-match-live .time_box .live-indicator,
.mfd-match-row.mfd-match-live .live-indicator {
  display: inline-flex !important;
}

/* Teams box */
.mfd-teams-box {
  display: flex;
  align-items: center;
}

.mfd-teams-box table {
  width: 100%;
  border-collapse: collapse;
}

.mfd-teams-box td {
  padding: 4px 8px;
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-primary);
  border: none;
}

.mfd-teams-box td span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

.mfd-teams-box tr:nth-child(3) td span {
  color: var(--mfd-text-muted);
  font-style: italic;
}

/* Odds boxes */
.mfd-ft-odds-box,
.mfd-ht-odds-box {
  border-left: 1px solid var(--mfd-border);
}

.mfd-ft-odds-box table,
.mfd-ht-odds-box table {
  width: 100%;
  border-collapse: collapse;
}

.mfd-ft-odds-box th,
.mfd-ft-odds-box td,
.mfd-ht-odds-box th,
.mfd-ht-odds-box td {
  padding: 3px 6px;
  font-size: var(--mfd-font-size-sm);
  border: none;
  text-align: right;
}

.mfd-ft-odds-box span,
.mfd-ht-odds-box span {
  display: inline-block;
  min-width: 35px;
  text-align: center;
  font-weight: var(--mfd-font-weight-medium);
  color: var(--mfd-text-primary);
  transition: all 0.3s ease;
}

.mfd-ft-odds-box .do,
.mfd-ht-odds-box .do {
  color: var(--mfd-primary);
  font-weight: var(--mfd-font-weight-bold);
}

/* Odds changed animation */
.mfd-odds-changed {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.3), rgba(255, 193, 7, 0.1)) !important;
  animation: mfd-odds-flash 0.5s ease;
}

@keyframes mfd-odds-flash {
  0%, 100% { background-color: transparent; }
  50% { background-color: rgba(255, 193, 7, 0.3); }
}

/* Border classes */
.btr {
  border-right: 1px solid var(--mfd-border-light);
}

.bt {
  border-top: 1px solid var(--mfd-border-light);
}

/* Padding/margin classes */
.pdlrm {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.mlam {
  padding-left: 0 !important;
}

.ml10 {
  padding-left: 0 !important;
}

.widthcalc {
  width: 100%;
}

/* Order classes for mobile */
.order_one {
  vertical-align: middle;
}

.order_two {
  vertical-align: top;
}

.tr-mobile {
  display: table-row;
}

/* Half-time label */
.h_one_mobi {
  background: var(--mfd-bg-tertiary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.h_one_mobi label {
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-secondary);
  text-transform: uppercase;
  margin: 0;
}

/* Corner odds */
.mfd-corner-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  margin: 8px 0;
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-sm);
  cursor: pointer;
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-secondary);
  transition: all 0.2s ease;
}

.mfd-corner-toggle:hover {
  background: var(--mfd-bg-tertiary);
  color: var(--mfd-primary);
}

.mfd-corner-odds-content {
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-sm);
  padding: 12px;
}

.mfd-corner-table {
  width: 100%;
  border-collapse: collapse;
}

.mfd-corner-table th,
.mfd-corner-table td {
  padding: 6px 10px;
  text-align: center;
  font-size: var(--mfd-font-size-sm);
  border-bottom: 1px solid var(--mfd-border-light);
}

/* League group header */
.mfd-league-group {
  margin-bottom: var(--mfd-space-md);
}

.title-competition {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-gradient-header);
  border-radius: var(--mfd-radius-md) var(--mfd-radius-md) 0 0;
  color: #fff;
}

.title-competition img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
  background: rgba(255,255,255,0.1);
  padding: 2px;
}

.title-competition span {
  font-weight: var(--mfd-font-weight-semibold);
  font-size: var(--mfd-font-size-sm);
}

/* No odds row */
.mfd-no-odds-row {
  opacity: 0.6;
}

.mfd-filter-no-odds-active .mfd-no-odds-row {
  display: none !important;
}

/* Locked odds (half-time past) */
.mfd-odds-locked span {
  color: var(--mfd-text-muted) !important;
  opacity: 0.5;
}

.mfd-odds-locked .fa-lock {
  color: var(--mfd-text-muted);
}

/* ============================================
   BASE STYLES & RESET
   ============================================ */
.mfd-wrapper,
.mfd-schedule-wrapper,
.mfd-results-wrapper,
.mfd-odds-table-wrapper,
.mfd-rankings-wrapper,
.mfd-predictions-wrapper,
.mfd-livescores-wrapper,
.mfd-fifa-tabs-wrapper {
  font-family: var(--mfd-font-family);
  font-size: var(--mfd-font-size-md);
  line-height: var(--mfd-line-height-normal);
  color: var(--mfd-text-primary);
  background-color: var(--mfd-bg-primary);
  border-radius: var(--mfd-radius-lg);
  box-shadow: var(--mfd-shadow-md);
  overflow: hidden;
  position: relative;
}

.mfd-wrapper *,
.mfd-schedule-wrapper *,
.mfd-results-wrapper *,
.mfd-odds-table-wrapper *,
.mfd-rankings-wrapper *,
.mfd-predictions-wrapper * {
  box-sizing: border-box;
}

/* ============================================
   DARK MODE TOGGLE BUTTON
   ============================================ */
.mfd-theme-toggle {
  position: absolute;
  top: var(--mfd-space-md);
  right: var(--mfd-space-md);
  width: 44px;
  height: 44px;
  border-radius: var(--mfd-radius-full);
  background: var(--mfd-bg-tertiary);
  border: 2px solid var(--mfd-border);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--mfd-transition-normal);
  z-index: var(--mfd-z-dropdown);
}

.mfd-theme-toggle:hover {
  background: var(--mfd-bg-hover);
  border-color: var(--mfd-primary);
  transform: scale(1.05);
}

.mfd-theme-toggle .mfd-icon-sun,
.mfd-theme-toggle .mfd-icon-moon {
  font-size: 20px;
  transition: var(--mfd-transition-normal);
}

.mfd-theme-toggle .mfd-icon-sun { color: #ffab00; }
.mfd-theme-toggle .mfd-icon-moon { color: #6366f1; display: none; }

[data-theme="dark"] .mfd-theme-toggle .mfd-icon-sun { display: none; }
[data-theme="dark"] .mfd-theme-toggle .mfd-icon-moon { display: block; }

/* ============================================
   LANGUAGE SWITCHER
   ============================================ */
.mfd-lang-switcher {
  position: absolute;
  top: var(--mfd-space-md);
  right: 60px;
  display: flex;
  gap: 2px;
  z-index: var(--mfd-z-dropdown);
  background: var(--mfd-bg-tertiary);
  border: 2px solid var(--mfd-border);
  border-radius: var(--mfd-radius-full);
  padding: 2px;
  overflow: hidden;
}

.mfd-lang-btn {
  background: transparent;
  border: none;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  color: var(--mfd-text-secondary);
  border-radius: var(--mfd-radius-full);
  transition: var(--mfd-transition-fast);
  line-height: 1;
  letter-spacing: 0.5px;
}

.mfd-lang-btn:hover {
  color: var(--mfd-text-primary);
  background: var(--mfd-bg-hover);
}

.mfd-lang-btn.active {
  background: var(--mfd-primary);
  color: #fff;
}

/* When dark mode toggle is hidden, move lang switcher to far right */
.mfd-lang-switcher:first-child {
  right: var(--mfd-space-md);
}

/* ============================================
   SKELETON LOADING SYSTEM
   ============================================ */
.mfd-skeleton {
  background: var(--mfd-skeleton-base);
  border-radius: var(--mfd-radius-sm);
  position: relative;
  overflow: hidden;
}

.mfd-skeleton::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--mfd-gradient-skeleton);
  animation: mfd-shimmer 1.5s infinite;
  transform: translateX(-100%);
}

@keyframes mfd-shimmer {
  100% { transform: translateX(100%); }
}

/* Skeleton variants */
.mfd-skeleton-text {
  height: 14px;
  margin-bottom: 8px;
  border-radius: var(--mfd-radius-xs);
}

.mfd-skeleton-text.sm { height: 12px; width: 60%; }
.mfd-skeleton-text.md { height: 14px; width: 80%; }
.mfd-skeleton-text.lg { height: 18px; width: 100%; }

.mfd-skeleton-avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--mfd-radius-full);
}

.mfd-skeleton-card {
  height: 80px;
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-sm);
}

.mfd-skeleton-row {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md);
  border-bottom: 1px solid var(--mfd-border-light);
}

/* Skeleton for match rows */
.mfd-skeleton-match {
  display: grid;
  grid-template-columns: 60px 1fr 80px 1fr 120px;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md);
  align-items: center;
  border-bottom: 1px solid var(--mfd-border-light);
}

.mfd-skeleton-match .skeleton-time {
  height: 20px;
  border-radius: var(--mfd-radius-xs);
}

.mfd-skeleton-match .skeleton-team {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
}

.mfd-skeleton-match .skeleton-logo {
  width: 32px;
  height: 32px;
  border-radius: var(--mfd-radius-full);
  flex-shrink: 0;
}

.mfd-skeleton-match .skeleton-name {
  height: 16px;
  flex: 1;
  border-radius: var(--mfd-radius-xs);
}

.mfd-skeleton-match .skeleton-score {
  height: 36px;
  border-radius: var(--mfd-radius-sm);
}

.mfd-skeleton-match .skeleton-odds {
  display: flex;
  gap: var(--mfd-space-xs);
}

.mfd-skeleton-match .skeleton-odd {
  width: 36px;
  height: 28px;
  border-radius: var(--mfd-radius-xs);
}

/* ============================================
   DATE SLIDER - BOLD SPORT DESIGN
   ============================================ */
.mfd-date-slider {
  display: flex;
  align-items: center;
  background: var(--mfd-gradient-header);
  padding: 8px 12px;
  gap: 6px;
  position: relative;
  overflow: hidden;
}

.mfd-date-slider::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.mfd-date-slider-wrapper {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.mfd-date-slider-items {
  display: flex;
  gap: 4px;
  transition: transform var(--mfd-transition-normal);
  will-change: transform;
}

.mfd-date-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid transparent;
  border-radius: var(--mfd-radius-sm);
  cursor: pointer;
  transition: var(--mfd-transition-normal);
  position: relative;
  overflow: hidden;
}

.mfd-date-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--mfd-gradient-primary);
  opacity: 0;
  transition: var(--mfd-transition-normal);
}

.mfd-date-item:hover {
  background: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
}

.mfd-date-item.active {
  border-color: var(--mfd-primary);
  box-shadow: var(--mfd-shadow-glow);
}

.mfd-date-item.active::before {
  opacity: 1;
}

.mfd-date-item.today {
  border-color: var(--mfd-accent);
}

.mfd-date-item.today::after {
  content: '';
  position: absolute;
  top: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  background: var(--mfd-accent);
  border-radius: var(--mfd-radius-full);
  animation: mfd-pulse 2s infinite;
}

.mfd-date-item-label {
  font-size: 10px;
  font-weight: var(--mfd-font-weight-semibold);
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  position: relative;
  z-index: 1;
  transition: var(--mfd-transition-fast);
}

.mfd-date-item-date {
  font-size: 14px;
  font-weight: var(--mfd-font-weight-bold);
  color: #ffffff;
  position: relative;
  z-index: 1;
  transition: var(--mfd-transition-fast);
}

.mfd-date-item.active .mfd-date-item-label,
.mfd-date-item.active .mfd-date-item-date {
  color: #ffffff;
}

/* Date Slider Navigation Buttons */
.mfd-date-prev-btn,
.mfd-date-next-btn {
  width: 28px;
  height: 28px;
  border-radius: var(--mfd-radius-full);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
  transition: var(--mfd-transition-normal);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  z-index: 2;
}

.mfd-date-prev-btn:hover,
.mfd-date-next-btn:hover {
  background: var(--mfd-primary);
  border-color: var(--mfd-primary);
  transform: scale(1.1);
  box-shadow: var(--mfd-shadow-glow);
}

.mfd-date-prev-btn:disabled,
.mfd-date-next-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  transform: none;
}

@keyframes mfd-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.5; }
}

/* ============================================
   FILTER CONTROLS
   ============================================ */
.mfd-filter-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md) var(--mfd-space-lg);
  background: var(--mfd-bg-secondary);
  border-bottom: 1px solid var(--mfd-border);
}

.mfd-filter-leagues {
  position: relative;
}
/* League Filter Button */
.mfd-league-filter-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-bg-card);
  border: 2px solid var(--mfd-border);
  border-radius: var(--mfd-radius-full);
  color: var(--mfd-text-primary);
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  cursor: pointer;
  transition: var(--mfd-transition-normal);
}

.mfd-league-filter-toggle-btn:hover {
  border-color: var(--mfd-primary);
  background: var(--mfd-bg-active);
}

.mfd-league-filter-toggle-btn i {
  color: var(--mfd-primary);
}

#mfd-selected-league-name {
  color: var(--mfd-text-secondary);
  font-weight: var(--mfd-font-weight-normal);
}

/* League Filter Popup */
.mfd-league-filter-list-popup {
  position: absolute;
  top: calc(100% + var(--mfd-space-sm));
  left: 0;
  min-width: 320px;
  max-height: 400px;
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-lg);
  box-shadow: var(--mfd-shadow-xl);
  z-index: var(--mfd-z-dropdown);
  overflow: hidden;
  display: none;
}

.mfd-league-filter-list-popup.show {
  display: block;
  animation: mfd-slideDown 0.2s ease;
}

@keyframes mfd-slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.mfd-league-filter-list-popup input[type="text"],
#mfd-search-competition {
  width: 100%;
  padding: var(--mfd-space-md);
  border: none;
  border-bottom: 1px solid var(--mfd-border);
  background: var(--mfd-bg-secondary);
  color: var(--mfd-text-primary);
  font-size: var(--mfd-font-size-sm);
  outline: none;
}

.mfd-league-filter-list-popup input[type="text"]::placeholder {
  color: var(--mfd-text-muted);
}

.mfd-league-filter-list-popup ul {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 340px;
  overflow-y: auto;
}

.mfd-league-filter-list-popup ul::-webkit-scrollbar {
  width: 6px;
}

.mfd-league-filter-list-popup ul::-webkit-scrollbar-thumb {
  background: var(--mfd-border-dark);
  border-radius: var(--mfd-radius-full);
}

.mfd-competition-item {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  cursor: pointer;
  transition: var(--mfd-transition-fast);
  border-bottom: 1px solid var(--mfd-border-light);
}

.mfd-competition-item:hover {
  background: var(--mfd-bg-hover);
}

.mfd-competition-item.active {
  background: var(--mfd-bg-active);
  border-left: 3px solid var(--mfd-primary);
}

.mfd-competition-item.mfd-league-group-start {
  border-top: 2px solid var(--mfd-border);
  margin-top: var(--mfd-space-xs);
}

.mfd-competition-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
}

.mfd-popup-league-name {
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-primary);
}

.mfd-popup-country-name {
  font-size: var(--mfd-font-size-xs);
  color: var(--mfd-text-muted);
}

/* Loading Indicator */
.mfd-schedule-loading-indicator {
  display: inline-flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  color: var(--mfd-primary);
  font-size: var(--mfd-font-size-sm);
}

.mfd-schedule-loading-indicator i {
  animation: mfd-spin 1s linear infinite;
}

@keyframes mfd-spin {
  100% { transform: rotate(360deg); }
}

/* ============================================
   MATCH TABLE HEADER
   ============================================ */
.mfd-match-header {
  background: var(--mfd-gradient-sport);
  color: #ffffff;
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mfd-match-header .row {
  display: grid;
  grid-template-columns: 70px 1fr 100px 50px 1fr;
  align-items: center;
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  gap: var(--mfd-space-md);
}

.mfd-match-header .col-time { text-align: center; }
.mfd-match-header .col-match { text-align: left; }
.mfd-match-header .col-score { text-align: center; }
.mfd-match-header .col-ht { text-align: center; }
.mfd-match-header .col-odds { text-align: center; }

.mfd-match-header .col-odds .row {
  display: flex;
  padding: 0;
}

.mfd-match-header .col-odds-ah,
.mfd-match-header .col-odds-ou,
.mfd-match-header .col-odds-1x2 {
  flex: 1;
  text-align: center;
  padding: var(--mfd-space-xs) 0;
  border-left: 1px solid rgba(255,255,255,0.1);
}

.mfd-match-header .col-odds-ah:first-child {
  border-left: none;
}

/* ============================================
   MATCH ROWS - BOLD SPORT CARDS
   ============================================ */
.mfd-schedule-list-container {
  padding: var(--mfd-space-md);
}

/* League Group Header */
.mfd-league-group {
  margin-bottom: var(--mfd-space-lg);
}

.mfd-league-group-header {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-gradient-header);
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-sm);
}

.mfd-league-group-header img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
}

.mfd-league-group-header .league-name {
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-bold);
  color: #ffffff;
  flex: 1;
}

.mfd-league-group-header .country-name {
  font-size: var(--mfd-font-size-xs);
  color: rgba(255, 255, 255, 0.6);
}

.mfd-league-group-header .mfd-seasonstable-link {
  padding: var(--mfd-space-xs) var(--mfd-space-sm);
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--mfd-radius-full);
  color: #ffffff;
  font-size: var(--mfd-font-size-xs);
  text-decoration: none;
  transition: var(--mfd-transition-fast);
}

.mfd-league-group-header .mfd-seasonstable-link:hover {
  background: var(--mfd-primary);
}

/* Match Row */
.mfd-matchrow,
.mfd-match-row {
  display: grid;
  grid-template-columns: 70px 1fr 100px 50px 1fr;
  align-items: center;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md);
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border-light);
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-sm);
  transition: var(--mfd-transition-normal);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.mfd-matchrow:hover,
.mfd-match-row:hover {
  border-color: var(--mfd-primary);
  box-shadow: var(--mfd-shadow-md);
  transform: translateY(-1px);
}

/* Time Column */
.mfd-matchrow .col-time,
.mfd-match-row .col-time {
  text-align: center;
}

.mfd-match-time {
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  font-variant-numeric: tabular-nums;
}

/* Teams Column */
.mfd-matchrow .col-match,
.mfd-match-row .col-match {
  display: flex;
  flex-direction: column;
  gap: var(--mfd-space-xs);
}

.mfd-team-row {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
}

.mfd-team-row img,
.team-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
  background: var(--mfd-bg-secondary);
  padding: 2px;
}

.mfd-team-row .team-name,
.team-name {
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mfd-team-row.home .team-name {
  color: var(--mfd-home);
}

.mfd-team-row.away .team-name {
  color: var(--mfd-text-primary);
}

/* Score Column */
.mfd-matchrow .col-score,
.mfd-match-row .col-score {
  text-align: center;
}

.mfd-score-display {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--mfd-space-xs);
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-bg-tertiary);
  border-radius: var(--mfd-radius-md);
  min-width: 80px;
}

.mfd-score-display .score {
  font-size: var(--mfd-font-size-xl);
  font-weight: var(--mfd-font-weight-extrabold);
  color: var(--mfd-text-primary);
  font-variant-numeric: tabular-nums;
}

.mfd-score-display .separator {
  font-size: var(--mfd-font-size-lg);
  color: var(--mfd-text-muted);
  font-weight: var(--mfd-font-weight-bold);
}

/* HT Score Column */
.mfd-matchrow .col-ht,
.mfd-match-row .col-ht {
  text-align: center;
  font-size: var(--mfd-font-size-xs);
  color: var(--mfd-text-muted);
}

.mfd-ht-score {
  padding: var(--mfd-space-2xs) var(--mfd-space-xs);
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-xs);
  font-variant-numeric: tabular-nums;
}

/* Odds Column */
.mfd-matchrow .col-odds,
.mfd-match-row .col-odds {
  display: flex;
  gap: var(--mfd-space-xs);
}

.mfd-odds-group {
  display: flex;
  gap: var(--mfd-space-2xs);
  flex: 1;
}

.mfd-odd-cell {
  flex: 1;
  text-align: center;
  padding: var(--mfd-space-xs) var(--mfd-space-sm);
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-xs);
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-primary);
  font-variant-numeric: tabular-nums;
  transition: var(--mfd-transition-fast);
}

.mfd-odd-cell:hover {
  background: var(--mfd-primary);
  color: #ffffff;
}

.mfd-odd-cell.hdp {
  color: var(--mfd-primary);
  font-weight: var(--mfd-font-weight-bold);
}

.mfd-odd-cell.line {
  color: var(--mfd-accent);
  font-weight: var(--mfd-font-weight-bold);
}

/* ============================================
   LIVE MATCH STATES
   ============================================ */
.mfd-matchrow.mfd-match-live,
.mfd-match-row.mfd-match-live {
  border-color: var(--mfd-live);
  background: linear-gradient(135deg, rgba(255, 23, 68, 0.05) 0%, rgba(255, 107, 0, 0.05) 100%);
  animation: mfd-live-pulse 2s ease-in-out infinite;
}

.mfd-matchrow.mfd-match-live::before,
.mfd-match-row.mfd-match-live::before {
  content: 'LIVE';
  position: absolute;
  top: 0;
  right: 0;
  padding: var(--mfd-space-2xs) var(--mfd-space-sm);
  background: var(--mfd-gradient-live);
  color: #ffffff;
  font-size: var(--mfd-font-size-2xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 0 var(--mfd-radius-md) 0 var(--mfd-radius-sm);
}

.mfd-matchrow.mfd-match-live .mfd-score-display,
.mfd-match-row.mfd-match-live .mfd-score-display {
  background: var(--mfd-gradient-live);
  box-shadow: 0 0 20px var(--mfd-live-glow);
}

.mfd-matchrow.mfd-match-live .mfd-score-display .score,
.mfd-match-row.mfd-match-live .mfd-score-display .score,
.mfd-matchrow.mfd-match-live .mfd-score-display .separator,
.mfd-match-row.mfd-match-live .mfd-score-display .separator {
  color: #ffffff;
}

@keyframes mfd-live-pulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--mfd-live-glow); }
  50% { box-shadow: 0 0 0 4px var(--mfd-live-glow); }
}

/* Live elapsed time indicator */
.mfd-live-elapsed {
  display: inline-flex;
  align-items: center;
  gap: var(--mfd-space-2xs);
  padding: var(--mfd-space-2xs) var(--mfd-space-sm);
  background: var(--mfd-live);
  color: #ffffff;
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  border-radius: var(--mfd-radius-full);
  animation: mfd-blink 1s infinite;
}

.mfd-live-elapsed::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #ffffff;
  border-radius: var(--mfd-radius-full);
}

@keyframes mfd-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

/* ============================================
   FINISHED MATCH STATE
   ============================================ */
.mfd-matchrow.mfd-match-finished,
.mfd-match-row.mfd-match-finished {
  background: var(--mfd-bg-secondary);
}

.mfd-matchrow.mfd-match-finished .mfd-score-display,
.mfd-match-row.mfd-match-finished .mfd-score-display {
  background: var(--mfd-success);
}

.mfd-matchrow.mfd-match-finished .mfd-score-display .score,
.mfd-match-row.mfd-match-finished .mfd-score-display .score,
.mfd-matchrow.mfd-match-finished .mfd-score-display .separator,
.mfd-match-row.mfd-match-finished .mfd-score-display .separator {
  color: #ffffff;
}

/* ============================================
   POSTPONED/CANCELLED MATCH STATE
   ============================================ */
.mfd-matchrow[data-match-status="PST"],
.mfd-matchrow[data-match-status="CANC"],
.mfd-matchrow[data-match-status="ABD"],
.mfd-match-row[data-match-status="PST"],
.mfd-match-row[data-match-status="CANC"],
.mfd-match-row[data-match-status="ABD"] {
  opacity: 0.6;
  background: repeating-linear-gradient(
    45deg,
    var(--mfd-bg-card),
    var(--mfd-bg-card) 10px,
    var(--mfd-bg-secondary) 10px,
    var(--mfd-bg-secondary) 20px
  );
  border-left: 4px solid var(--mfd-warning);
}

/* ============================================
   STATUS BADGES
   ============================================ */
.mfd-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--mfd-space-2xs) var(--mfd-space-sm);
  border-radius: var(--mfd-radius-full);
  font-size: var(--mfd-font-size-2xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #ffffff;
  background: var(--mfd-text-muted);
}

.mfd-status-badge.live,
.mfd-status-badge.mfd-status-1h,
.mfd-status-badge.mfd-status-2h,
.mfd-status-badge.mfd-status-et,
.mfd-status-badge.mfd-status-p {
  background: var(--mfd-gradient-live);
  animation: mfd-blink 1s infinite;
}

.mfd-status-badge.ht {
  background: var(--mfd-warning);
  color: var(--mfd-text-primary);
}

.mfd-status-badge.ft,
.mfd-status-badge.aet,
.mfd-status-badge.pen {
  background: var(--mfd-success);
}

.mfd-status-badge.ns {
  background: var(--mfd-info);
}

.mfd-status-badge.pst,
.mfd-status-badge.canc,
.mfd-status-badge.abd {
  background: var(--mfd-warning);
  color: var(--mfd-text-primary);
}

/* ============================================
   RANKINGS TABLE - BOLD SPORT
   ============================================ */
.mfd-rankings-table,
.mfd-standings-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.mfd-rankings-table thead,
.mfd-standings-table thead {
  background: var(--mfd-gradient-header);
  color: #ffffff;
  position: sticky;
  top: 0;
  z-index: var(--mfd-z-sticky);
}

.mfd-rankings-table th,
.mfd-standings-table th {
  padding: var(--mfd-space-md);
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  white-space: nowrap;
}

.mfd-rankings-table th:first-child,
.mfd-standings-table th:first-child {
  border-radius: var(--mfd-radius-md) 0 0 0;
}

.mfd-rankings-table th:last-child,
.mfd-standings-table th:last-child {
  border-radius: 0 var(--mfd-radius-md) 0 0;
}

.mfd-rankings-table tbody tr,
.mfd-standings-table tbody tr {
  background: var(--mfd-bg-card);
  transition: var(--mfd-transition-fast);
}

.mfd-rankings-table tbody tr:nth-child(even),
.mfd-standings-table tbody tr:nth-child(even) {
  background: var(--mfd-bg-secondary);
}

.mfd-rankings-table tbody tr:hover,
.mfd-standings-table tbody tr:hover {
  background: var(--mfd-bg-active);
}

.mfd-rankings-table td,
.mfd-standings-table td {
  padding: var(--mfd-space-md);
  text-align: center;
  border-bottom: 1px solid var(--mfd-border-light);
  vertical-align: middle;
}

/* Position Column */
.mfd-rank-position {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--mfd-radius-full);
  font-weight: var(--mfd-font-weight-extrabold);
  font-size: var(--mfd-font-size-sm);
}

.mfd-rank-position.top-1 {
  background: var(--mfd-gradient-gold);
  color: #000;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.mfd-rank-position.top-2 {
  background: linear-gradient(135deg, #c0c0c0, #a8a8a8);
  color: #000;
}

.mfd-rank-position.top-3 {
  background: linear-gradient(135deg, #cd7f32, #b87333);
  color: #fff;
}

.mfd-rank-position.champions-league {
  background: var(--mfd-primary);
  color: #fff;
}

.mfd-rank-position.europa-league {
  background: var(--mfd-accent);
  color: #fff;
}

.mfd-rank-position.relegation {
  background: var(--mfd-danger);
  color: #fff;
}

/* Position Change Indicators */
.mfd-rank-change {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  margin-left: var(--mfd-space-xs);
}

.mfd-rank-change.up {
  color: var(--mfd-success);
}

.mfd-rank-change.down {
  color: var(--mfd-danger);
}

.mfd-rank-change .arrow {
  font-size: 10px;
}

.change-up {
  color: var(--mfd-success);
  font-weight: var(--mfd-font-weight-bold);
}

.change-down {
  color: var(--mfd-danger);
  font-weight: var(--mfd-font-weight-bold);
}

/* Team Cell */
.mfd-team-cell {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  text-align: left;
}

.mfd-team-cell img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
}

.mfd-team-cell .team-name {
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-primary);
}

/* Form Column */
.mfd-form-badges {
  display: flex;
  gap: 3px;
  justify-content: center;
}

.mfd-form-icon,
.mfd-form-badge {
  width: 20px;
  height: 20px;
  border-radius: var(--mfd-radius-xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--mfd-font-size-2xs);
  font-weight: var(--mfd-font-weight-bold);
  color: #ffffff;
}

.mfd-form-icon.win,
.mfd-form-badge.W {
  background: var(--mfd-win);
}

.mfd-form-icon.draw,
.mfd-form-badge.D {
  background: var(--mfd-draw);
}

.mfd-form-icon.lose,
.mfd-form-badge.L {
  background: var(--mfd-loss);
}

/* Points Cell */
.mfd-points-cell {
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-extrabold);
  color: var(--mfd-primary);
}

/* Goal Difference */
.mfd-gd-positive {
  color: var(--mfd-success);
  font-weight: var(--mfd-font-weight-bold);
}

.mfd-gd-negative {
  color: var(--mfd-danger);
  font-weight: var(--mfd-font-weight-bold);
}

/* ============================================
   ODDS TABLE - CLEAN LAYOUT
   ============================================ */
.mfd-odds-table-wrapper {
  font-family: var(--mfd-font-family);
}

.mfd-odds-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md) var(--mfd-space-lg);
  background: var(--mfd-bg-secondary);
  border-bottom: 1px solid var(--mfd-border);
}

.mfd-odds-control-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mfd-space-md);
  width: 100%;
}

.mfd-control-group {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
}

.mfd-control-group label {
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-secondary);
}

.mfd-bookmaker-group select,
.mfd-team-search-group input {
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  border: 2px solid var(--mfd-border);
  border-radius: var(--mfd-radius-sm);
  background: var(--mfd-bg-card);
  color: var(--mfd-text-primary);
  font-size: var(--mfd-font-size-sm);
  transition: var(--mfd-transition-fast);
  height: 2.75em;
}

.mfd-bookmaker-group select:focus,
.mfd-team-search-group input:focus {
  outline: none;
  border-color: var(--mfd-primary);
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1);
}

.mfd-date-group .date-buttons-container {
  display: flex;
  gap: var(--mfd-space-xs);
}

.date-button {
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  border: 2px solid var(--mfd-border);
  border-radius: var(--mfd-radius-sm);
  background: var(--mfd-bg-card);
  color: var(--mfd-text-primary);
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  cursor: pointer;
  transition: var(--mfd-transition-fast);
}

.date-button:hover {
  border-color: var(--mfd-primary);
}

.date-button.active {
  background: var(--mfd-primary);
  border-color: var(--mfd-primary);
  color: #ffffff;
}

/* Odds Table Header */
.head_pro,
.mfd-odds-table-header {
  background: var(--mfd-gradient-header);
  color: #ffffff;
  padding: var(--mfd-space-sm) 0;
}

.head_pro label,
.mfd-odds-table-header label {
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  color: #fff;
}

.hfbr {
  border-right: 1px solid rgba(255,255,255,0.2);
}

.mfd-odds-table-header .row {
  display: grid;
  grid-template-columns: 65px 1fr 140px 1fr;
  align-items: center;
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  gap: var(--mfd-space-sm);
}

.mfd-odds-table-header .col-odds .row {
  display: flex;
  padding: 0;
}

.mfd-odds-table-header .mfd-box-odds-header {
  display: flex;
}

.mfd-odds-table-header [class^="col-"] {
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
}

/* Odds Table Body */
.mfd-odds-table-body {
  padding: var(--mfd-space-md);
}

/* No odds filter */
.mfd-no-odds-filter-group label {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  cursor: pointer;
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-secondary);
}

.mfd-no-odds-filter-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--mfd-primary);
}

.mfd-odds-table-wrapper.mfd-filter-no-odds-active .mfd-no-odds-row {
  display: none !important;
}

/* Loader container */
.mfd-loader-container,
.mfd-loader-group {
  color: var(--mfd-primary);
}

/* ============================================
   ODDS FLASH ANIMATION
   ============================================ */
@keyframes mfd-odds-flash {
  0% { background-color: var(--mfd-accent); color: #fff; }
  100% { background-color: var(--mfd-bg-secondary); color: var(--mfd-text-primary); }
}

.mfd-odds-changed {
  animation: mfd-odds-flash 2s ease-out;
}

/* Half-time odds locked */
.mfd-ht-odds-box.mfd-odds-locked {
  opacity: 0.5;
  position: relative;
}

.mfd-ht-odds-box.mfd-odds-locked::after {
  content: '🔒';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 16px;
}

/* ============================================
   PREDICTIONS TABLE
   ============================================ */
.mfd-pred-table-container {
  font-family: var(--mfd-font-family);
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-lg);
  overflow: hidden;
}

.mfd-pred-header-row {
  display: grid;
  grid-template-columns: 80px 1fr 100px 80px 120px 100px;
  background: var(--mfd-gradient-header);
  color: #ffffff;
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mfd-pred-header-row > div {
  padding: var(--mfd-space-md);
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.1);
}

.mfd-pred-header-row > div:last-child {
  border-right: none;
}

.mfd-pred-league-header {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-gradient-sport);
  color: var(--mfd-accent);
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  font-size: var(--mfd-font-size-sm);
}

.mfd-league-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
}

.mfd-pred-row {
  display: grid;
  grid-template-columns: 80px 1fr 100px 80px 120px 100px;
  align-items: center;
  border-bottom: 1px solid var(--mfd-border-light);
  transition: var(--mfd-transition-fast);
}

.mfd-pred-row:hover {
  background: var(--mfd-bg-hover);
}

.mfd-pred-row:nth-child(even) {
  background: var(--mfd-bg-secondary);
}

.mfd-pred-row:nth-child(even):hover {
  background: var(--mfd-bg-hover);
}

.mfd-col-time {
  padding: var(--mfd-space-md);
  text-align: center;
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  font-variant-numeric: tabular-nums;
  border-right: 1px solid var(--mfd-border-light);
}

.mfd-col-match {
  padding: var(--mfd-space-md);
  border-right: 1px solid var(--mfd-border-light);
}

.pred-home-name {
  color: var(--mfd-home);
  font-weight: var(--mfd-font-weight-bold);
  margin-bottom: 4px;
}

.pred-away-name {
  color: var(--mfd-text-primary);
  font-weight: var(--mfd-font-weight-medium);
}

.pred-draw-text {
  color: var(--mfd-text-muted);
  font-size: var(--mfd-font-size-xs);
  font-style: italic;
}

.mfd-col-odds,
.mfd-col-score,
.mfd-col-pick,
.mfd-col-ou {
  padding: var(--mfd-space-md);
  text-align: center;
  font-weight: var(--mfd-font-weight-semibold);
  border-right: 1px solid var(--mfd-border-light);
}

.mfd-col-ou {
  border-right: none;
}

.mfd-col-score {
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-extrabold);
  color: var(--mfd-primary);
}

.mfd-col-pick {
  color: var(--mfd-accent);
}

.mfd-ajax-cell {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mfd-loading-dots {
  color: var(--mfd-text-muted);
  animation: mfd-blink 1.5s infinite;
}

/* ============================================
   FIFA RANKINGS TABLE
   ============================================ */
.mfd-fifa-tabs-wrapper {
  font-family: var(--mfd-font-family);
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-lg);
  overflow: hidden;
  box-shadow: var(--mfd-shadow-md);
}

ul.mfd-fifa-tab-nav.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  background: var(--mfd-gradient-header);
  border-bottom: 3px solid var(--mfd-primary);
}

ul.mfd-fifa-tab-nav.tabs li {
  margin: 0;
  padding: 0;
}

ul.mfd-fifa-tab-nav.tabs li a {
  display: block;
  padding: var(--mfd-space-md) var(--mfd-space-lg);
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-weight: var(--mfd-font-weight-semibold);
  font-size: var(--mfd-font-size-sm);
  transition: var(--mfd-transition-fast);
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
}

ul.mfd-fifa-tab-nav.tabs li a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

ul.mfd-fifa-tab-nav.tabs li.active a {
  color: #ffffff;
  background: var(--mfd-primary);
  border-bottom-color: var(--mfd-accent);
}

.mfd-fifa-tab-content-wrapper {
  padding: var(--mfd-space-lg);
}

.mfd-fifa-tab-content {
  display: none;
}

.mfd-fifa-tab-content.active {
  display: block;
}

.mfd-fifa-loading {
  text-align: center;
  padding: var(--mfd-space-2xl);
  color: var(--mfd-text-muted);
}

.mfd-fifa-loading i {
  margin-right: var(--mfd-space-sm);
  color: var(--mfd-primary);
}

.mfd-fifa-table-wrapper table.league-matches {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--mfd-font-size-sm);
}

.mfd-fifa-table-wrapper table.league-matches thead th {
  background: var(--mfd-bg-tertiary);
  color: var(--mfd-text-primary);
  font-weight: var(--mfd-font-weight-bold);
  padding: var(--mfd-space-md);
  text-align: center;
  border-bottom: 2px solid var(--mfd-border);
}

.mfd-fifa-table-wrapper table.league-matches tbody tr {
  transition: var(--mfd-transition-fast);
}

.mfd-fifa-table-wrapper table.league-matches tbody tr:nth-child(even) {
  background: var(--mfd-bg-secondary);
}

.mfd-fifa-table-wrapper table.league-matches tbody tr:hover {
  background: var(--mfd-bg-active);
}

.mfd-fifa-table-wrapper table.league-matches td {
  padding: var(--mfd-space-md);
  border-bottom: 1px solid var(--mfd-border-light);
  text-align: center;
  vertical-align: middle;
}

h2.league-result-journee {
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  margin-bottom: var(--mfd-space-md);
  padding-left: var(--mfd-space-md);
  border-left: 4px solid var(--mfd-primary);
}

/* ============================================
   LIVESCORES REDESIGN
   ============================================ */
.mfd-table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mfd-fixtures-wrap {
  background: var(--mfd-bg-card);
  border-radius: var(--mfd-radius-md);
  overflow: hidden;
}

.mfd-livescores-redesign {
  font-family: var(--mfd-font-family);
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-lg);
  overflow: hidden;
  box-shadow: var(--mfd-shadow-md);
}

.mfd-livescores-redesign .mfd-table-title {
  background: var(--mfd-gradient-header);
  color: #ffffff;
  padding: var(--mfd-space-lg);
  margin: 0;
  font-size: var(--mfd-font-size-xl);
  font-weight: var(--mfd-font-weight-bold);
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
}

.mfd-livescores-redesign .mfd-table-title::before {
  content: '';
  width: 12px;
  height: 12px;
  background: var(--mfd-live);
  border-radius: var(--mfd-radius-full);
  animation: mfd-pulse 2s infinite;
}

.mfd-livescore-table {
  width: 100%;
  border-collapse: collapse;
}

.mfd-livescore-table th {
  background: var(--mfd-bg-tertiary);
  color: var(--mfd-text-secondary);
  font-weight: var(--mfd-font-weight-bold);
  font-size: var(--mfd-font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: var(--mfd-space-md);
  text-align: center;
  border-bottom: 2px solid var(--mfd-border);
}

.mfd-livescore-table td {
  padding: var(--mfd-space-md);
  vertical-align: middle;
  border-bottom: 1px solid var(--mfd-border-light);
  color: var(--mfd-text-primary);
}

.mfd-livescore-table tr:hover {
  background: var(--mfd-bg-hover);
}

.mfd-live-row {
  background: linear-gradient(90deg, rgba(255, 23, 68, 0.08) 0%, transparent 100%) !important;
  border-left: 4px solid var(--mfd-live);
}

.mfd-livescore-table .col-time {
  width: 80px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  color: var(--mfd-text-secondary);
}

.mfd-livescore-table .col-status {
  width: 80px;
  text-align: center;
}

.mfd-livescore-table .col-match {
  min-width: 300px;
}

.mfd-livescore-table .col-league {
  width: 200px;
}

.mfd-match-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mfd-space-md);
}

.mfd-match-flex .mfd-team {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}

.mfd-match-flex .mfd-home {
  justify-content: flex-end;
  text-align: right;
}

.mfd-match-flex .mfd-away {
  justify-content: flex-start;
  text-align: left;
}

.mfd-match-flex .team-name {
  font-weight: var(--mfd-font-weight-semibold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 var(--mfd-space-sm);
}

.mfd-match-flex .team-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: var(--mfd-radius-xs);
}

.mfd-score-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-bg-tertiary);
  border-radius: var(--mfd-radius-lg);
  font-weight: var(--mfd-font-weight-extrabold);
  font-size: var(--mfd-font-size-lg);
  color: var(--mfd-text-primary);
  font-variant-numeric: tabular-nums;
}

.mfd-score-box.live {
  background: var(--mfd-gradient-live);
  color: #ffffff;
  box-shadow: 0 0 15px var(--mfd-live-glow);
}

.mfd-ht-info {
  font-size: var(--mfd-font-size-xs);
  color: var(--mfd-text-muted);
  text-align: center;
  margin-top: var(--mfd-space-xs);
}

.league-info {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  color: var(--mfd-text-secondary);
}

.league-info .league-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  opacity: 0.8;
}

.league-info .league-name {
  font-size: var(--mfd-font-size-sm);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ============================================
   LIGHTBOX / MODAL
   ============================================ */
.mfd-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--mfd-z-modal);
  display: none;
}

.mfd-lightbox.show {
  display: block;
}

.mfd-lightbox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
}

.mfd-lightbox-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  max-height: 85vh;
  background: var(--mfd-bg-card);
  border-radius: var(--mfd-radius-xl);
  box-shadow: var(--mfd-shadow-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.mfd-lightbox-close {
  position: absolute;
  top: var(--mfd-space-md);
  right: var(--mfd-space-md);
  width: 40px;
  height: 40px;
  border-radius: var(--mfd-radius-full);
  background: var(--mfd-bg-tertiary);
  border: none;
  color: var(--mfd-text-primary);
  font-size: 24px;
  cursor: pointer;
  transition: var(--mfd-transition-fast);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mfd-lightbox-close:hover {
  background: var(--mfd-danger);
  color: #ffffff;
  transform: scale(1.1);
}

.mfd-lightbox-title {
  padding: var(--mfd-space-lg);
  padding-right: 60px;
  margin: 0;
  font-size: var(--mfd-font-size-xl);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  border-bottom: 1px solid var(--mfd-border);
  background: var(--mfd-bg-secondary);
}

.mfd-lightbox-body {
  padding: var(--mfd-space-lg);
  overflow-y: auto;
  flex: 1;
}

/* Match Detail Header */
.mfd-match-detail-header {
  text-align: center;
  padding-bottom: var(--mfd-space-lg);
  border-bottom: 1px solid var(--mfd-border);
  margin-bottom: var(--mfd-space-lg);
}

.mfd-detail-league-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mfd-space-sm);
  margin-bottom: var(--mfd-space-md);
  color: var(--mfd-text-secondary);
}

.mfd-detail-league-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.mfd-detail-league-name {
  font-weight: var(--mfd-font-weight-semibold);
}

.mfd-detail-teams-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mfd-space-xl);
}

.mfd-detail-team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mfd-space-sm);
  flex: 1;
  max-width: 150px;
}

.mfd-detail-team-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.mfd-detail-team-name {
  font-size: var(--mfd-font-size-md);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  text-align: center;
}

.mfd-detail-score-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mfd-space-sm);
}

.mfd-detail-score {
  font-size: var(--mfd-font-size-3xl);
  font-weight: var(--mfd-font-weight-extrabold);
  color: var(--mfd-primary);
}

.mfd-detail-vs {
  font-size: var(--mfd-font-size-xl);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-muted);
}

/* Tabs in lightbox */
.mfd-tab-nav {
  display: flex;
  gap: var(--mfd-space-xs);
  padding: 0 var(--mfd-space-lg);
  background: var(--mfd-bg-secondary);
  border-bottom: 1px solid var(--mfd-border);
  overflow-x: auto;
}

.mfd-tab-link {
  padding: var(--mfd-space-md) var(--mfd-space-lg);
  background: none;
  border: none;
  color: var(--mfd-text-secondary);
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  cursor: pointer;
  transition: var(--mfd-transition-fast);
  border-bottom: 3px solid transparent;
  white-space: nowrap;
}

.mfd-tab-link:hover {
  color: var(--mfd-text-primary);
}

.mfd-tab-link.active {
  color: var(--mfd-primary);
  border-bottom-color: var(--mfd-primary);
}

.mfd-tab-pane {
  display: none;
  padding: var(--mfd-space-lg);
}

.mfd-tab-pane.active {
  display: block;
}

/* ============================================
   LOAD MORE BUTTON
   ============================================ */
.mfd-load-more-container {
  padding: var(--mfd-space-lg);
  text-align: center;
}

.mfd-load-more-odds-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-md) var(--mfd-space-xl);
  background: var(--mfd-gradient-primary);
  border: none;
  border-radius: var(--mfd-radius-full);
  color: #ffffff;
  font-size: var(--mfd-font-size-md);
  font-weight: var(--mfd-font-weight-bold);
  cursor: pointer;
  transition: var(--mfd-transition-normal);
  box-shadow: var(--mfd-shadow-md);
}

.mfd-load-more-odds-btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--mfd-shadow-lg), var(--mfd-shadow-glow);
}

.mfd-load-more-odds-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.mfd-progressive-loader {
  padding: var(--mfd-space-lg);
  text-align: center;
  color: var(--mfd-primary);
}

/* ============================================
   ERROR & EMPTY STATES
   ============================================ */
.mfd-error,
.mfd-no-data {
  padding: var(--mfd-space-2xl);
  text-align: center;
  color: var(--mfd-text-muted);
}

.mfd-error {
  color: var(--mfd-danger);
}

.mfd-error::before {
  content: '⚠️';
  display: block;
  font-size: 48px;
  margin-bottom: var(--mfd-space-md);
}

.mfd-no-data::before {
  content: '📋';
  display: block;
  font-size: 48px;
  margin-bottom: var(--mfd-space-md);
}

.mfd-loading-message {
  padding: var(--mfd-space-2xl);
  text-align: center;
  color: var(--mfd-text-muted);
}

.mfd-loading-message i {
  margin-right: var(--mfd-space-sm);
  color: var(--mfd-primary);
}

.mfd-loading-initial {
  padding: var(--mfd-space-2xl);
  text-align: center;
  color: var(--mfd-text-muted);
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */
@media (max-width: 1024px) {
  .mfd-matchrow,
  .mfd-match-row {
    grid-template-columns: 60px 1fr 80px 1fr;
  }

  .mfd-matchrow .col-ht,
  .mfd-match-row .col-ht {
    display: none;
  }
}

@media (max-width: 768px) {
  .mfd-filter-controls,.mfd-schedule-list-container,.mfd-fifa-tab-content-wrapper,.mfd-odds-table-body {
    padding: 5px;
  }
  /* Date Slider Mobile */
  .mfd-date-slider {
    padding: var(--mfd-space-sm) var(--mfd-space-md);
  }

  .mfd-date-item {
    min-width: 70px;
    padding: var(--mfd-space-xs) var(--mfd-space-sm);
  }

  .mfd-date-item-date {
    font-size: var(--mfd-font-size-md);
  }

  .mfd-date-prev-btn,
  .mfd-date-next-btn {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  /* Match Rows Mobile */
  .mfd-matchrow,
  .mfd-match-row {
    grid-template-columns: 1fr;
    gap: var(--mfd-space-sm);
    padding: var(--mfd-space-md);
  }

  .mfd-matchrow .col-time,
  .mfd-match-row .col-time {
    position: absolute;
    top: var(--mfd-space-sm);
    left: var(--mfd-space-md);
    font-size: var(--mfd-font-size-sm);
  }

  .mfd-matchrow .col-match,
  .mfd-match-row .col-match {
    padding-top: var(--mfd-space-lg);
  }

  .mfd-matchrow .col-score,
  .mfd-match-row .col-score {
    order: -1;
    margin-bottom: var(--mfd-space-sm);
  }

  .mfd-matchrow .col-odds,
  .mfd-match-row .col-odds {
    flex-wrap: wrap;
    justify-content: center;
  }

  .mfd-odds-group {
    flex: 0 0 100%;
    justify-content: center;
    margin-bottom: var(--mfd-space-xs);
  }

  /* Match Header Mobile */
  .mfd-match-header {
    display: none;
  }

  /* Filter Controls Mobile */
  .mfd-filter-controls {
    flex-direction: column;
    align-items: stretch;
    gap: var(--mfd-space-sm);
  }

  .mfd-league-filter-toggle-btn {
    width: 100%;
    justify-content: center;
  }

  .mfd-league-filter-list-popup {
    width: 100%;
    left: 0;
    right: 0;
  }

  /* Odds Controls Mobile */
  .mfd-odds-control-row {
    flex-direction: column;
    align-items: stretch;
  }

  .mfd-control-group {
    width: 100%;
  }

  .mfd-bookmaker-group select,
  .mfd-team-search-group input {
    width: 100%;
  }

  /* Predictions Mobile */
  .mfd-pred-header-row {
    display: none;
  }

  .mfd-pred-row {
    grid-template-columns: 1fr 1fr;
    gap: var(--mfd-space-xs);
    padding: var(--mfd-space-md);
  }

  .mfd-col-time {
    grid-column: 1 / -1;
    text-align: left;
    color: var(--mfd-primary);
    font-size: var(--mfd-font-size-sm);
    padding: var(--mfd-space-sm) 0;
    border: none;
  }

  .mfd-col-match {
    grid-column: 1 / -1;
    border: none;
    padding: 0;
    margin-bottom: var(--mfd-space-sm);
  }

  .mfd-col-odds,
  .mfd-col-score,
  .mfd-col-pick,
  .mfd-col-ou {
    padding: var(--mfd-space-sm);
    background: var(--mfd-bg-secondary);
    border-radius: var(--mfd-radius-sm);
    font-size: var(--mfd-font-size-xs);
    border: none;
  }

  .mfd-col-odds::before,
  .mfd-col-score::before,
  .mfd-col-pick::before,
  .mfd-col-ou::before {
    content: attr(data-label);
    display: block;
    font-size: var(--mfd-font-size-2xs);
    color: var(--mfd-text-muted);
    margin-bottom: 2px;
    text-transform: uppercase;
  }

  /* Livescores Mobile */
  .mfd-livescore-table th {
    display: none;
  }

  .mfd-livescore-table tr {
    display: flex;
    flex-wrap: wrap;
    padding: var(--mfd-space-md);
    border-bottom: 1px solid var(--mfd-border);
  }

  .mfd-livescore-table td {
    border: none;
    padding: var(--mfd-space-xs);
  }

  .mfd-livescore-table .col-time {
    order: 1;
    width: auto;
    font-size: var(--mfd-font-size-xs);
  }

  .mfd-livescore-table .col-status {
    order: 2;
    width: auto;
    margin-left: auto;
  }

  .mfd-livescore-table .col-league {
    order: 3;
    width: 100%;
    font-size: var(--mfd-font-size-xs);
    color: var(--mfd-text-muted);
    padding: var(--mfd-space-sm) 0;
    border-bottom: 1px dashed var(--mfd-border-light);
  }

  .mfd-livescore-table .col-match {
    order: 4;
    width: 100%;
    min-width: unset;
    padding-top: var(--mfd-space-sm);
  }

  /* Lightbox Mobile */
  .mfd-lightbox-content {
    width: 95%;
    max-height: 90vh;
    border-radius: var(--mfd-radius-lg);
  }

  .mfd-tab-nav {
    padding: 0 var(--mfd-space-sm);
  }

  .mfd-tab-link {
    padding: var(--mfd-space-sm) var(--mfd-space-md);
    font-size: var(--mfd-font-size-xs);
  }

  .mfd-detail-teams-score {
    gap: var(--mfd-space-md);
  }

  .mfd-detail-team-logo {
    width: 48px;
    height: 48px;
  }

  .mfd-detail-score {
    font-size: var(--mfd-font-size-2xl);
  }

  /* FIFA Rankings Mobile */
  .mfd-fifa-table-wrapper table.league-matches {
    font-size: var(--mfd-font-size-xs);
  }

  .mfd-fifa-table-wrapper table.league-matches th,
  .mfd-fifa-table-wrapper table.league-matches td {
    padding: var(--mfd-space-sm);
  }

  .mfd-fifa-table-wrapper table.league-matches th:nth-child(1),
  .mfd-fifa-table-wrapper table.league-matches td:nth-child(1) {
    display: none;
  }

  ul.mfd-fifa-tab-nav.tabs li a {
    padding: var(--mfd-space-sm) var(--mfd-space-md);
    font-size: var(--mfd-font-size-xs);
  }
}

@media (max-width: 480px) {
  .mfd-wrapper,
  .mfd-schedule-wrapper,
  .mfd-results-wrapper,
  .mfd-odds-table-wrapper {
    border-radius: var(--mfd-radius-md);
  }
  .mfd-league-filter-toggle-btn {
    padding: 0px;
  }
  .mfd-date-item {
    min-width: 60px;
  }

  .mfd-date-item-label {
    font-size: 9px;
  }

  .mfd-date-item-date {
    font-size: var(--mfd-font-size-sm);
  }

  .mfd-team-row img,
  .team-logo {
    width: 24px;
    height: 24px;
  }

  .mfd-team-row .team-name,
  .team-name {
    font-size: var(--mfd-font-size-xs);
  }

  .mfd-score-display {
    min-width: 60px;
    padding: var(--mfd-space-xs) var(--mfd-space-sm);
  }

  .mfd-score-display .score {
    font-size: var(--mfd-font-size-lg);
  }

  .mfd-fifa-tab-nav.tabs {
    border-bottom: none;
  }

  .mfd-fifa-tab-nav.tabs li {
    margin-bottom: var(--mfd-space-xs);
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  .mfd-wrapper,
  .mfd-schedule-wrapper,
  .mfd-results-wrapper,
  .mfd-odds-table-wrapper {
    box-shadow: none;
    border: 1px solid #ddd;
  }

  .mfd-date-slider,
  .mfd-filter-controls,
  .mfd-theme-toggle,
  .mfd-load-more-container {
    display: none !important;
  }

  .mfd-matchrow,
  .mfd-match-row {
    break-inside: avoid;
  }
}

/* ============================================
   ACCESSIBILITY
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Focus visible */
.mfd-date-item:focus-visible,
.mfd-league-filter-toggle-btn:focus-visible,
.mfd-competition-item:focus-visible,
.mfd-load-more-odds-btn:focus-visible,
.mfd-tab-link:focus-visible,
.date-button:focus-visible {
  outline: 3px solid var(--mfd-primary);
  outline-offset: 2px;
}

/* High contrast mode */
@media (prefers-contrast: high) {
  :root {
    --mfd-border: #000;
    --mfd-border-light: #666;
  }
}

/* ============================================
   FLATSOME THEME COMPATIBILITY - v2.0.4
   CSS Isolation để tránh conflict với Flatsome
   ============================================ */

/* Reset Flatsome styles trong plugin containers */
.mfd-dynamic-content,
.mfd-standings-wrap,
.mfd-schedule-wrapper,
.mfd-results-wrapper,
.mfd-odds-table-wrapper,
.mfd-rankings-wrapper,
.mfd-livescores-wrapper,
.mfd-predictions-wrapper,
.mfd-topscorers-wrap,
[class*="mfd-"] {
  box-sizing: border-box !important;
}

/* Reset Flatsome image styles - CRITICAL */
.mfd-dynamic-content img,
.mfd-standings-wrap img,
.mfd-schedule-wrapper img,
.mfd-results-wrapper img,
.mfd-odds-table-wrapper img,
.mfd-rankings-wrapper img,
.mfd-livescores-wrapper img,
.mfd-predictions-wrapper img,
.mfd-topscorers-wrap img,
img.mfd-team-logo,
img.mfd-team-logo-small,
img.mfd-league-logo,
img.mfd-player-photo-small {
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* ============================================
   FIX: LOGO SIZE CONSTRAINTS - v2.0.4
   Đảm bảo tất cả logo không vượt quá kích thước
   ============================================ */

/* Logo trong bảng xếp hạng - CRITICAL FIX */
.mfd-standings-wrap img.mfd-team-logo,
.mfd-standings-wrap img.mfd-league-logo,
.mfd-standings-wrap .mfd-team-logo-cell img,
.mfd-standings-table img,
.mfd-standings-table .mfd-team-logo,
table.mfd-standings-table img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Logo giải đấu trong header */
.mfd-standings-wrap h2 img,
.mfd-standings-wrap h2 img.mfd-league-logo,
.mfd-topscorers-wrap h2 img,
.mfd-topscorers-wrap h2 img.mfd-league-logo {
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 10px !important;
}

/* Logo trong Top Scorers - FIXED CLASS NAMES */
.mfd-topscorers-wrap table img,
.mfd-topscorers-wrap .mfd-team-logo,
.mfd-topscorers-wrap .mfd-team-logo-small,
.mfd-topscorers-wrap img.mfd-team-logo-small,
table.mfd-topscorers-table img,
.mfd-topscorers-table img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
}

/* Player photo trong Top Scorers */
.mfd-topscorers-wrap img.mfd-player-photo-small,
.mfd-topscorers-table img.mfd-player-photo-small {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  margin-right: 8px !important;
}

/* Logo trong Schedule/Results */
.mfd-schedule-wrapper img,
.mfd-results-wrapper img,
.mfd-livescores-wrapper img {
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Logo trong Odds table */
.mfd-odds-table-wrapper img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Global image constraints trong plugin */
.mfd-rankings-wrapper img,
.mfd-standings-wrapper img,
.mfd-schedule-wrapper img,
.mfd-results-wrapper img,
.mfd-odds-table-wrapper img,
.mfd-livescores-wrapper img,
.mfd-top-scorers-wrapper img,
.mfd-predictions-wrapper img {
  max-width: 32px !important;
  max-height: 32px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Logo giải đấu trong header */
.mfd-league-group-header img,
.mfd-competition-logo,
.league-logo,
.competition-logo {
  max-width: 28px !important;
  max-height: 28px !important;
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

/* Logo đội bóng trong bảng xếp hạng */
.mfd-rankings-table img,
.mfd-standings-table img,
.mfd-rankings-wrapper table img,
.mfd-standings-wrapper table img {
  max-width: 24px !important;
  max-height: 24px !important;
  width: 24px !important;
  height: 24px !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

/* Logo trong Top Scorers */
.mfd-top-scorers-wrapper table img,
.mfd-top-scorers-table img {
  max-width: 28px !important;
  max-height: 28px !important;
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  vertical-align: middle !important;
}

/* Logo đội trong lịch thi đấu/kết quả */
.mfd-team-row img,
.mfd-match-row img,
.mfd-fixture-row img,
.team-logo,
.mfd-team-logo {
  max-width: 28px !important;
  max-height: 28px !important;
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

/* Logo trong Odds table */
.mfd-odds-table-wrapper .mfd-teams-box img,
.mfd-odds-table-wrapper .team-logo,
.list_match img,
.keo-dong img {
  max-width: 24px !important;
  max-height: 24px !important;
  width: 24px !important;
  height: 24px !important;
  object-fit: contain !important;
}

/* ============================================
   FIX: ODDS TABLE LAYOUT - v2.0.4
   Sửa layout bị vỡ của bảng odds
   ============================================ */

/* Odds table row layout */
.mfd-odds-table-wrapper .list_match,
.mfd-odds-table-wrapper .keo-dong {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  min-height: 80px;
}

/* Time column */
.mfd-odds-table-wrapper .time_box,
.mfd-odds-table-wrapper .col-1 {
  flex: 0 0 60px !important;
  max-width: 60px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 8px 4px !important;
  text-align: center !important;
}

/* Teams column */
.mfd-odds-table-wrapper .mfd-teams-box,
.mfd-odds-table-wrapper .col-4,
.mfd-odds-table-wrapper .col-md-3 {
  flex: 1 1 200px !important;
  min-width: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 8px !important;
}

/* Odds columns container */
.mfd-odds-table-wrapper .mfd-ft-odds-box,
.mfd-odds-table-wrapper .mfd-ht-odds-box {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
}

/* Individual odds values */
.mfd-odds-table-wrapper .mfd-ft-odds-box > div,
.mfd-odds-table-wrapper .mfd-ht-odds-box > div,
.mfd-odds-table-wrapper .keo_ft > div,
.mfd-odds-table-wrapper .keo_ht > div {
  min-width: 45px !important;
  text-align: center !important;
  padding: 2px 4px !important;
}

/* 1x2 odds column */
.mfd-odds-table-wrapper .mfd-1x2-odds {
  flex: 0 0 90px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 4px !important;
}

/* Team name in odds table */
.mfd-odds-table-wrapper .mfd-teams-box .team-name,
.mfd-odds-table-wrapper .mfd-teams-box span {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 150px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Team row in odds table */
.mfd-odds-table-wrapper .mfd-teams-box .team-row,
.mfd-odds-table-wrapper .mfd-teams-box > div {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 4px 0 !important;
}

/* ============================================
   FIX: SCHEDULE/RESULTS TABLE LAYOUT - v2.0.4
   FLATSOME COMPATIBLE
   ============================================ */

/* Container reset */
.mfd-schedule-wrapper,
.mfd-results-wrapper,
.mfd-livescores-wrapper {
  width: 100% !important;
}

/* League group header */
.mfd-schedule-wrapper .mfd-league-group-header,
.mfd-results-wrapper .mfd-league-group-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 15px !important;
  background: var(--mfd-gradient-header) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border-radius: var(--mfd-radius-md) var(--mfd-radius-md) 0 0 !important;
  margin-top: 15px !important;
}

.mfd-schedule-wrapper .mfd-league-group-header:first-child,
.mfd-results-wrapper .mfd-league-group-header:first-child {
  margin-top: 0 !important;
}

/* Match row container */
.mfd-schedule-wrapper .mfd-match-row,
.mfd-results-wrapper .mfd-match-row,
.mfd-schedule-wrapper .row.mfd-fixture-row,
.mfd-results-wrapper .row.mfd-fixture-row,
.mfd-schedule-wrapper .mfd-matchrow,
.mfd-results-wrapper .mfd-matchrow {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  min-height: 55px !important;
  padding: 4px 6px !important;
  background: var(--mfd-bg-card) !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
  transition: background 0.2s ease !important;
}

.mfd-schedule-wrapper .mfd-match-row:hover,
.mfd-results-wrapper .mfd-match-row:hover {
  background: var(--mfd-bg-active) !important;
}

/* Time column */
.mfd-schedule-wrapper .col-time,
.mfd-results-wrapper .col-time,
.mfd-schedule-wrapper [class*="col-"]:first-child,
.mfd-results-wrapper [class*="col-"]:first-child {
  flex: 0 0 60px !important;
  max-width: 60px !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Team columns */
.mfd-schedule-wrapper .col-team,
.mfd-results-wrapper .col-team {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

/* Home team - align right */
.mfd-schedule-wrapper .col-team.home,
.mfd-results-wrapper .col-team.home,
.mfd-schedule-wrapper .mfd-team-row.home,
.mfd-results-wrapper .mfd-team-row.home {
  justify-content: flex-end !important;
  text-align: right !important;
}

/* Away team - align left */
.mfd-schedule-wrapper .col-team.away,
.mfd-results-wrapper .col-team.away,
.mfd-schedule-wrapper .mfd-team-row.away,
.mfd-results-wrapper .mfd-team-row.away {
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Score column */
.mfd-schedule-wrapper .col-score,
.mfd-results-wrapper .col-score {
  flex: 0 0 80px !important;
  max-width: 80px !important;
  text-align: center !important;
}

.mfd-schedule-wrapper .mfd-score-display,
.mfd-results-wrapper .mfd-score-display {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 6px 12px !important;
  background: var(--mfd-bg-tertiary) !important;
  border-radius: var(--mfd-radius-sm) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Team info layout */
.mfd-team-row,
.mfd-team-info {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.mfd-team-row .team-name,
.mfd-team-info .team-name {
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Odds columns trong Schedule/Results */
.mfd-schedule-wrapper .col-odds,
.mfd-results-wrapper .col-odds {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 12px !important;
}

/* BXH link */
.mfd-schedule-wrapper .mfd-bxh-link,
.mfd-results-wrapper .mfd-bxh-link {
  color: var(--mfd-primary) !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

/* Status badges */
.mfd-match-status {
  display: inline-block !important;
  padding: 2px 6px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
}

.mfd-match-status.live {
  background: var(--mfd-live) !important;
  color: #fff !important;
  animation: mfd-pulse 1.5s infinite !important;
}

.mfd-match-status.ft {
  background: var(--mfd-bg-tertiary) !important;
  color: var(--mfd-text-secondary) !important;
}

.mfd-match-status.ns {
  background: var(--mfd-primary-light) !important;
  color: #fff !important;
}

/* ============================================
   FIX: RANKINGS TABLE LAYOUT - v2.0.4
   FLATSOME COMPATIBLE
   ============================================ */

/* Reset table styles cho Flatsome */
.mfd-standings-wrap table,
.mfd-standings-wrap table.mfd-standings-table,
table.mfd-standings-table,
table.mfd-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  margin: 0 !important;
}

/* Table header */
.mfd-standings-table thead,
table.mfd-standings-table thead {
  background: var(--mfd-gradient-header) !important;
}

.mfd-standings-table thead th,
table.mfd-standings-table thead th {
  padding: 12px 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-align: center !important;
  white-space: nowrap !important;
  border: none !important;
}

/* Table body rows */
.mfd-standings-table tbody tr,
table.mfd-standings-table tbody tr {
  background: var(--mfd-bg-card) !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
}

.mfd-standings-table tbody tr:nth-child(even),
table.mfd-standings-table tbody tr:nth-child(even) {
  background: var(--mfd-bg-secondary) !important;
}

.mfd-standings-table tbody tr:hover,
table.mfd-standings-table tbody tr:hover {
  background: var(--mfd-bg-active) !important;
}

/* Table cells */
.mfd-standings-table td,
table.mfd-standings-table td,
.mfd-standings-table tbody td {
  padding: 10px 8px !important;
  font-size: 13px !important;
  text-align: center !important;
  vertical-align: middle !important;
  border: none !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
}

/* Rank column */
.mfd-standings-table td.mfd-td-rank,
table.mfd-standings-table td:first-child {
  width: 40px !important;
  font-weight: 700 !important;
  color: var(--mfd-text-primary) !important;
}

/* Logo column */
.mfd-standings-table td.mfd-td-logo,
.mfd-standings-table td.mfd-team-logo-cell {
  width: 40px !important;
  padding: 8px 4px !important;
}

/* Team name column */
.mfd-standings-table td.mfd-td-team {
  text-align: left !important;
  font-weight: 600 !important;
  min-width: 120px !important;
}

/* Points column */
.mfd-standings-table td.mfd-td-pts,
.mfd-standings-table td.mfd-points {
  font-weight: 700 !important;
  color: var(--mfd-primary) !important;
  font-size: 14px !important;
}

/* Form column */
.mfd-standings-table td.mfd-td-form {
  min-width: 100px !important;
}

/* Form icons */
.mfd-form-icons {
  display: inline-flex !important;
  gap: 3px !important;
  align-items: center !important;
}

.mfd-form-icon {
  display: inline-flex !important;
  width: 20px !important;
  height: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  color: #fff !important;
}

.mfd-form-icon.win {
  background: var(--mfd-success) !important;
}

.mfd-form-icon.draw {
  background: var(--mfd-warning) !important;
  color: #333 !important;
}

.mfd-form-icon.lose {
  background: var(--mfd-danger) !important;
}

/* ============================================
   FIX: TOP SCORERS TABLE - v2.0.4
   FLATSOME COMPATIBLE - FIXED CLASS NAMES
   ============================================ */

/* Reset table styles */
.mfd-topscorers-wrap table,
table.mfd-topscorers-table,
.mfd-topscorers-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  margin: 0 !important;
}

/* Table header */
.mfd-topscorers-wrap table thead,
table.mfd-topscorers-table thead,
.mfd-topscorers-table thead {
  background: var(--mfd-gradient-header) !important;
}

.mfd-topscorers-wrap table thead th,
table.mfd-topscorers-table thead th,
.mfd-topscorers-table thead th {
  padding: 12px 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-align: center !important;
  white-space: nowrap !important;
  border: none !important;
}

/* Table body */
.mfd-topscorers-wrap table tbody tr,
table.mfd-topscorers-table tbody tr,
.mfd-topscorers-table tbody tr {
  background: var(--mfd-bg-card) !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
}

.mfd-topscorers-wrap table tbody tr:nth-child(even),
table.mfd-topscorers-table tbody tr:nth-child(even),
.mfd-topscorers-table tbody tr:nth-child(even) {
  background: var(--mfd-bg-secondary) !important;
}

.mfd-topscorers-wrap table tbody tr:hover,
table.mfd-topscorers-table tbody tr:hover,
.mfd-topscorers-table tbody tr:hover {
  background: var(--mfd-bg-active) !important;
}

/* Table cells */
.mfd-topscorers-wrap table td,
table.mfd-topscorers-table td,
.mfd-topscorers-table td {
  padding: 10px 8px !important;
  font-size: 13px !important;
  text-align: center !important;
  vertical-align: middle !important;
  border: none !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
}

/* Rank column */
.mfd-topscorers-wrap table td:first-child,
.mfd-topscorers-table td:first-child {
  width: 40px !important;
  font-weight: 700 !important;
}

/* Player name column */
.mfd-topscorers-wrap table td:nth-child(2),
.mfd-topscorers-table td:nth-child(2),
.mfd-topscorers-wrap td.mfd-player-name-ts {
  text-align: left !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Team column */
.mfd-topscorers-wrap table td:nth-child(3),
.mfd-topscorers-table td:nth-child(3) {
  text-align: left !important;
  white-space: nowrap !important;
}

/* Goals column */
.mfd-topscorers-wrap table td:nth-child(4),
.mfd-topscorers-table td:nth-child(4) {
  font-weight: 700 !important;
  color: var(--mfd-primary) !important;
  font-size: 15px !important;
}

/* ============================================
   RESPONSIVE FIX - Mobile v2.0.4
   ============================================ */

@media (max-width: 768px) {
  /* Giảm kích thước logo trên mobile */
  .mfd-rankings-wrapper img,
  .mfd-schedule-wrapper img,
  .mfd-results-wrapper img,
  .mfd-odds-table-wrapper img,
  .mfd-topscorers-wrap img {
    max-width: 20px !important;
    max-height: 20px !important;
    width: 20px !important;
    height: 20px !important;
  }

  /* ===== RANKINGS TABLE MOBILE - SCROLL HORIZONTAL ===== */
  .mfd-standings-wrap,
  .mfd-dynamic-content[data-type="rankings"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mfd-standings-table,
  table.mfd-standings-table {
    min-width: 600px !important;
    font-size: 11px !important;
  }

  .mfd-standings-table th,
  .mfd-standings-table td {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }

  .mfd-standings-table td.mfd-td-team {
    min-width: 100px !important;
  }

  /* ===== TOP SCORERS TABLE MOBILE - SCROLL HORIZONTAL ===== */
  .mfd-topscorers-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mfd-topscorers-table,
  table.mfd-topscorers-table {
    min-width: 500px !important;
    font-size: 11px !important;
  }

  .mfd-topscorers-table th,
  .mfd-topscorers-table td {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }

  /* ===== ODDS TABLE MOBILE ===== */
  .mfd-odds-table-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mfd-odds-table-wrapper .mfd-odds-table-container {
    min-width: 700px !important;
  }

  .mfd-odds-table-wrapper .list_match,
  .mfd-odds-table-wrapper .keo-dong {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    min-height: 60px !important;
  }

  .mfd-odds-table-wrapper .time_box {
    flex: 0 0 50px !important;
    max-width: 50px !important;
    font-size: 11px !important;
  }

  .mfd-odds-table-wrapper .mfd-teams-box {
    flex: 0 0 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
  }

  .mfd-odds-table-wrapper .mfd-teams-box .team-name,
  .mfd-odds-table-wrapper .mfd-teams-box span {
    max-width: 100px !important;
    font-size: 11px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mfd-odds-table-wrapper .mfd-ft-odds-box,
  .mfd-odds-table-wrapper .mfd-ht-odds-box {
    font-size: 11px !important;
  }

  /* ===== SCHEDULE/RESULTS MOBILE ===== */
  .mfd-schedule-wrapper,
  .mfd-results-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mfd-schedule-wrapper .mfd-match-row,
  .mfd-results-wrapper .mfd-match-row {
    min-width: 500px !important;
    font-size: 12px !important;
  }

  .mfd-team-row .team-name,
  .mfd-team-info .team-name {
    font-size: 11px !important;
    max-width: 80px !important;
  }

  /* ===== MATCH DETAILS LIGHTBOX MOBILE ===== */
  .mfd-match-details-lightbox-content {
    width: 95% !important;
    max-width: 95% !important;
    margin: 10px auto !important;
    padding: 10px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }

  .mfd-match-details-lightbox-content .mfd-detail-header {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .mfd-match-details-lightbox-content .mfd-detail-team-logo {
    width: 40px !important;
    height: 40px !important;
  }

  .mfd-match-details-lightbox-content .mfd-detail-team-name {
    font-size: 12px !important;
  }

  .mfd-match-details-lightbox-content .mfd-detail-score {
    font-size: 24px !important;
  }

  /* Stats table trong lightbox */
  .mfd-match-details-lightbox-content table {
    font-size: 11px !important;
  }

  .mfd-match-details-lightbox-content td,
  .mfd-match-details-lightbox-content th {
    padding: 4px !important;
  }

  /* ===== DATE SLIDER MOBILE ===== */
  .mfd-date-slider-container {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mfd-date-slider .mfd-date-item,
  .date-slider .date-button {
    min-width: 60px !important;
    padding: 4px 5px !important;
    font-size: 11px !important;
  }
}

/* ===== EXTRA SMALL SCREENS ===== */
@media (max-width: 480px) {
  .mfd-standings-table,
  .mfd-topscorers-table {
    font-size: 10px !important;
  }

  .mfd-standings-table th,
  .mfd-standings-table td,
  .mfd-topscorers-table th,
  .mfd-topscorers-table td {
    padding: 4px 2px !important;
  }

  .mfd-odds-table-wrapper .mfd-teams-box {
    flex: 0 0 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
  }

  .mfd-odds-table-wrapper .mfd-teams-box .team-name {
    max-width: 80px !important;
    font-size: 10px !important;
  }
}

/* ============================================
   V2.0.5 COMPREHENSIVE FIX - Schedule/Results/Odds/Lightbox
   Targeting exact PHP HTML structure
   ============================================ */

/* ============================================
   1. SCHEDULE & RESULTS - mfd_schedule, mfd_results
   ============================================ */

/* Main container */
.mfd-leagues-schedule {
  width: 100%;
}

/* Competition row */
.mfd-competition-row {
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-md);
  overflow: hidden;
}

/* Event header */
.mfd-event-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--mfd-space-md);
  background: var(--mfd-gradient-header);
  border-bottom: 1px solid var(--mfd-border);
}

.mfd-event-title {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  flex: 1;
  min-width: 0;
}

.mfd-event-title .mfd-comp-logo {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  object-fit: contain;
  flex-shrink: 0;
}

.mfd-event-country {
  color: var(--mfd-text-muted);
  font-size: var(--mfd-font-size-sm);
}

.mfd-event-name {
  color: #ffffff;
  font-size: var(--mfd-font-size-md);
  font-weight: var(--mfd-font-weight-bold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mfd-match-count {
  color: var(--mfd-text-muted);
  font-size: var(--mfd-font-size-xs);
  margin-left: var(--mfd-space-xs);
}

.mfd-seasonstable-link {
  color: var(--mfd-primary-light) !important;
  font-size: var(--mfd-font-size-sm);
  text-decoration: none !important;
  display: flex;
  align-items: center;
  gap: var(--mfd-space-xs);
  padding: var(--mfd-space-xs) var(--mfd-space-sm);
  border-radius: var(--mfd-radius-sm);
  transition: var(--mfd-transition-fast);
  flex-shrink: 0;
}

.mfd-seasonstable-link:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff !important;
}

/* Event matches container */
.mfd-event-matches {
  padding: var(--mfd-space-sm);
}

/* Match row - THE FIX: Target nested .row inside .mfd-matchrow */
.mfd-matchrow {
  margin-bottom: var(--mfd-space-sm);
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border-light);
  border-radius: var(--mfd-radius-sm);
  transition: var(--mfd-transition-fast);
  cursor: pointer;
  overflow: hidden;
}

.mfd-matchrow:hover {
  border-color: var(--mfd-primary);
  box-shadow: var(--mfd-shadow-sm);
}

.mfd-matchrow > .row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  min-height: 60px;
  margin: 0 !important;
}

/* Time column */
.mfd-matchrow .col-time {
  flex: 0 0 70px !important;
  max-width: 70px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--mfd-space-sm) !important;
  background: var(--mfd-bg-secondary);
  border-right: 1px solid var(--mfd-border-light);
  text-align: center;
}

.mfd-matchrow .mfd-match-time {
  font-size: var(--mfd-font-size-md);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  line-height: 1.2;
}

.mfd-matchrow .mfd-match-time.live {
  color: var(--mfd-live);
  animation: mfd-pulse 1.5s ease-in-out infinite;
}

.mfd-matchrow .mfd-match-status-short {
  font-size: var(--mfd-font-size-2xs);
  color: var(--mfd-text-muted);
  text-transform: uppercase;
  margin-top: 2px;
}

.mfd-matchrow .mfd-match-status-short.live {
  color: var(--mfd-live);
  font-weight: var(--mfd-font-weight-bold);
}

/* Teams column */
.mfd-matchrow .col-match {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: var(--mfd-space-sm) var(--mfd-space-md) !important;
  gap: var(--mfd-space-xs);
}

.mfd-team-home,
.mfd-team-away {
  display: flex !important;
  align-items: center !important;
  gap: var(--mfd-space-sm) !important;
}

.mfd-matchrow .mfd-team-logo {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  object-fit: contain !important;
  flex-shrink: 0;
  border-radius: var(--mfd-radius-xs);
  background: var(--mfd-bg-tertiary);
  padding: 2px;
}

.mfd-matchrow .mfd-team-name {
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-medium);
  color: var(--mfd-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

/* Score column */
.mfd-matchrow .col-score {
  flex: 0 0 50px !important;
  max-width: 50px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--mfd-space-sm) !important;
  background: var(--mfd-bg-tertiary);
  border-left: 1px solid var(--mfd-border-light);
  border-right: 1px solid var(--mfd-border-light);
}

.mfd-matchrow .col-score.live {
  background: var(--mfd-gradient-live);
}

.mfd-matchrow .mfd-score-home,
.mfd-matchrow .mfd-score-away {
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  line-height: 1.3;
}

.mfd-matchrow .col-score.live .mfd-score-home,
.mfd-matchrow .col-score.live .mfd-score-away {
  color: #ffffff;
}

/* HT Score column */
.mfd-matchrow .col-ht {
  flex: 0 0 45px !important;
  max-width: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--mfd-space-xs) !important;
}

.mfd-matchrow .mfd-score-ht {
  font-size: var(--mfd-font-size-xs);
  color: var(--mfd-text-muted);
  white-space: nowrap;
}

/* Odds column */
.mfd-matchrow .col-odds {
  flex: 0 0 auto !important;
  min-width: 200px !important;
  display: flex !important;
  align-items: center !important;
  padding: var(--mfd-space-xs) var(--mfd-space-sm) !important;
}

.mfd-matchrow .mfd-box-odds {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  gap: 2px;
}

.mfd-matchrow .col-odds-ah,
.mfd-matchrow .col-odds-ou,
.mfd-matchrow .col-odds-1x2 {
  flex: 1 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.mfd-matchrow .text_odds {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px;
}

.mfd-matchrow .clb_tr {
  display: flex;
  gap: 2px;
  font-size: var(--mfd-font-size-xs);
}

.mfd-matchrow .clb_tr span {
  flex: 1;
  text-align: center;
  padding: 2px 4px;
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-xs);
  font-weight: var(--mfd-font-weight-medium);
  color: var(--mfd-text-primary);
  white-space: nowrap;
  font-size: 11px;
}

.mfd-matchrow .asia1,
.mfd-matchrow .bs1 {
  color: var(--mfd-primary) !important;
  font-weight: var(--mfd-font-weight-bold) !important;
}

.mfd-matchrow .eu1 span[data-label]::before,
.mfd-matchrow .clb_tr span[data-label]::before {
  content: attr(data-label) " ";
  font-size: 9px;
  color: var(--mfd-text-muted);
}

/* Live match styling */
.mfd-matchrow.mfd-match-live {
  border-color: var(--mfd-live);
  background: linear-gradient(135deg, rgba(255, 23, 68, 0.03) 0%, rgba(255, 107, 0, 0.03) 100%);
}

.mfd-matchrow.mfd-match-live::before {
  content: 'LIVE';
  position: absolute;
  top: 0;
  right: 0;
  padding: 2px 8px;
  background: var(--mfd-gradient-live);
  color: #ffffff;
  font-size: 9px;
  font-weight: var(--mfd-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 0 var(--mfd-radius-sm) 0 var(--mfd-radius-sm);
}

/* Finished match styling */
.mfd-matchrow.mfd-match-finished {
  opacity: 0.85;
}

.mfd-matchrow.mfd-match-finished:hover {
  opacity: 1;
}

/* ============================================
   2. ODDS TABLE - mfd_odds_table
   ============================================ */

/* Main wrapper */
.mfd-odds-table-wrapper {
  width: 100%;
}

/* Header row */
.mfd-odds-table-header {
  display: flex;
  align-items: center;
  background: var(--mfd-gradient-header);
  padding: var(--mfd-space-md);
  border-radius: var(--mfd-radius-md) var(--mfd-radius-md) 0 0;
  margin-bottom: 0;
}

.mfd-odds-table-header > div {
  color: #ffffff !important;
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  text-transform: uppercase;
}

/* League group */
.mfd-league-group,
.vnk_fullbox.container.mfd-league-group {
  background: var(--mfd-bg-card);
  border: 1px solid var(--mfd-border);
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-md);
  overflow: hidden;
  padding: 0 !important;
}

/* Title competition */
.title-competition {
  display: flex;
  align-items: center;
  padding: var(--mfd-space-sm) var(--mfd-space-md);
  background: var(--mfd-gradient-header);
  color: #ffffff;
}

.title-competition img {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  object-fit: contain;
  margin-right: var(--mfd-space-sm);
}

.title-competition span {
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
}

/* Match row in odds table */
.list_match.keo-dong.mfd-match-row,
.mfd-match-row.list_match {
  background: var(--mfd-bg-card) !important;
  border: none !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.list_match.keo-dong.mfd-match-row:hover,
.mfd-match-row.list_match:hover {
  background: var(--mfd-bg-hover) !important;
  transform: none !important;
}

.list_match.keo-dong.mfd-match-row:last-child {
  border-bottom: none !important;
  border-radius: 0 0 var(--mfd-radius-md) var(--mfd-radius-md) !important;
}

/* Inner row */
.list_match > .row,
.mfd-match-row.list_match > .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  align-items: stretch !important;
}

/* Time box in odds table */
.list_match .time_box,
.mfd-match-row .time_box {
  background: var(--mfd-bg-secondary) !important;
  min-width: 70px !important;
  border-right: 1px solid var(--mfd-border-light) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: var(--mfd-space-sm) !important;
}

.time_box .date_play {
  font-size: var(--mfd-font-size-xs) !important;
  color: var(--mfd-text-muted) !important;
  margin: 0 0 2px 0 !important;
}

.time_box .match-time {
  font-size: var(--mfd-font-size-md) !important;
  font-weight: var(--mfd-font-weight-bold) !important;
  color: var(--mfd-primary) !important;
}

/* Teams box in odds table */
.list_match .mfd-teams-box,
.mfd-match-row .mfd-teams-box {
  display: flex !important;
  align-items: center !important;
  padding: var(--mfd-space-sm) !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.mfd-teams-box table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.mfd-teams-box td {
  padding: 3px 5px !important;
  border: none !important;
}

.mfd-teams-box td span {
  display: block !important;
  font-size: var(--mfd-font-size-sm) !important;
  color: var(--mfd-text-primary) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 160px !important;
}

.mfd-teams-box tr:nth-child(3) td span {
  color: var(--mfd-text-muted) !important;
  font-style: italic !important;
}

/* FT & HT Odds boxes */
.mfd-ft-odds-box,
.mfd-ht-odds-box {
  border-left: 1px solid var(--mfd-border-light) !important;
  padding: var(--mfd-space-xs) !important;
}

.mfd-ft-odds-box table,
.mfd-ht-odds-box table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.mfd-ft-odds-box th,
.mfd-ft-odds-box td,
.mfd-ht-odds-box th,
.mfd-ht-odds-box td {
  padding: 2px 4px !important;
  border: none !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.mfd-ft-odds-box span,
.mfd-ht-odds-box span {
  display: inline-block !important;
  min-width: 32px !important;
  padding: 2px 4px !important;
  text-align: center !important;
  font-size: var(--mfd-font-size-xs) !important;
  font-weight: var(--mfd-font-weight-medium) !important;
  color: var(--mfd-text-primary) !important;
  background: var(--mfd-bg-secondary) !important;
  border-radius: var(--mfd-radius-xs) !important;
  transition: var(--mfd-transition-fast) !important;
}

.mfd-ft-odds-box span:hover,
.mfd-ht-odds-box span:hover {
  background: var(--mfd-primary) !important;
  color: #ffffff !important;
}

.mfd-ft-odds-box .do,
.mfd-ht-odds-box .do,
.mfd-ft-odds-box .order_one span,
.mfd-ht-odds-box .order_one span {
  color: var(--mfd-primary) !important;
  font-weight: var(--mfd-font-weight-bold) !important;
}

/* HT label on mobile */
.mfd-ht-odds-box .h_one_mobi label {
  font-size: var(--mfd-font-size-xs) !important;
  color: var(--mfd-text-muted) !important;
  font-weight: var(--mfd-font-weight-semibold) !important;
}

/* Corner odds toggle */
.mfd-corner-odds-row {
  border-top: 1px solid var(--mfd-border-light) !important;
}

.mfd-corner-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--mfd-space-xs) !important;
  padding: var(--mfd-space-sm) !important;
  background: var(--mfd-bg-secondary) !important;
  color: var(--mfd-text-secondary) !important;
  font-size: var(--mfd-font-size-xs) !important;
  cursor: pointer !important;
  transition: var(--mfd-transition-fast) !important;
  margin: 0 !important;
}

.mfd-corner-toggle:hover {
  background: var(--mfd-bg-tertiary) !important;
  color: var(--mfd-primary) !important;
}

.mfd-corner-odds-content {
  background: var(--mfd-bg-secondary) !important;
}

.mfd-corner-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: var(--mfd-font-size-xs) !important;
}

.mfd-corner-table th,
.mfd-corner-table td {
  padding: var(--mfd-space-sm) !important;
  border: 1px solid var(--mfd-border-light) !important;
  text-align: center !important;
}

.mfd-corner-table th {
  background: var(--mfd-bg-tertiary) !important;
  font-weight: var(--mfd-font-weight-semibold) !important;
}

/* ============================================
   3. MATCH DETAILS LIGHTBOX - FIXED
   ============================================ */

/* Lightbox container - fixed fullscreen */
.mfd-lightbox {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 9999 !important;
  display: none;
}

/* Lightbox visible state - use flex for centering */
.mfd-lightbox[style*="display: block"],
.mfd-lightbox[style*="display:block"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Lightbox overlay - fixed fullscreen behind content */
.mfd-lightbox .mfd-lightbox-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1 !important;
}

/* Lightbox content - centered */
.mfd-lightbox .mfd-lightbox-content {
  position: fixed !important;
  width: 90% !important;
  max-width: 900px !important;
  max-height: 85vh !important;
  background: var(--mfd-bg-card) !important;
  border-radius: var(--mfd-radius-xl) !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  z-index: 2 !important;
  margin: auto !important;
}

/* Lightbox title */
.mfd-lightbox .mfd-lightbox-title {
  padding: var(--mfd-space-lg) var(--mfd-space-xl);
  padding-right: 60px;
  background: var(--mfd-gradient-header);
  color: #ffffff !important;
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-bold);
  margin: 0;
  border: none;
}

/* Lightbox close button */
.mfd-lightbox .mfd-lightbox-close {
  position: absolute;
  top: var(--mfd-space-md);
  right: var(--mfd-space-md);
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  border-radius: var(--mfd-radius-full);
  cursor: pointer;
  transition: var(--mfd-transition-fast);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.mfd-lightbox .mfd-lightbox-close:hover {
  background: var(--mfd-danger);
  transform: scale(1.1);
}

/* Lightbox body */
.mfd-lightbox .mfd-lightbox-body {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}

/* Match detail header */
.mfd-match-detail-header {
  padding: var(--mfd-space-lg);
  background: var(--mfd-bg-secondary);
  text-align: center;
}

.mfd-match-detail-header .mfd-detail-teams-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mfd-space-xl);
  margin-bottom: var(--mfd-space-md);
}

.mfd-match-detail-header .mfd-detail-team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mfd-space-sm);
  flex: 1;
  max-width: 150px;
}

.mfd-match-detail-header .mfd-detail-team-logo {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: contain;
}

.mfd-match-detail-header .mfd-detail-team-name {
  font-size: var(--mfd-font-size-md);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  text-align: center;
}

.mfd-match-detail-header .mfd-detail-score-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mfd-space-xs);
}

.mfd-match-detail-header .mfd-detail-score {
  font-size: var(--mfd-font-size-3xl);
  font-weight: var(--mfd-font-weight-extrabold);
  color: var(--mfd-primary);
}

.mfd-match-detail-header .mfd-detail-vs {
  font-size: var(--mfd-font-size-xl);
  color: var(--mfd-text-muted);
}

.mfd-match-detail-header .mfd-detail-status {
  display: inline-block;
  padding: var(--mfd-space-xs) var(--mfd-space-md);
  background: var(--mfd-bg-tertiary);
  border-radius: var(--mfd-radius-full);
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-secondary);
}

.mfd-match-detail-header .mfd-detail-status.live {
  background: var(--mfd-gradient-live);
  color: #ffffff;
  animation: mfd-pulse 1.5s ease-in-out infinite;
}

/* Tab navigation */
.mfd-match-detail-tabs .mfd-tab-nav,
.mfd-tab-nav {
  display: flex;
  gap: 0;
  padding: 0;
  background: var(--mfd-bg-secondary);
  border-bottom: 1px solid var(--mfd-border);
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mfd-tab-nav::-webkit-scrollbar {
  display: none;
}

.mfd-tab-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mfd-tab-nav a,
.mfd-tab-link {
  display: block;
  padding: var(--mfd-space-md) var(--mfd-space-lg);
  color: var(--mfd-text-secondary);
  text-decoration: none !important;
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-semibold);
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: var(--mfd-transition-fast);
}

.mfd-tab-nav a:hover,
.mfd-tab-link:hover {
  color: var(--mfd-text-primary);
  background: var(--mfd-bg-hover);
}

.mfd-tab-nav a.active,
.mfd-tab-nav li.active a,
.mfd-tab-link.active {
  color: var(--mfd-primary);
  border-bottom-color: var(--mfd-primary);
}

/* Tab panes */
.mfd-tab-pane {
  display: none;
  padding: var(--mfd-space-lg);
}

.mfd-tab-pane.active {
  display: block;
}

/* Events list in lightbox */
.mfd-events-list {
  display: flex;
  flex-direction: column;
  gap: var(--mfd-space-sm);
}

.mfd-event-item {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md);
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-md);
}

.mfd-event-time {
  flex: 0 0 40px;
  font-size: var(--mfd-font-size-sm);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-primary);
  text-align: center;
}

.mfd-event-icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.mfd-event-detail {
  flex: 1;
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-primary);
}

.mfd-event-player {
  font-weight: var(--mfd-font-weight-semibold);
}

.mfd-event-assist {
  color: var(--mfd-text-muted);
  font-size: var(--mfd-font-size-xs);
}

/* Stats table in lightbox */
.mfd-stats-table {
  width: 100%;
  border-collapse: collapse;
}

.mfd-stats-table tr {
  border-bottom: 1px solid var(--mfd-border-light);
}

.mfd-stats-table tr:last-child {
  border-bottom: none;
}

.mfd-stats-table td {
  padding: var(--mfd-space-md);
  vertical-align: middle;
}

.mfd-stats-table td:first-child,
.mfd-stats-table td:last-child {
  width: 80px;
  text-align: center;
  font-size: var(--mfd-font-size-lg);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
}

.mfd-stats-table td:nth-child(2) {
  text-align: center;
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-secondary);
}

/* Stats bar */
.mfd-stats-bar {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  margin-top: var(--mfd-space-xs);
}

.mfd-stats-bar-home,
.mfd-stats-bar-away {
  height: 6px;
  border-radius: var(--mfd-radius-full);
  transition: var(--mfd-transition-normal);
}

.mfd-stats-bar-home {
  background: var(--mfd-home);
  flex: 1;
}

.mfd-stats-bar-away {
  background: var(--mfd-away);
  flex: 1;
}

/* Lineups in lightbox */
.mfd-lineups-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--mfd-space-lg);
}

.mfd-lineup-team {
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-md);
  overflow: hidden;
}

.mfd-lineup-team-header {
  padding: var(--mfd-space-md);
  background: var(--mfd-bg-tertiary);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  text-align: center;
}

.mfd-lineup-team-header.home {
  background: linear-gradient(135deg, var(--mfd-home), rgba(0, 102, 255, 0.7));
  color: #ffffff;
}

.mfd-lineup-team-header.away {
  background: linear-gradient(135deg, var(--mfd-away), rgba(255, 107, 0, 0.7));
  color: #ffffff;
}

.mfd-lineup-section {
  padding: var(--mfd-space-md);
}

.mfd-lineup-section-title {
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-semibold);
  color: var(--mfd-text-muted);
  text-transform: uppercase;
  margin-bottom: var(--mfd-space-sm);
}

.mfd-lineup-player {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-sm);
  padding: var(--mfd-space-xs) 0;
}

.mfd-lineup-player-number {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  background: var(--mfd-bg-tertiary);
  border-radius: var(--mfd-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--mfd-font-size-xs);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
}

.mfd-lineup-player-name {
  flex: 1;
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-primary);
}

/* H2H in lightbox */
.mfd-h2h-section {
  margin-bottom: var(--mfd-space-lg);
}

.mfd-h2h-section-title {
  font-size: var(--mfd-font-size-md);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
  margin-bottom: var(--mfd-space-md);
  padding-bottom: var(--mfd-space-sm);
  border-bottom: 2px solid var(--mfd-primary);
}

.mfd-h2h-match {
  display: flex;
  align-items: center;
  gap: var(--mfd-space-md);
  padding: var(--mfd-space-md);
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-md);
  margin-bottom: var(--mfd-space-sm);
}

.mfd-h2h-date {
  flex: 0 0 80px;
  font-size: var(--mfd-font-size-xs);
  color: var(--mfd-text-muted);
  text-align: center;
}

.mfd-h2h-teams {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mfd-space-md);
  font-size: var(--mfd-font-size-sm);
}

.mfd-h2h-score {
  padding: var(--mfd-space-xs) var(--mfd-space-md);
  background: var(--mfd-bg-tertiary);
  border-radius: var(--mfd-radius-sm);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-text-primary);
}

/* Predictions in lightbox */
.mfd-predictions-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--mfd-space-md);
}

.mfd-prediction-item {
  background: var(--mfd-bg-secondary);
  border-radius: var(--mfd-radius-md);
  padding: var(--mfd-space-lg);
  text-align: center;
}

.mfd-prediction-label {
  font-size: var(--mfd-font-size-sm);
  color: var(--mfd-text-muted);
  margin-bottom: var(--mfd-space-sm);
}

.mfd-prediction-value {
  font-size: var(--mfd-font-size-xl);
  font-weight: var(--mfd-font-weight-bold);
  color: var(--mfd-primary);
}

.mfd-prediction-bar {
  height: 8px;
  background: var(--mfd-bg-tertiary);
  border-radius: var(--mfd-radius-full);
  overflow: hidden;
  margin-top: var(--mfd-space-md);
}

.mfd-prediction-bar-fill {
  height: 100%;
  background: var(--mfd-gradient-primary);
  border-radius: var(--mfd-radius-full);
  transition: var(--mfd-transition-normal);
}

/* ============================================
   4. MOBILE RESPONSIVE - All 3 shortcodes
   ============================================ */

@media (max-width: 991px) {
  /* Odds table - hide HT on tablet */
  .mfd-ht-odds-box .d-md-none {
    display: flex !important;
  }

  .mfd-odds-table-header .col-ht-header {
    display: none !important;
  }
}

@media (max-width: 767px) {
  /* Schedule/Results mobile */
  .mfd-event-header {
    flex-wrap: wrap;
    gap: var(--mfd-space-sm);
  }

  .mfd-event-title {
    flex: 1 1 100%;
  }

  .mfd-seasonstable-link {
    flex: 0 0 auto;
  }

  .mfd-matchrow > .row {
    flex-wrap: wrap !important;
  }

  .mfd-matchrow .col-time {
    flex: 0 0 60px !important;
    max-width: 60px !important;
  }

  .mfd-matchrow .col-match {
    flex: 1 1 calc(100% - 130px) !important;
    min-width: 120px !important;
  }

  .mfd-matchrow .col-score {
    flex: 0 0 50px !important;
    max-width: 50px !important;
  }

  .mfd-matchrow .col-ht {
    display: none !important;
  }

  .mfd-matchrow .col-odds {
    flex: 1 1 100% !important;
    min-width: 100% !important;
    border-top: 1px solid var(--mfd-border-light);
    padding: var(--mfd-space-sm) !important;
  }

  .mfd-matchrow .mfd-team-logo {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
  }

  .mfd-matchrow .mfd-team-name {
    font-size: var(--mfd-font-size-xs);
  }

  /* Odds table mobile */
  .list_match > .row > .mlam,
  .mfd-match-row > .row > .mlam {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .mfd-ft-odds-box {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .mfd-ht-odds-box {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    border-top: 1px solid var(--mfd-border-light) !important;
    border-left: none !important;
  }

  .mfd-teams-box td span {
    max-width: 100px !important;
    font-size: var(--mfd-font-size-xs) !important;
  }

  .mfd-ft-odds-box span,
  .mfd-ht-odds-box span {
    min-width: 28px !important;
    font-size: 10px !important;
  }

  /* Lightbox mobile - fullscreen */
  .mfd-lightbox .mfd-lightbox-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 100% !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  .mfd-lightbox .mfd-lightbox-title {
    padding: var(--mfd-space-md) !important;
    padding-right: 50px !important;
    font-size: var(--mfd-font-size-md) !important;
  }

  .mfd-lightbox .mfd-lightbox-body {
    flex: 1 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mfd-lightbox .mfd-lightbox-close {
    top: var(--mfd-space-sm) !important;
    right: var(--mfd-space-sm) !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 20px !important;
  }

  .mfd-match-detail-header .mfd-detail-teams-score {
    gap: var(--mfd-space-md);
  }

  .mfd-match-detail-header .mfd-detail-team-logo {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }

  .mfd-match-detail-header .mfd-detail-team-name {
    font-size: var(--mfd-font-size-sm);
  }

  .mfd-match-detail-header .mfd-detail-score {
    font-size: var(--mfd-font-size-2xl);
  }

  .mfd-tab-nav a,
  .mfd-tab-link {
    padding: var(--mfd-space-sm) var(--mfd-space-md);
    font-size: var(--mfd-font-size-xs);
  }

  .mfd-lineups-container {
    grid-template-columns: 1fr;
  }

  .mfd-predictions-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  /* Extra small screens */
  .mfd-matchrow .col-time {
    flex: 0 0 50px !important;
    max-width: 50px !important;
  }

  .mfd-matchrow .mfd-match-time {
    font-size: var(--mfd-font-size-sm);
  }

  .mfd-matchrow .col-score {
    flex: 0 0 40px !important;
    max-width: 40px !important;
  }

  .mfd-matchrow .mfd-score-home,
  .mfd-matchrow .mfd-score-away {
    font-size: var(--mfd-font-size-md);
  }

  .mfd-matchrow .clb_tr span {
    font-size: 10px;
    padding: 1px 2px;
  }

  .list_match > .row > .mlam,
  .mfd-match-row > .row > .mlam {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .mfd-ft-odds-box {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    border-left: none !important;
    border-top: 1px solid var(--mfd-border-light) !important;
  }

  .time_box {
    min-width: 60px !important;
  }

  .mfd-teams-box td span {
    max-width: 140px !important;
  }

  .mfd-predictions-container {
    grid-template-columns: 1fr;
  }

  .mfd-h2h-match {
    flex-wrap: wrap;
  }

  .mfd-h2h-date {
    flex: 0 0 100%;
    margin-bottom: var(--mfd-space-xs);
  }
}

/* ============================================
   5. FLATSOME THEME COMPATIBILITY OVERRIDES
   ============================================ */

/* Ensure our styles override Flatsome */
.mfd-leagues-schedule,
.mfd-odds-table-wrapper,
.mfd-schedule-wrapper,
.mfd-results-wrapper,
.mfd-lightbox {
  font-family: var(--mfd-font-family) !important;
}

/* Image resets for Flatsome */
.mfd-leagues-schedule img,
.mfd-odds-table-wrapper img,
.mfd-lightbox img,
.mfd-matchrow img,
.mfd-match-row img,
.list_match img,
.keo-dong img {
  max-width: none !important;
  height: auto !important;
  border-radius: var(--mfd-radius-xs) !important;
}

/* Specific logo size overrides */
.mfd-matchrow .mfd-team-logo,
.mfd-matchrow img.mfd-team-logo,
.mfd-event-title .mfd-comp-logo,
.mfd-event-title img.mfd-comp-logo,
.title-competition img {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  object-fit: contain !important;
}

/* Reset Flatsome container padding */
.mfd-leagues-schedule .container,
.mfd-leagues-schedule .container-fluid,
.mfd-odds-table-wrapper .container,
.mfd-odds-table-wrapper .container-fluid,
.vnk_fullbox.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Reset Flatsome row margins */
.mfd-matchrow .row,
.list_match .row,
.mfd-match-row .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Reset Flatsome column padding */
.mfd-matchrow [class*="col-"],
.list_match [class*="col-"],
.mfd-match-row [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================
   6. CRITICAL FIX: Schedule/Results Row Layout
   Override Bootstrap/Flatsome .row completely
   ============================================ */

/* Force row to be flex with full width */
.mfd-leagues-schedule .mfd-matchrow > .row,
.mfd-schedule-wrapper .mfd-matchrow > .row,
.mfd-results-wrapper .mfd-matchrow > .row,
.mfd-event-matches .mfd-matchrow > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Time column - fixed width */
.mfd-leagues-schedule .mfd-matchrow .col-time,
.mfd-event-matches .mfd-matchrow .col-time {
  flex: 0 0 70px !important;
  width: 70px !important;
  max-width: 70px !important;
  min-width: 70px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  background: var(--mfd-bg-secondary) !important;
  border-right: 1px solid var(--mfd-border-light) !important;
}

/* Match/Teams column - flexible, takes remaining space */
.mfd-leagues-schedule .mfd-matchrow .col-match,
.mfd-event-matches .mfd-matchrow .col-match {
  flex: 1 1 auto !important;
  min-width: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 8px 12px !important;
  gap: 4px !important;
}

/* Score column - fixed width */
.mfd-leagues-schedule .mfd-matchrow .col-score,
.mfd-event-matches .mfd-matchrow .col-score {
  flex: 0 0 55px !important;
  width: 55px !important;
  max-width: 55px !important;
  min-width: 55px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  background: var(--mfd-bg-tertiary) !important;
  border-left: 1px solid var(--mfd-border-light) !important;
  border-right: 1px solid var(--mfd-border-light) !important;
}

/* HT column - fixed width */
.mfd-leagues-schedule .mfd-matchrow .col-ht,
.mfd-event-matches .mfd-matchrow .col-ht {
  flex: 0 0 50px !important;
  width: 50px !important;
  max-width: 50px !important;
  min-width: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
}

/* Odds column - fixed width on desktop */
.mfd-leagues-schedule .mfd-matchrow .col-odds,
.mfd-event-matches .mfd-matchrow .col-odds {
  flex: 0 0 220px !important;
  width: 220px !important;
  max-width: 220px !important;
  min-width: 220px !important;
  display: flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
}

/* Odds inner row */
.mfd-leagues-schedule .mfd-matchrow .mfd-box-odds,
.mfd-event-matches .mfd-matchrow .mfd-box-odds {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  margin: 0 !important;
  gap: 4px !important;
}

/* Odds sub-columns equal width */
.mfd-leagues-schedule .mfd-matchrow .col-odds-ah,
.mfd-leagues-schedule .mfd-matchrow .col-odds-ou,
.mfd-leagues-schedule .mfd-matchrow .col-odds-1x2,
.mfd-event-matches .mfd-matchrow .col-odds-ah,
.mfd-event-matches .mfd-matchrow .col-odds-ou,
.mfd-event-matches .mfd-matchrow .col-odds-1x2 {
  flex: 1 1 33.333% !important;
  width: 33.333% !important;
  padding: 0 !important;
}

/* ============================================
   7. CRITICAL FIX: Odds Table Mobile Overflow
   ============================================ */

/* Main odds wrapper with overflow */
.mfd-odds-table-wrapper {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* League group container */
.mfd-odds-table-wrapper .mfd-league-group,
.mfd-odds-table-wrapper .vnk_fullbox {
  min-width: 700px !important;
}

/* Odds match row minimum width */
.mfd-odds-table-wrapper .list_match,
.mfd-odds-table-wrapper .keo-dong,
.mfd-odds-table-wrapper .mfd-match-row {
  min-width: 700px !important;
}

/* Mobile specific for Odds Table - DEPRECATED: Moved to Section 10 */
/* @media (max-width: 767px) - See "CRITICAL FIX v2.0.8" section below */

/* ============================================
   8. Schedule/Results Mobile Layout
   ============================================ */

@media (max-width: 767px) {
  /* Allow row to wrap on mobile */
  .mfd-leagues-schedule .mfd-matchrow > .row,
  .mfd-event-matches .mfd-matchrow > .row {
    flex-wrap: wrap !important;
  }

  /* Time - smaller on mobile */
  .mfd-leagues-schedule .mfd-matchrow .col-time,
  .mfd-event-matches .mfd-matchrow .col-time {
    flex: 0 0 55px !important;
    width: 55px !important;
    min-width: 55px !important;
    max-width: 55px !important;
  }

  /* Teams - expand to fill */
  .mfd-leagues-schedule .mfd-matchrow .col-match,
  .mfd-event-matches .mfd-matchrow .col-match {
    flex: 1 1 calc(100% - 130px) !important;
    min-width: 100px !important;
    max-width: calc(100% - 130px) !important;
  }

  /* Score - same size */
  .mfd-leagues-schedule .mfd-matchrow .col-score,
  .mfd-event-matches .mfd-matchrow .col-score {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
  }

  /* Hide HT on mobile */
  .mfd-leagues-schedule .mfd-matchrow .col-ht,
  .mfd-event-matches .mfd-matchrow .col-ht {
    display: none !important;
  }

  /* Odds - full width on new line */
  .mfd-leagues-schedule .mfd-matchrow .col-odds,
  .mfd-event-matches .mfd-matchrow .col-odds {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    border-top: 1px solid var(--mfd-border-light) !important;
    padding: 8px !important;
    margin-top: 0 !important;
  }

  /* Smaller team logos on mobile */
  .mfd-leagues-schedule .mfd-matchrow .mfd-team-logo,
  .mfd-event-matches .mfd-matchrow .mfd-team-logo {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
  }

  /* Smaller team names */
  .mfd-leagues-schedule .mfd-matchrow .mfd-team-name,
  .mfd-event-matches .mfd-matchrow .mfd-team-name {
    font-size: 12px !important;
  }
}

@media (max-width: 480px) {
  /* Even smaller on very small screens */
  .mfd-leagues-schedule .mfd-matchrow .col-time,
  .mfd-event-matches .mfd-matchrow .col-time {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    padding: 6px !important;
  }

  .mfd-leagues-schedule .mfd-matchrow .col-score,
  .mfd-event-matches .mfd-matchrow .col-score {
    flex: 0 0 45px !important;
    width: 45px !important;
    min-width: 45px !important;
    max-width: 45px !important;
  }

  .mfd-leagues-schedule .mfd-matchrow .col-match,
  .mfd-event-matches .mfd-matchrow .col-match {
    flex: 1 1 calc(100% - 95px) !important;
    max-width: calc(100% - 95px) !important;
    padding: 6px 8px !important;
  }

  .mfd-leagues-schedule .mfd-matchrow .mfd-team-name,
  .mfd-event-matches .mfd-matchrow .mfd-team-name {
    font-size: 11px !important;
  }

  /* Odds cells smaller */
  .mfd-leagues-schedule .mfd-matchrow .clb_tr span,
  .mfd-event-matches .mfd-matchrow .clb_tr span {
    font-size: 10px !important;
    padding: 2px 3px !important;
  }
}

/* ============================================
   9. CRITICAL FIX v2.0.7: Header Sync + Odds Table Complete Rewrite
   ============================================ */

/* ===== SCHEDULE/RESULTS HEADER - Sync với Data Row ===== */
.mfd-match-header {
  background: var(--mfd-bg-secondary) !important;
  border-bottom: 2px solid var(--mfd-border) !important;
  margin-bottom: 0 !important;
}

.mfd-match-header > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  min-height: 40px !important;
}

.mfd-match-header .col-time {
  flex: 0 0 70px !important;
  width: 70px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mfd-text-secondary) !important;
}

.mfd-match-header .col-match {
  flex: 1 1 auto !important;
  min-width: 150px !important;
  text-align: left !important;
  padding-left: 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mfd-text-secondary) !important;
}

.mfd-match-header .col-score {
  flex: 0 0 55px !important;
  width: 55px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mfd-text-secondary) !important;
}

.mfd-match-header .col-ht {
  flex: 0 0 50px !important;
  width: 50px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mfd-text-secondary) !important;
}

.mfd-match-header .col-odds {
  flex: 0 0 220px !important;
  width: 220px !important;
  padding: 0 8px !important;
}

.mfd-match-header .col-odds .row,
.mfd-match-header .mfd-box-odds-header {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  margin: 0 !important;
  gap: 4px !important;
}

.mfd-match-header .col-odds-ah,
.mfd-match-header .col-odds-ou,
.mfd-match-header .col-odds-1x2 {
  flex: 1 1 33.333% !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--mfd-text-secondary) !important;
  padding: 4px 0 !important;
  background: var(--mfd-bg-tertiary) !important;
  border-radius: 4px !important;
}

/* ===== ODDS TABLE - COMPLETE REWRITE ===== */

/* Main container with horizontal scroll */
.mfd-odds-table-wrapper {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Header row - ODDS TABLE */
.mfd-odds-table-header,
.head_pro.row.mfd-odds-table-header {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  background: var(--mfd-gradient-header) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: var(--mfd-radius-md) var(--mfd-radius-md) 0 0 !important;
  min-width: 800px !important;
  width: 100% !important;
}

.mfd-odds-table-header > [class*="col-"] {
  padding: 10px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mfd-odds-table-header label {
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* Header columns sizing */
.mfd-odds-table-header > .col-2,
.mfd-odds-table-header > [class*="col-"]:first-child {
  flex: 0 0 70px !important;
  max-width: 70px !important;
  min-width: 70px !important;
}

.mfd-odds-table-header > .col-4:nth-child(2),
.mfd-odds-table-header > [class*="col-"]:nth-child(2) {
  flex: 0 0 180px !important;
  max-width: 180px !important;
  min-width: 180px !important;
}

.mfd-odds-table-header > .col-6:nth-child(3),
.mfd-odds-table-header > [class*="col-"]:nth-child(3) {
  flex: 1 1 auto !important;
  min-width: 250px !important;
}

.mfd-odds-table-header > .col-md-4:last-child,
.mfd-odds-table-header > [class*="col-"]:nth-child(4) {
  flex: 1 1 auto !important;
  min-width: 250px !important;
}

/* Header inner rows */
.mfd-odds-table-header .container {
  width: 100% !important;
  padding: 0 !important;
}

.mfd-odds-table-header .container > .row {
  display: flex !important;
  margin: 0 !important;
}

.mfd-odds-table-header .container > .row > [class*="col-"] {
  padding: 4px !important;
}

/* League Group */
.mfd-odds-table-wrapper .mfd-league-group,
.mfd-odds-table-wrapper .vnk_fullbox {
  min-width: 800px !important;
  margin-bottom: 16px !important;
  border-radius: var(--mfd-radius-md) !important;
  overflow: hidden !important;
  border: 1px solid var(--mfd-border) !important;
}

/* Title Competition */
.mfd-odds-table-wrapper .title-competition {
  display: flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  background: var(--mfd-gradient-header) !important;
}

.mfd-odds-table-wrapper .title-competition img {
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
}

.mfd-odds-table-wrapper .title-competition span {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* ===== ODDS TABLE DATA ROWS ===== */
.mfd-odds-table-wrapper .list_match,
.mfd-odds-table-wrapper .keo-dong,
.mfd-odds-table-wrapper .mfd-match-row {
  display: block !important;
  background: var(--mfd-bg-card) !important;
  border: none !important;
  border-bottom: 1px solid var(--mfd-border-light) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 800px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.mfd-odds-table-wrapper .list_match:hover,
.mfd-odds-table-wrapper .keo-dong:hover {
  background: var(--mfd-bg-hover) !important;
  transform: none !important;
  box-shadow: none !important;
}

.mfd-odds-table-wrapper .list_match:last-child {
  border-bottom: none !important;
}

/* Main row inside match */
.mfd-odds-table-wrapper .list_match > .row,
.mfd-odds-table-wrapper .keo-dong > .row,
.mfd-odds-table-wrapper .mfd-match-row > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Time + Teams column (mlam) */
.mfd-odds-table-wrapper .mlam,
.mfd-odds-table-wrapper [class*="col-"].mlam {
  flex: 0 0 250px !important;
  max-width: 250px !important;
  min-width: 250px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
}

.mfd-odds-table-wrapper .mlam > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  margin: 0 !important;
  height: 100% !important;
}

/* Time box */
.mfd-odds-table-wrapper .time_box,
.mfd-odds-table-wrapper .mlam .time_box {
  flex: 0 0 70px !important;
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 4px !important;
  background: var(--mfd-bg-secondary) !important;
  border-right: 1px solid var(--mfd-border-light) !important;
  height: auto !important;
}

.mfd-odds-table-wrapper .time_box .date_play {
  font-size: 10px !important;
  color: var(--mfd-text-muted) !important;
  margin: 0 0 2px 0 !important;
}

.mfd-odds-table-wrapper .time_box .chutyle,
.mfd-odds-table-wrapper .time_box .match-status {
  font-size: 13px !important;
  font-weight: 700 !important;
}

.mfd-odds-table-wrapper .time_box .match-time {
  color: var(--mfd-primary) !important;
  font-weight: 700 !important;
}

.mfd-odds-table-wrapper .time_box .live-indicator {
  color: var(--mfd-live) !important;
  font-size: 11px !important;
  animation: mfd-pulse 1.5s infinite !important;
}

/* Teams box */
.mfd-odds-table-wrapper .mfd-teams-box,
.mfd-odds-table-wrapper .mlam .mfd-teams-box {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  padding: 6px 8px !important;
}

.mfd-odds-table-wrapper .mfd-teams-box table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.mfd-odds-table-wrapper .mfd-teams-box td {
  padding: 2px 4px !important;
  border: none !important;
}

.mfd-odds-table-wrapper .mfd-teams-box td span {
  display: block !important;
  font-size: 12px !important;
  color: var(--mfd-text-primary) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 140px !important;
}

.mfd-odds-table-wrapper .mfd-teams-box tr:nth-child(3) td span {
  color: var(--mfd-text-muted) !important;
  font-style: italic !important;
  font-size: 11px !important;
}

/* FT Odds box */
.mfd-odds-table-wrapper .mfd-ft-odds-box,
.mfd-odds-table-wrapper .ml10,
.mfd-odds-table-wrapper [class*="col-"].mfd-ft-odds-box {
  flex: 1 1 auto !important;
  min-width: 250px !important;
  max-width: none !important;
  padding: 4px !important;
  border-left: 1px solid var(--mfd-border-light) !important;
}

.mfd-odds-table-wrapper .mfd-ft-odds-box > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  margin: 0 !important;
  height: 100% !important;
}

.mfd-odds-table-wrapper .mfd-ft-odds-box > .row > [class*="col-"] {
  flex: 1 1 33.333% !important;
  padding: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* HT Odds box */
.mfd-odds-table-wrapper .mfd-ht-odds-box,
.mfd-odds-table-wrapper [class*="col-"].mfd-ht-odds-box {
  flex: 1 1 auto !important;
  min-width: 250px !important;
  max-width: none !important;
  padding: 4px !important;
  border-left: 1px solid var(--mfd-border-light) !important;
}

.mfd-odds-table-wrapper .mfd-ht-odds-box > .row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  margin: 0 !important;
}

.mfd-odds-table-wrapper .mfd-ht-odds-box .h_one_mobi {
  display: none !important;
}

.mfd-odds-table-wrapper .mfd-ht-odds-box > .row > [class*="col-"]:not(.h_one_mobi) {
  flex: 1 1 33.333% !important;
  padding: 4px !important;
}

/* Odds cells styling */
.mfd-odds-table-wrapper .mfd-ft-odds-box table,
.mfd-odds-table-wrapper .mfd-ht-odds-box table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.mfd-odds-table-wrapper .mfd-ft-odds-box th,
.mfd-odds-table-wrapper .mfd-ft-odds-box td,
.mfd-odds-table-wrapper .mfd-ht-odds-box th,
.mfd-odds-table-wrapper .mfd-ht-odds-box td {
  padding: 2px !important;
  border: none !important;
  text-align: left !important;
  vertical-align: middle !important;
}

.mfd-odds-table-wrapper .mfd-ft-odds-box span,
.mfd-odds-table-wrapper .mfd-ht-odds-box span {
  display: inline-block !important;
  min-width: 36px !important;
  padding: 3px 6px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--mfd-text-primary) !important;
  background: var(--mfd-bg-secondary) !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
}

.mfd-odds-table-wrapper .mfd-ft-odds-box span:hover,
.mfd-odds-table-wrapper .mfd-ht-odds-box span:hover {
  background: var(--mfd-primary) !important;
  color: #ffffff !important;
}

.mfd-odds-table-wrapper .do,
.mfd-odds-table-wrapper .order_one span {
  color: var(--mfd-primary) !important;
  font-weight: 700 !important;
}

/* Corner odds row */
.mfd-odds-table-wrapper .mfd-corner-odds-row {
  border-top: 1px solid var(--mfd-border-light) !important;
  min-width: 800px !important;
}

/* ===== ODDS TABLE MOBILE ===== */
@media (max-width: 991px) {
  /* Show scroll hint on tablet/mobile */
  .mfd-odds-table-wrapper::before {
    content: '← Vuốt ngang để xem đầy đủ →';
    display: block;
    text-align: center;
    padding: 6px 12px;
    font-size: 11px;
    color: var(--mfd-text-muted);
    background: var(--mfd-bg-secondary);
    border-radius: var(--mfd-radius-sm);
    margin-bottom: 8px;
  }
}

@media (max-width: 767px) {
  /* Hide header HT column on mobile */
  .mfd-match-header .col-ht {
    display: none !important;
  }

  .mfd-match-header .col-odds {
    flex: 0 0 180px !important;
    width: 180px !important;
  }

  .mfd-match-header .col-time {
    flex: 0 0 55px !important;
    width: 55px !important;
  }

  .mfd-match-header .col-score {
    flex: 0 0 45px !important;
    width: 45px !important;
  }
}

@media (max-width: 480px) {
  .mfd-match-header .col-time {
    flex: 0 0 50px !important;
    width: 50px !important;
    font-size: 10px !important;
  }

  .mfd-match-header .col-score {
    flex: 0 0 40px !important;
    width: 40px !important;
  }

  .mfd-match-header .col-odds {
    flex: 0 0 150px !important;
    width: 150px !important;
  }

  .mfd-match-header .col-odds-ah,
  .mfd-match-header .col-odds-ou,
  .mfd-match-header .col-odds-1x2 {
    font-size: 9px !important;
  }
}

/* ============================================
   10. CRITICAL FIX v2.0.8: Odds Table Mobile Overflow Fix
   ============================================ */

/* === BASE FIX: Reset all Bootstrap padding/margin === */
.mfd-odds-table-wrapper .container,
.mfd-odds-table-wrapper .container-fluid,
.mfd-odds-table-wrapper .vnk_fullbox.container,
.mfd-odds-table-wrapper .list_match.container-fluid,
.mfd-odds-table-wrapper .keo-dong.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Reset Bootstrap .row negative margins */
.mfd-odds-table-wrapper .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Reset column padding */
.mfd-odds-table-wrapper [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Mobile - Major responsive fixes - NO HORIZONTAL SCROLL */
@media (max-width: 767px) {
  /* === WRAPPER: Fit screen, no overflow === */
  .mfd-odds-table-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* === CONTAINER: No min-width, fit screen === */
  .mfd-odds-table-wrapper .mfd-odds-table-container,
  .mfd-odds-table-wrapper .mfd-odds-table-container.container-fluid,
  .mfd-odds-table-wrapper .container-fluid,
  .mfd-odds-table-wrapper .container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* === HEADER: No min-width, responsive === */
  .mfd-odds-table-header,
  .head_pro.row.mfd-odds-table-header {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 8px 0 !important;
  }

  /* Header columns - use percentage */
  .mfd-odds-table-header > [class*="col-"] {
    padding: 4px !important;
  }

  /* Giờ column - 15% */
  .mfd-odds-table-header > .col-2,
  .mfd-odds-table-header > [class*="col-"]:first-child {
    flex: 0 0 15% !important;
    max-width: 15% !important;
    min-width: 0 !important;
  }

  /* Trận đấu column - 35% */
  .mfd-odds-table-header > .col-4,
  .mfd-odds-table-header > [class*="col-"]:nth-child(2) {
    flex: 0 0 35% !important;
    max-width: 35% !important;
    min-width: 0 !important;
  }

  /* Cả trận column - 50% */
  .mfd-odds-table-header > .col-6,
  .mfd-odds-table-header > [class*="col-"]:nth-child(3) {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }

  /* HIDE Hiệp 1 header column */
  .mfd-odds-table-header > [class*="col-"]:nth-child(4),
  .mfd-odds-table-header > .col-md-4:last-child,
  .mfd-odds-table-header .d-none.d-md-inline,
  .mfd-odds-table-header > .d-none {
    display: none !important;
  }

  .mfd-odds-table-header label {
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  /* Header inner container/row */
  .mfd-odds-table-header .container {
    width: 100% !important;
    padding: 0 !important;
  }

  .mfd-odds-table-header .container > .row {
    margin: 0 !important;
  }

  .mfd-odds-table-header .container > .row > [class*="col-"] {
    padding: 2px !important;
  }

  /* === LEAGUE GROUP: No min-width === */
  .mfd-odds-table-wrapper .mfd-league-group,
  .mfd-odds-table-wrapper .vnk_fullbox,
  .mfd-odds-table-wrapper .vnk_fullbox.container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
  }

  /* === MATCH ROWS: No min-width === */
  .mfd-odds-table-wrapper .list_match,
  .mfd-odds-table-wrapper .keo-dong,
  .mfd-odds-table-wrapper .mfd-match-row,
  .mfd-odds-table-wrapper .list_match.container-fluid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Main row inside match */
  .mfd-odds-table-wrapper .list_match > .row,
  .mfd-odds-table-wrapper .keo-dong > .row,
  .mfd-odds-table-wrapper .mfd-match-row > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* === HIDE HT column === */
  .mfd-odds-table-wrapper .mfd-ht-odds-box,
  .mfd-odds-table-wrapper .mfd-ht-odds-box.col-12 {
    display: none !important;
  }

  /* === Time + Teams column (mlam) - 50% === */
  .mfd-odds-table-wrapper .mlam,
  .mfd-odds-table-wrapper [class*="col-"].mlam,
  .mfd-odds-table-wrapper .col-6.mlam {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    width: 50% !important;
    padding: 0 !important;
  }

  /* Inner row of mlam */
  .mfd-odds-table-wrapper .mlam > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
    height: 100% !important;
  }

  /* Time box - 30% of mlam */
  .mfd-odds-table-wrapper .time_box,
  .mfd-odds-table-wrapper .mlam .time_box,
  .mfd-odds-table-wrapper .mlam .col-4 {
    flex: 0 0 30% !important;
    max-width: 30% !important;
    min-width: 0 !important;
    width: 30% !important;
    padding: 4px 2px !important;
  }

  /* Teams box - 70% of mlam */
  .mfd-odds-table-wrapper .mfd-teams-box,
  .mfd-odds-table-wrapper .mlam .mfd-teams-box,
  .mfd-odds-table-wrapper .mlam .col-8 {
    flex: 0 0 70% !important;
    max-width: 70% !important;
    min-width: 0 !important;
    width: 70% !important;
    padding: 4px !important;
  }

  /* === FT Odds column - 50% === */
  .mfd-odds-table-wrapper .mfd-ft-odds-box,
  .mfd-odds-table-wrapper .ml10,
  .mfd-odds-table-wrapper [class*="col-"].mfd-ft-odds-box,
  .mfd-odds-table-wrapper .col-6.mfd-ft-odds-box {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    width: 50% !important;
    padding: 0 !important;
  }

  /* FT Odds inner row */
  .mfd-odds-table-wrapper .mfd-ft-odds-box > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* FT Odds 3 columns - each 33.33% */
  .mfd-odds-table-wrapper .mfd-ft-odds-box > .row > [class*="col-"] {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
    min-width: 0 !important;
    width: 33.333% !important;
    padding: 4px 2px !important;
  }

  /* === TEXT SIZING === */
  .mfd-odds-table-wrapper .time_box .date_play {
    font-size: 8px !important;
  }

  .mfd-odds-table-wrapper .time_box .chutyle,
  .mfd-odds-table-wrapper .time_box .match-status {
    font-size: 10px !important;
  }

  .mfd-odds-table-wrapper .mfd-teams-box td span {
    font-size: 10px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
  }

  /* Odds cells smaller */
  .mfd-odds-table-wrapper .mfd-ft-odds-box span {
    min-width: 0 !important;
    padding: 2px !important;
    font-size: 9px !important;
    display: block !important;
  }

  .mfd-odds-table-wrapper .mfd-ft-odds-box table {
    width: 100% !important;
    table-layout: fixed !important;
  }

  .mfd-odds-table-wrapper .mfd-ft-odds-box th,
  .mfd-odds-table-wrapper .mfd-ft-odds-box td {
    padding: 1px !important;
    text-align: center !important;
  }

  /* === FILTER CONTROLS === */
  .mfd-odds-table-wrapper .mfd-odds-controls {
    padding: 8px !important;
  }

  .mfd-odds-table-wrapper .mfd-odds-control-row {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .mfd-odds-table-wrapper .mfd-control-group {
    width: 100% !important;
  }

  .mfd-odds-table-wrapper .mfd-bookmaker-select {
    width: 100% !important;
    height: 2.75em;
    margin-bottom: 0px;
  }

  .mfd-odds-table-wrapper .date-buttons-container {
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  .mfd-odds-table-wrapper .date-button {
    flex: 1 1 auto !important;
    min-width: 50px !important;
    padding: 5px 6px !important;
    font-size: 10px !important;
  }

  /* === CORNER ODDS ROW === */
  .mfd-odds-table-wrapper .mfd-corner-odds-row {
    width: 100% !important;
    min-width: 0 !important;
  }

  .mfd-odds-table-wrapper .mfd-corner-odds-row .container {
    width: 100% !important;
    padding: 0 8px !important;
  }

  /* === TITLE COMPETITION === */
  .mfd-odds-table-wrapper .title-competition {
    padding: 6px 8px !important;
  }

  .mfd-odds-table-wrapper .title-competition img {
    width: 16px !important;
    height: 16px !important;
  }

  .mfd-odds-table-wrapper .title-competition span {
    font-size: 11px !important;
  }
}

/* Very small mobile screens - 480px and below */
@media (max-width: 480px) {
  /* Time box - smaller percentage */
  .mfd-odds-table-wrapper .time_box,
  .mfd-odds-table-wrapper .mlam .time_box,
  .mfd-odds-table-wrapper .mlam .col-4 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
  }

  /* Teams box - larger percentage */
  .mfd-odds-table-wrapper .mfd-teams-box,
  .mfd-odds-table-wrapper .mlam .mfd-teams-box,
  .mfd-odds-table-wrapper .mlam .col-8 {
    flex: 0 0 75% !important;
    max-width: 75% !important;
    width: 75% !important;
  }

  /* Even smaller text */
  .mfd-odds-table-wrapper .time_box .date_play {
    font-size: 7px !important;
  }

  .mfd-odds-table-wrapper .time_box .chutyle,
  .mfd-odds-table-wrapper .time_box .match-status {
    font-size: 9px !important;
  }

  .mfd-odds-table-wrapper .mfd-teams-box td span {
    font-size: 9px !important;
  }

  .mfd-odds-table-wrapper .mfd-ft-odds-box span {
    font-size: 8px !important;
    padding: 1px !important;
  }

  /* Header even smaller */
  .mfd-odds-table-header label {
    font-size: 7px !important;
  }

  .mfd-odds-table-wrapper .title-competition span {
    font-size: 10px !important;
  }

  .mfd-odds-table-wrapper .date-button {
    min-width: 40px !important;
    padding: 4px 5px !important;
    font-size: 9px !important;
    margin-right: 5px;
  }
}
