/* ========== Golfer's Classic ========== */

.fdgc-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 2rem 0;
}

/* Leaderboard */

.fdgc-leaderboard {
  width: 80%;
  border-collapse: separate;
  border-spacing: 0;
  background: #0f172a;
  color: #e5e7eb;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  margin: 0 auto;
  
}

/* Header */
.fdgc-leaderboard thead th {
  background: linear-gradient(180deg, #1e293b, #0f172a);
  padding: 14px 12px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}

/* Body rows */
.fdgc-leaderboard tbody tr {
  transition: background 0.25s ease;
}

.fdgc-leaderboard tbody tr:hover {
  background: rgba(255,255,255,0.04);
}

.fdgc-leaderboard tbody td {
  padding: 14px 12px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-size: 0.95rem;
}

/* Places */
.fdgc-place {
  font-weight: 700;
}

.fdgc-first {
  color: #facc15; /* First */
}

.fdgc-second {
  color: #cbd5e1; /* Silver */
}

.fdgc-third {
  color: #f97316; /* Bronze */
}

.fdgc-mulligans { /* Mulligans */
  font-weight: 700;
  color: #fb923c; 
  text-shadow: 0 0 6px rgba(251,146,60,0.35);
}

/* Golfer */
.fdgc-golfer {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  font-weight: 600;
}

.fdgc-golfer img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #38bdf8;
}

/* Total Score */
.fdgc-total-score {
  font-weight: 700;
  color: #22c55e;
}

/* Legend */

.fdgc-legend {
  width: 80%;
  display: flex;
  justify-content: center;
  gap: 3rem;
  padding: 12px 18px;
  margin-top: 10px;
  background: linear-gradient(180deg, #020617, #0f172a);
  border-radius: 0 0 14px 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 0.75rem;
  margin: 0 auto;
}

.fdgc-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #cbd5f5;
  white-space: nowrap;
}

.fdgc-legend-score {
  font-weight: 800;
  min-width: 22px;
  text-align: center;
}

.fdgc-legend-mulligan {
  color: #fb923c;
}

/* Page Header */

.fdgc-week-status {
  width: 80%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 14px 18px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #020617, #0f172a);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  margin: 0 auto;
}

.fdgc-week-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fdgc-week-label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #38bdf8;
}

.fdgc-week-description {
  font-size: 0.95rem;
  font-weight: 500;
  color: #e5e7eb;
}

.fdgc-reveal-info {
  text-align: right;
}

.fdgc-reveal-label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.fdgc-reveal-date {
  font-size: 0.9rem;
  font-weight: 700;
  color: #22c55e;
}
.fdgc-title {
  font-family: "Segoe UI", "Inter", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f8fafc;
  position: relative;
  animation: fdgc-titleFade 1.2s ease forwards;
}
.fdgc-title::after {
  content: "";
  display: block;
  width: 60%;
  height: 2px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, #38bdf8, transparent);
  animation: fdgc-titleGlow 2.5s ease-in-out infinite;
}

/* Course Gallery */

.fdgc-course-gallery {
  margin-top: 60px;
  padding: 60px 24px 40px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;

  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f8fafc 25%,
    #020617 100%
  );
}
.fdgc-course-card {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #020617;
  box-shadow: 0 12px 30px rgba(0,0,0,0.4);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  aspect-ratio: 3 / 4;
}

.fdgc-course-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.55);
}
.fdgc-course-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.9);
  transition: transform 0.5s ease;
}

.fdgc-course-card:hover img {
  transform: scale(1.05);
}
.fdgc-course-number {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 10px;
  background: rgba(2,6,23,0.85);
  color: #f8fafc;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  z-index: 2;
}
.fdgc-course-name {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 14px 16px;
  background: linear-gradient(
    180deg,
    rgba(2,6,23,0),
    rgba(2,6,23,0.95)
  );
  color: #e5e7eb;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@keyframes fdgc-titleFade {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fdgc-titleGlow {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.9; }
}

@media (max-width: 1200px) {
  .fdgc-course-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* Responsive tweaks */
@media (max-width: 900px) {
  .fdgc-leaderboard thead th,
  .fdgc-leaderboard tbody td {
    font-size: 0.75rem;
    padding: 10px 8px;
  }

  .fdgc-golfer span {
    white-space: nowrap;
  }
  .fdgc-week-status {
    grid-template-columns: 1fr;
    text-align: center;
    row-gap: 10px;
  }

  .fdgc-week-text,
  .fdgc-reveal-info {
    justify-self: center;
    text-align: center;
  }

  .fdgc-title {
    font-size: 1.1rem;
  }
  .fdgc-legend {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1rem;
    text-align: center;
  }

  .fdgc-legend-item {
    font-size: 0.7rem;
  }
}

/* Responsive stacking */
@media (max-width: 768px) {
  .fdgc-legend {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .fdgc-week-status {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .fdgc-reveal-info {
    text-align: left;
  }
  .fdgc-course-card img {
    height: 200px;
  }
  .fdgc-course-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .fdgc-course-gallery {
    grid-template-columns: 1fr;
  }
}
body {
  overflow-x: hidden;
}





/* ========== Discer's Classic ========== */

.fddc-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 2rem 0;
}

/* Leaderboard */

.fddc-leaderboard {
  width: 80%;
  border-collapse: separate;
  border-spacing: 0;
  background: #0f172a;
  color: #e5e7eb;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  margin: 0 auto;
  
}

/* Header */
.fddc-leaderboard thead th {
  background: linear-gradient(180deg, #1e293b, #0f172a);
  padding: 14px 12px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}

/* Body rows */
.fddc-leaderboard tbody tr {
  transition: background 0.25s ease;
}

.fddc-leaderboard tbody tr:hover {
  background: rgba(255,255,255,0.04);
}

.fddc-leaderboard tbody td {
  padding: 14px 12px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-size: 0.95rem;
}

/* Places */
.fddc-place {
  font-weight: 700;
}

.fddc-first {
  color: #facc15; /* First */
}

.fddc-second {
  color: #cbd5e1; /* Silver */
}

.fddc-third {
  color: #f97316; /* Bronze */
}

.fddc-mulligans { /* Mulligans */
  font-weight: 700;
  color: #fb923c; 
  text-shadow: 0 0 6px rgba(251,146,60,0.35);
}

/* Golfer */
.fddc-golfer {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  font-weight: 600;
}

.fddc-golfer img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #38bdf8;
}

/* Total Score */
.fddc-total-score {
  font-weight: 700;
  color: #22c55e;
}

/* Legend */

.fddc-legend {
  width: 80%;
  display: flex;
  justify-content: center;
  gap: 3rem;
  padding: 12px 18px;
  margin-top: 10px;
  background: linear-gradient(180deg, #020617, #0f172a);
  border-radius: 0 0 14px 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 0.75rem;
  margin: 0 auto;
}

.fddc-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #cbd5f5;
  white-space: nowrap;
}

.fddc-legend-score {
  font-weight: 800;
  min-width: 22px;
  text-align: center;
}

.fddc-legend-mulligan {
  color: #fb923c;
}

/* Page Header */

.fddc-week-status {
  width: 80%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 14px 18px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #020617, #0f172a);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  margin: 0 auto;
}

.fddc-week-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fddc-week-label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #38bdf8;
}

.fddc-week-description {
  font-size: 0.95rem;
  font-weight: 500;
  color: #e5e7eb;
}

.fddc-reveal-info {
  text-align: right;
}

.fddc-reveal-label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.fddc-reveal-date {
  font-size: 0.9rem;
  font-weight: 700;
  color: #22c55e;
}
.fddc-title {
  font-family: "Segoe UI", "Inter", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f8fafc;
  position: relative;
  animation: fddc-titleFade 1.2s ease forwards;
}
.fddc-title::after {
  content: "";
  display: block;
  width: 60%;
  height: 2px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, #38bdf8, transparent);
  animation: fddc-titleGlow 2.5s ease-in-out infinite;
}

/* Course Gallery */

.fddc-course-gallery {
  margin-top: 60px;
  padding: 60px 24px 40px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;

  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f8fafc 25%,
    #020617 100%
  );
}
.fddc-course-card {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #020617;
  box-shadow: 0 12px 30px rgba(0,0,0,0.4);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  aspect-ratio: 3 / 4;
}

.fddc-course-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.55);
}
.fddc-course-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.9);
  transition: transform 0.5s ease;
}

.fddc-course-card:hover img {
  transform: scale(1.05);
}
.fddc-course-number {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 10px;
  background: rgba(2,6,23,0.85);
  color: #f8fafc;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  z-index: 2;
}
.fddc-course-name {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 14px 16px;
  background: linear-gradient(
    180deg,
    rgba(2,6,23,0),
    rgba(2,6,23,0.95)
  );
  color: #e5e7eb;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@keyframes fddc-titleFade {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fddc-titleGlow {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.9; }
}

@media (max-width: 1200px) {
  .fddc-course-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* Responsive tweaks */
@media (max-width: 900px) {
  .fddc-leaderboard thead th,
  .fddc-leaderboard tbody td {
    font-size: 0.75rem;
    padding: 10px 8px;
  }

  .fddc-golfer span {
    white-space: nowrap;
  }
  .fddc-week-status {
    grid-template-columns: 1fr;
    text-align: center;
    row-gap: 10px;
  }

  .fddc-week-text,
  .fddc-reveal-info {
    justify-self: center;
    text-align: center;
  }

  .fddc-title {
    font-size: 1.1rem;
  }
  .fddc-legend {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1rem;
    text-align: center;
  }

  .fddc-legend-item {
    font-size: 0.7rem;
  }
}

/* Responsive stacking */
@media (max-width: 768px) {
  .fddc-legend {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .fddc-week-status {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .fddc-reveal-info {
    text-align: left;
  }
  .fddc-course-card img {
    height: 200px;
  }
  .fddc-course-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .fddc-course-gallery {
    grid-template-columns: 1fr;
  }
}
body {
  overflow-x: hidden;
}



/* ========== Squad V Squad ========== */


/* SVS Banner */
.fdsvs-section {
  position: relative;
  padding: 100px 40px;
  overflow: hidden;

  background: radial-gradient(circle at center, #0b1e3a 0%, #020617 70%);
}

.fdsvs-header {
  position: relative;
  z-index: 2;
  max-width: 1600px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.fdsvs-side {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.fdsvs-left {
  padding-right: 40px;
}

.fdsvs-right {
  padding-left: 40px;
}

.fdsvs-captain {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #e5e7eb;
  position: relative;
  overflow: hidden;
}

.fdsvs-team-banner {
  flex: 1;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #e5e7eb;
}

.fdsvs-captain img {
  width: 120px;
  height: 220px;
  object-fit: cover;
  border-radius: 12px;
  position: relative;
  display: block;
}

.fdsvs-captain-name {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fdsvs-captain-left {
  position: relative;
}

.fdsvs-captain-left::before {
  content: "";
  position: absolute;
  left: -40px;
  top: 0;
  bottom: 0;
  width: 60px;
  background: linear-gradient(
    to right,
    rgba(2,6,23,0.9),
    transparent
  );
  pointer-events: none;
}

.fdsvs-captain-left::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    to left,
    rgba(6, 18, 40, 0) 40%,
    rgba(6, 18, 40, 0.15) 55%,
    rgba(6, 18, 40, 0.35) 70%,
    rgba(6, 18, 40, 0.6) 85%,
    rgba(6, 18, 40, 0.85) 95%,
    rgba(6, 18, 40, 1) 100%
  );

  pointer-events: none;
}

.fdsvs-captain-right {
  position: relative;
}

.fdsvs-captain-right::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    to right,
    rgba(6, 18, 40, 0) 40%,
    rgba(6, 18, 40, 0.15) 55%,
    rgba(6, 18, 40, 0.35) 70%,
    rgba(6, 18, 40, 0.6) 85%,
    rgba(6, 18, 40, 0.85) 95%,
    rgba(6, 18, 40, 1) 100%
  );

  pointer-events: none;
}

.fdsvs-title {
  font-size: 3.5rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #f8fafc;
  text-align: center;
  animation: fdsvs-fireFlicker 2s infinite ease-in-out;
}

.fdsvssc-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.1;
}

.fdsvs-title span {
  position: relative;
  animation: fdsvs-fireFlicker 1.8s infinite ease-in-out;
}

.fdsvs-title span::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: #f97316;
  filter: blur(10px);
  opacity: 0.7;
  z-index: -1;
}

.fdsvs-title-sub {
  margin-top: 10px;
  font-size: 1.4rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 600;

  background: linear-gradient(90deg, #2f7bff, #00c3ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  opacity: 0.9;

  animation: fdsvs-scramble-glow 3s ease-in-out infinite;
}

.fdsvs-v {
  color: #fb923c;
  text-shadow:
    0 0 8px #fb923c,
    0 0 20px #f97316,
    0 0 40px #ea580c;
  animation: fdsvs-firePulse 1.2s infinite alternate;
}

.fdsvs-embers {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.fdsvs-embers::before,
.fdsvs-embers::after {
  content: "";
  position: absolute;
  width: 200%;
  height: 200%;
  background-image: radial-gradient(#fb923c 2px, transparent 2px);
  background-size: 40px 40px;
  animation: fdsvs-emberRise 12s linear infinite;
  opacity: 0.15;
}

.fdsvs-embers::after {
  animation-duration: 18s;
  opacity: 0.1;
}


/* Scoreboard */

.fdsvs-scoreboard {
  width: 80%;
  margin: 60px auto 0;
  display: flex;
  flex-direction: column;
  gap: 22px; /* space between bars */
}

.fdsvs-game {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr 1.5fr;
  align-items: center;

  padding: 20px 30px;
  border-radius: 18px;

  background: #0b1e3a;
  color: #f8fafc;

  font-weight: 700;
  letter-spacing: 0.05em;

  transition: all 0.3s ease;
}

.fdsvs-win-red {
  background: linear-gradient(
    90deg,
    #7f1d1d,
    #dc2626,
    #ef4444
  );
}

.fdsvs-win-blue {
  background: linear-gradient(
    90deg,
    #1e3a8a,
    #2563eb,
    #3b82f6
  );
}

.fdsvs-game-number {
  font-size: 0.9rem;
  text-transform: uppercase;
  opacity: 0.85;
}

.fdsvs-sport {
  text-align: center;
  font-size: 1.1rem;
}

.fdsvs-score {
  text-align: center;
  font-size: 1.3rem;
  font-weight: 900;
}

.fdsvs-winner {
  text-align: right;
  font-size: 1rem;
}

.fdsvs-game:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.4);
}

/* Rosters */

/* Roster Section Container */
.fdsvs-rosters {
  width: 80%;
  margin: 60px auto;
  display: flex;
  gap: 60px;
  justify-content: center;
  position: relative;
}

/* Team Card */
.fdsvs-team {
  flex: 1;
  padding: 30px;
  border-radius: 20px;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,0.04);
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
  color: #e5e7eb;
  position: relative;
  overflow: hidden;
}

/* Team Color Themes */
.fdsvs-team-red {
  border: 2px solid rgba(255, 60, 60, 0.6);
}

.fdsvs-team-blue {
  border: 2px solid rgba(60, 140, 255, 0.6);
}

/* Header */
.fdsvs-team-header {
  text-align: center;
  margin-bottom: 25px;
}

.fdsvs-team-captain {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 15px;
  box-shadow: 0 0 30px rgba(0,0,0,0.5);
}

.fdsvs-team-name {
  font-size: 1.6rem;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Player List */
.fdsvs-player-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fdsvs-player-list li {
  padding: 10px 0;
  text-align: center;
  font-weight: 500;
  letter-spacing: 1px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Hover subtle lift */
.fdsvs-team:hover {
  transform: translateY(-8px);
  transition: 0.3s ease;
}

.fdsvs-team-red::before,
.fdsvs-team-blue::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;
  border-radius: 20px;
  filter: blur(25px);
  opacity: 0.4;
}

.fdsvs-team-red::before {
  background: rgba(255, 60, 60, 0.5);
}

.fdsvs-team-blue::before {
  background: rgba(60, 140, 255, 0.5);
}

/* Sports Bank */

/* Section Wrapper */
.fdsvs-sports-bank {
  width: 80%;
  margin: 80px auto;
  text-align: center;
  position: relative;
}

/* Title */
.fdsvs-sports-bank-title {
  font-size: 2rem;
  letter-spacing: 3px;
  margin-bottom: 40px;
  text-transform: uppercase;
  color: white;
}

/* Grid Layout */
.fdsvs-sports-bank-grid {
  display: flex;
  justify-content: center;
  gap: 60px;
}

/* Each Column */
.fdsvs-sports-bank-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Sport Pill */
.fdsvs-sport-pill {
  padding: 14px 30px;
  border-radius: 50px;
  font-weight: 600;
  letter-spacing: 1px;
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,0.05);
  color: white;
  border: 2px solid rgba(255,255,255,0.15);
  transition: all 0.3s ease;
  cursor: pointer;
}

/* Hover Effect */
.fdsvs-sport-pill:hover {
  transform: translateY(-4px) scale(1.05);
  border-color: rgba(255,255,255,0.4);
  box-shadow: 0 0 25px rgba(255,255,255,0.15);
}


/* ========== Climber's Conquest ========== */


.fdcc-main-title {
  font-family: 'Cinzel', serif;
  font-weight: 800;
  font-size: 4.5rem;
  letter-spacing: 8px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 80px;

  background: linear-gradient(90deg, #ffae42, #ff4e00, #ffae42);
  background-size: 200% auto;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  animation:
    fdcc-title-fire 4s linear infinite,
    fdcc-title-pulse 5s ease-in-out infinite;

  filter: drop-shadow(0 0 30px rgba(255,90,0,0.7));
}


/* Section Background */
.fdcc-section-wrapper {
  position: relative;
  padding: 120px 0;
  overflow: hidden;

  background: linear-gradient(
    135deg,
    #1e1e2f,
    #2a2f45,
    #3b2f2f,
    #1f2438,
    #121826
  );

  background-size: 300% 300%;
  animation: fdcc-background-breathe 12s ease-in-out infinite;
}

.fdcc-section-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 180, 80, 0.08), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(100, 180, 255, 0.08), transparent 40%);
  pointer-events: none;
}

.fdcc-section-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
    radial-gradient(circle at 25% 30%, rgba(255,140,0,0.15), transparent 40%),
    radial-gradient(circle at 75% 70%, rgba(255,60,0,0.12), transparent 40%);

  animation: fdcc-light-pulse 8s ease-in-out infinite;
}

/* ===============================
   ROUND SELECTOR
=================================*/

.fdcc-round-selector-wrapper {
  width: 80%;
  margin: 0 auto 60px auto;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.fdcc-round-tab {
  padding: 12px 28px;
  border-radius: 40px;
  border: 2px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.05);
  color: white;
  font-weight: 600;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.fdcc-round-tab:hover {
  transform: translateY(-3px);
  border-color: rgba(255,255,255,0.4);
}

.fdcc-round-active {
  background: linear-gradient(90deg, #ffae42, #ff4e00);
  border: none;
  box-shadow: 0 0 20px rgba(255,120,0,0.5);
}

.fdcc-round-content {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition: all 0.6s ease;
  width: 100%;
  pointer-events: none;
}

.fdcc-round-content.fdcc-round-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.fdcc-round-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0) scale(1);
  position: relative;
  pointer-events: auto;
}

/* ===============================
   SCOREBOARD TABLE
=================================*/

.fdcc-scoreboard-table,
.fdcc-finals-table {
  width: 80%;
  margin: 0 auto;
  border-collapse: collapse;
  border-radius: 14px;
  overflow: hidden;

  background: linear-gradient(
    145deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.03)
  );

  box-shadow:
    0 0 40px rgba(255,180,0,0.25),
    inset 0 0 40px rgba(255,255,255,0.04);

  transition: all 0.4s ease;
}

.fdcc-scoreboard-table:hover,
.fdcc-finals-table:hover {
  transform: translateY(-6px);
  box-shadow:
    0 0 50px rgba(255,120,0,0.4),
    inset 0 0 60px rgba(255,255,255,0.05);
}

.fdcc-scoreboard-table th,
.fdcc-scoreboard-table td,
.fdcc-finals-table th,
.fdcc-finals-table td {
  padding: 14px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.fdcc-scoreboard-table th {
  background: rgba(255,255,255,0.06);
  font-weight: 600;
  letter-spacing: 1px;
}
.fdcc-finals-table th {
  background: linear-gradient(90deg, #ffae42, #ff4e00);
  font-weight: 700;
}

.fdcc-scoreboard-table td,
.fdcc-finals-table td {
  color: white;
}

.fdcc-scoreboard-table tbody tr {
  transition: all 0.3s ease;
}

.fdcc-scoreboard-table tbody tr:hover {
  background: rgba(255,140,0,0.15);
  transform: scale(1.01);
}

.fdcc-finals-table tbody tr {
  transition: all 0.3s ease;
}

.fdcc-finals-table tbody tr:hover {
  transform: scale(1.02);
  background: rgba(255,140,0,0.15);
}

.fdcc-scoreboard-table td:first-child {
  font-weight: bold;
  color: #ffae42;
}

.fdcc-scoreboard-table td:last-child {
  font-weight: bold;
  color: #ffae42;
}

.fdcc-place-1 {
  background: linear-gradient(90deg, rgba(255,215,0,0.25), transparent);
  color: #ffd700;
  font-weight: bold;
}

.fdcc-place-2 {
  background: linear-gradient(90deg, rgba(192,192,192,0.25), transparent);
  color: #c0c0c0;
  font-weight: bold;
}

.fdcc-place-3 {
  background: linear-gradient(90deg, rgba(205,127,50,0.25), transparent);
  color: #cd7f32;
  font-weight: bold;
}

.fdcc-final-standings-table td:first-child {
    font-weight: 700;
    letter-spacing: 0.5px;
    font-size: 1.05rem;
    text-shadow: 0 0 8px rgba(255,255,255,0.2);
}

.fdcc-final-standings-table tbody tr:hover td:first-child {
    color: #ffffff;
    text-shadow: 0 0 14px rgba(255,255,255,0.6);
}

.fdcc-final-standings-table td:not(:first-child):not(.fdcc-total-score):not(.fdcc-placement) {
    font-weight: 500;
    transition: all 0.3s ease;
}

.fdcc-final-standings-table tbody tr:hover td:not(:first-child):not(.fdcc-total-score):not(.fdcc-placement) {
    color: #ffcf80;
    transform: scale(1.05);
}

.fdcc-total-score {
    font-size: 1.2rem;
    font-weight: 800;
    color: #ffae42;
    text-shadow:
        0 0 12px rgba(255,140,0,0.7),
        0 0 20px rgba(255,90,0,0.4);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.fdcc-total-score::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.3),
        transparent
    );
    animation: fdcc-score-shine 5s infinite;
}

.fdcc-final-standings-table tbody tr:hover .fdcc-total-score {
    transform: scale(1.1);
    text-shadow:
        0 0 18px rgba(255,140,0,0.9),
        0 0 30px rgba(255,90,0,0.6);
}

.fdcc-placement {
    font-weight: 800;
    font-size: 1.1rem;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.fdcc-final-standings-table tbody tr:hover .fdcc-placement {
    text-shadow: 0 0 14px rgba(255,255,255,0.6);
}

.fdcc-gold td {
    font-weight: 700;
    text-shadow: 0 0 10px rgba(255,215,0,0.6);
}

.fdcc-silver td {
    text-shadow: 0 0 8px rgba(192,192,192,0.6);
}

.fdcc-bronze td {
    text-shadow: 0 0 8px rgba(205,127,50,0.6);
}

.fdcc-gold .fdcc-placement {
    font-size: 1.2rem;
}



/* Color Boxes */
.fdcc-color-box {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 4px;
}

.fdcc-yellow { background: #f6c90e; }
.fdcc-green { background: #4caf50; }
.fdcc-orange { background: #ff9900; }
.fdcc-red { background: #f44336; }
.fdcc-blue { background: #9c27b0; }
.fdcc-purple { background: #ef0a97; }

/* Hide inactive tables */
.fdcc-round-content {
  display: none;
}

.fdcc-round-content.fdcc-round-visible {
  display: block;
  animation: fdcc-round-enter 0.8s ease forwards;
}

.fdcc-chalk-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.fdcc-chalk-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  background: rgba(255,255,255,0.8);
  border-radius: 50%;
  opacity: 0;

  animation: fdcc-chalk-burst 6s ease-out infinite;
}



/* ========== Wiffleball Versus the World ========== */



/* SECTION WRAPPER */
.fdwvtw-wrapper {
  position: relative;
  padding: 60px 30px;
  border-radius: 20px;
  background: linear-gradient(145deg, #3a4a60, #0f1b2e);
  overflow: hidden;
  color: white;
}

/* Stadium Light Effects */
.fdwvtw-wrapper::before,
.fdwvtw-wrapper::after {
  content: "";
  position: absolute;
  top: -80px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255,255,255,0.5), transparent 70%);
  filter: blur(40px);
}

.fdwvtw-wrapper::before { left: -80px; }
.fdwvtw-wrapper::after { right: -80px; }

/* TITLE */
.fdwvtw-title {
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 40px;
  text-transform: uppercase;
  letter-spacing: 3px;

  background: linear-gradient(
    90deg,
    #00ffcc,
    #1e90ff,
    #ffcc00,
    #ff0066,
    #00ffcc
  );

  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  animation: fdwvtw-title-shift 6s ease infinite,
             fdwvtw-title-pulse 3s ease-in-out infinite;
}

/* Moving gradient */
@keyframes fdwvtw-title-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Subtle glow pulse */
@keyframes fdwvtw-title-pulse {
  0% { text-shadow: 0 0 10px rgba(0,255,255,0.3); }
  50% { text-shadow: 0 0 25px rgba(255,255,255,0.6); }
  100% { text-shadow: 0 0 10px rgba(0,255,255,0.3); }
}

/* TABLE */
.fdwvtw-table {
  width: 80%;
  text-align: center;
  backdrop-filter: blur(6px);
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0;
  background: linear-gradient(145deg, #111, #1a1a1a);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  table-layout: fixed;
}

/* Alternating row colors */
.fdwvtw-table:not(.fdwvtw-overall-table) tbody tr:nth-child(odd) {
  background: rgba(180, 180, 180, 0.08);
}

.fdwvtw-table:not(.fdwvtw-overall-table) tbody tr:nth-child(even) {
  background: rgba(120, 120, 120, 0.12);
}

/* Subtle hover lift */
.fdwvtw-table:not(.fdwvtw-overall-table) tbody tr:hover {
  background: rgba(255, 255, 255, 0.15);
  transition: background 0.3s ease;
}

/* Rounded corners */
.fdwvtw-table thead tr:first-child th:first-child {
  border-top-left-radius: 18px;
}

.fdwvtw-table thead tr:first-child th:last-child {
  border-top-right-radius: 18px;
}

.fdwvtw-table th,
.fdwvtw-table td {
  padding: 12px;
}

.fdwvtw-small {
  font-size: 0.75rem;
}

/* Shared Column Widths */
.fdwvtw-col-place {
  width: 8%;
  text-align: center;
  font-weight: bold;
  font-style: italic;
}

.fdwvtw-col-player {
  width: 22%;
  align-items: center;
  gap: 10px;
  justify-content: center;
}

.fdwvtw-col-player img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.fdwvtw-col-total {
  width: 10%;
  font-weight: bold;
  font-size: 18px;
  color: #00ff88;
  text-shadow: 0 0 8px #00ff88;
  font-size: 1.2rem;
  font-weight: 800;
}

/* TOP 3 EFFECTS */
.fdwvtw-gold {
  background: linear-gradient(90deg, rgba(255,215,0,0.2), transparent);
}

.fdwvtw-silver {
  background: linear-gradient(90deg, rgba(192,192,192,0.2), transparent);
}

.fdwvtw-bronze {
  background: linear-gradient(90deg, rgba(205,127,50,0.2), transparent);
}

/* ROUND BUTTONS */
.fdwvtw-round-buttons {
  margin: 40px 0;
  text-align: center;
}

.fdwvtw-round-buttons button {
  margin: 10px;
  padding: 12px 25px;
  border-radius: 50px;
  border: none;
  background: linear-gradient(135deg, #1e90ff, #0047ab);
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.fdwvtw-round-buttons button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 15px #1e90ff;
}

/* ROUND SECTIONS */
.fdwvtw-round-section {
  display: none;
  margin-top: 30px;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(10px);
  transition: opacity 0.4s ease, max-height 0.4s ease;
}

/* RED BASES AGAINST */
.fdwvtw-bases-against {
  color: #ff4d4d;
  font-weight: bold;
}

.fdwvtw-active-section {
  opacity: 1;
  max-height: 2000px;
  margin-top: 30px;
  display: block;
  transform: translateY(0);
}

/* Round Buttons */
.fdwvtw-round-btn {
  padding: 12px 28px;
  border-radius: 40px;
  border: none;
  background: linear-gradient(145deg, #1f1f1f, #2d2d2d);
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.fdwvtw-round-btn:hover {
  transform: translateY(-3px);
}

.fdwvtw-active-btn {
  background: linear-gradient(145deg, #00ff99, #00cc66);
  color: black;
  box-shadow: 0 0 15px #00ff99;
}

/* Overall Table Styling */

.fdwvtw-overall-table {
  position: relative;
  overflow: hidden;
}

.fdwvtw-overall-table::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.2),
    transparent
  );
  transform: skewX(-25deg);
  animation: fdwvtw-shine 6s infinite;
}

@keyframes fdwvtw-shine {
  0% { left: -150%; }
  50% { left: 150%; }
  100% { left: 150%; }
}

/* Fire container */
.fdwvtw-fire-container {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 550px;
  pointer-events: none;
  overflow: hidden;
}

/* Individual particles */
.fdwvtw-fire-particle {
  position: absolute;
  bottom: 0;
  width: 6px;
  height: 6px;
  background: radial-gradient(circle, #ffae00, #ff2a00);
  border-radius: 50%;
  opacity: 0.8;
  animation: fdwvtw-rise linear infinite;
}

@keyframes fdwvtw-rise {
  0% {
    transform: translateY(0) translateX(0) scale(1);
    opacity: 0.5;
  }
  100% {
    transform: translateY(-1000px) translateX(var(--x-move)) scale(0.5);
    opacity: 0;
  }
}






/* MOBILE */
@media (max-width: 768px) {

  .fdwvtw-title {
    font-size: 1.8rem;
  }

  .fdwvtw-table th,
  .fdwvtw-table td {
    font-size: 0.7rem;
    padding: 6px;
  }

  .fdwvtw-player img {
    width: 25px;
    height: 25px;
  }

  .fdwvtw-round-buttons button {
    width: 90%;
  }
  .fdwvtw-table {
    width: 95%;
    font-size: 12px;
  }

  .fdwvtw-col-player {
    width: 30%;
  }

  .fdwvtw-round-btn {
    padding: 8px 16px;
    font-size: 12px;
    margin: 5px;
  }
  .fdwvtw-table th {
    font-size: 0.65rem;
    letter-spacing: 0.5px;
  }

  .fdwvtw-small {
    font-size: 0.55rem;
  }
}



/* ========== The Big Dill Open ========== */


/* ============================= */
/* MAIN CONTAINER */
/* ============================= */

.fdtbdo-container {
  padding: 60px 20px;
  min-height: 100vh;
  background: linear-gradient(135deg, #0f5f2f, #2e8b57, #7ed957);
  background-size: 300% 300%;
  animation: fdtbdo-gradient 14s ease infinite;
  position: relative;
  overflow: hidden;
}

/* Gradient animation */
@keyframes fdtbdo-gradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.fdtbdo-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ============================= */
/* TITLES AND PICKLES */
/* ============================= */

.fdtbdo-title {
  font-size: 4.4rem;
  text-align: center;
  font-family: 'Fredoka One', cursive;
  font-weight: 1100;
  color: #9CFF7A;
  letter-spacing: 3px;
  text-transform: uppercase;
  animation: fdtbdo-titleFloat 4s ease-in-out infinite;
  text-shadow:
    0 0 10px rgba(156,255,122,0.7),
    0 0 25px rgba(46,139,87,0.8),
    0 0 45px rgba(46,139,87,0.6);
}

/* Floating animation */
@keyframes fdtbdo-titleFloat {
  0%,100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

/* Ensure content sits above */
.fdtbdo-card,
.fdtbdo-section-title,
.fdtbdo-championship-title {
  position: relative;
  z-index: 2;
}

.fdtbdo-pickle-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.fdtbdo-pickle {
  position: absolute;
  top: -60px;
  opacity: 0;
  font-size: 22px;
  animation: fdtbdo-fallPickle linear infinite;
}

/* Increase randomness */
.fdtbdo-pickle:nth-child(odd) {
  animation-duration: 18s;
}
.fdtbdo-pickle:nth-child(even) {
  animation-duration: 24s;
}

/* Randomized positions */
.fdtbdo-pickle:nth-child(1){ left:5%; animation-delay:0s; }
.fdtbdo-pickle:nth-child(2){ left:15%; animation-delay:2s; }
.fdtbdo-pickle:nth-child(3){ left:25%; animation-delay:5s; }
.fdtbdo-pickle:nth-child(4){ left:35%; animation-delay:1s; }
.fdtbdo-pickle:nth-child(5){ left:45%; animation-delay:4s; }
.fdtbdo-pickle:nth-child(6){ left:55%; animation-delay:7s; }
.fdtbdo-pickle:nth-child(7){ left:65%; animation-delay:3s; }
.fdtbdo-pickle:nth-child(8){ left:75%; animation-delay:6s; }
.fdtbdo-pickle:nth-child(9){ left:85%; animation-delay:8s; }
.fdtbdo-pickle:nth-child(10){ left:95%; animation-delay:10s; }
.fdtbdo-pickle:nth-child(11){ left:5%; animation-delay:9s; }
.fdtbdo-pickle:nth-child(12){ left:15%; animation-delay:12s; }
.fdtbdo-pickle:nth-child(13){ left:25%; animation-delay:15s; }
.fdtbdo-pickle:nth-child(14){ left:35%; animation-delay:11s; }
.fdtbdo-pickle:nth-child(15){ left:45%; animation-delay:14s; }
.fdtbdo-pickle:nth-child(16){ left:55%; animation-delay:17s; }
.fdtbdo-pickle:nth-child(17){ left:65%; animation-delay:13s; }
.fdtbdo-pickle:nth-child(18){ left:75%; animation-delay:16s; }
.fdtbdo-pickle:nth-child(19){ left:85%; animation-delay:18s; }
.fdtbdo-pickle:nth-child(20){ left:95%; animation-delay:20s; }

@keyframes fdtbdo-fallPickle {
  0% {
    transform: translateY(-100%) rotate(0deg);
    opacity: 0;
  }

  15% { opacity: 0.25; }

  50% { opacity: 0.35; }

  85% { opacity: 0.15; }

  100% {
    transform: translateY(260vh) rotate(-500deg);
    opacity: 0;
  }
}

.fdtbdo-championship-title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 900;
  color: rgb(230, 195, 0);
  letter-spacing: 2px;
  margin-bottom: 40px;
  animation: fdtbdo-champGlow 2s ease-in-out infinite alternate;
  text-shadow:
    0 0 10px gold,
    0 0 30px orange,
    0 0 60px gold;
}

@keyframes fdtbdo-champGlow {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}


/* ============================= */
/* SECTIONS */
/* ============================= */

.fdtbdo-section-title {
  text-align: center;
  font-size: 2.2rem;
  font-style: italic;
  font-weight: bolder;
  color: rgb(82, 193, 8);
  margin-bottom: 15px;
  font-size: 40px;
  letter-spacing: 8px;
  position: relative;
  animation: fdtbdo-pulse 3s ease-in-out infinite;
  text-shadow: 0 0 15px rgba(255,255,255,0.6);
}

/* Shine sweep */
.fdtbdo-section-title::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.6), transparent);
  transform: skewX(-25deg);
  animation: fdtbdo-shine 4s infinite;
}

@keyframes fdtbdo-shine {
  0% { left: -75%; }
  100% { left: 125%; }
}

@keyframes fdtbdo-pulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* ============================= */
/* CARDS */
/* ============================= */

.fdtbdo-card {
  background: linear-gradient(145deg, #ffffff, #9c9c9c);
  padding: 25px;
  border-radius: 22px;
  margin: 0 auto 40px auto;
  width: 80%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fdtbdo-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.25);
}


/* ============================= */
/* TABLES */
/* ============================= */

.fdtbdo-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
}

.fdtbdo-table th {
  background: #1e4620;
  color: white;
  padding: 14px;
  font-weight: 600;
}

.fdtbdo-table td {
  padding: 14px;
  border-bottom: 1px solid #e6e6e6;
  font-weight: bolder;
  font-size: 20px;
}

/* Rounded corners for tables */
.fdtbdo-table thead tr:first-child th:first-child {
  border-top-left-radius: 16px;
}
.fdtbdo-table thead tr:first-child th:last-child {
  border-top-right-radius: 16px;
}

.fdtbdo-qualifier-days {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #d4ffcb;
  text-shadow:
    0 0 10px rgba(0,0,0,0.7),
    0 0 20px rgba(0,100,0,0.8);
}

/* ============================= */
/* PLAYER IMAGE */
/* ============================= */

.fdtbdo-player-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fdtbdo-player-img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid #2e8b57;
}

/* ============================= */
/* ROW STATUS COLORS */
/* ============================= */

.fdtbdo-qualifying {
  background: #d4f8d4 !important;
}

.fdtbdo-elimination {
  background: #ffd6d6 !important;
}

/* ============================= */
/* LEGEND */
/* ============================= */

.fdtbdo-legend {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 20px;
  font-weight: 600;
  text-align: center;
}

.fdtbdo-legend-box {
  width: 16px;
  height: 16px;
  display: inline-block;
  border-radius: 4px;
  margin-right: 8px;
}

.fdtbdo-green { background: #2ecc71; }
.fdtbdo-red { background: #e74c3c; }

/* ============================= */
/* GROUP STAGE CARDS */
/* ============================= */

.fdtbdo-group-wrapper {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

.fdtbdo-group-dill {
  background: #145a32;
  color: #333;
}

.fdtbdo-group-sweet {
  background: #f9e79f;
  color: #333;
}

/* ============================= */
/* BRACKET */
/* ============================= */

.fdtbdo-bracket {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: start;
  text-align: center;
}

.fdtbdo-round {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.fdtbdo-round-title {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 4px;
  color: #2e8b57;
}

/* Match Cards */

.fdtbdo-match-card {
  background: linear-gradient(145deg, #a8ff8d, #06ff59);
  padding: 18px;
  border-radius: 16px;
  width: 230px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}

.fdtbdo-match-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

/* Championship Card */

.fdtbdo-championship {
  background: linear-gradient(145deg, #f2f2f2, #f3f3f3);
  border: none;
  border-top: 6px solid gold;
  border-bottom: 6px solid gold;
  box-shadow:
    0 0 30px gold,
    0 15px 40px rgba(0,0,0,0.35);
  border-radius: 14px;
  animation: fdtbdo-goldPulsePro 2.5s ease-in-out infinite alternate;
}

/* Player Row Layout */
.fdtbdo-player-row {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  padding: 8px 0;
  font-weight: 600;
  border-bottom: 1px solid #ddd;
}

.fdtbdo-player-row:last-child {
  border-bottom: none;
}

.fdtbdo-rank {
  font-size: 0.9rem;
  color: #666;
}

.fdtbdo-name {
  text-align: left;
  font-size: 1rem;
}

.fdtbdo-score {
  text-align: right;
  font-size: 1.2rem;
  font-weight: 800;
  color: #2e8b57;
}

.fdtbdo-winner {
  background: rgba(255, 223, 41, 0.65);
  border-radius: 12px;
  animation: fdtbdo-winnerPulse 1.5s ease-in-out infinite alternate;
}

@keyframes fdtbdo-winnerPulse {
  from { box-shadow: 0 0 8px gold; }
  to { box-shadow: 0 0 20px gold; }
}

@keyframes fdtbdo-goldPulsePro {
  from { box-shadow: 0 0 20px gold, 0 10px 30px rgba(0,0,0,0.3); }
  to { box-shadow: 0 0 45px gold, 0 20px 50px rgba(0,0,0,0.4); }
}

/* ============================= */
/* MOBILE */
/* ============================= */

@media (max-width: 992px) {

  .fdtbdo-card {
    width: 95%;
  }

  .fdtbdo-title {
    font-size: 2.3rem;
  }

  .fdtbdo-bracket {
    flex-direction: column;
  }

  .fdtbdo-match-card {
    width: 100%;
  }

  .fdtbdo-table {
    min-width: 700px;
  }

}






@keyframes fdsvs-fireFlicker {
  0% { text-shadow: 0 0 10px #fb923c; }
  50% { text-shadow: 0 0 20px #f97316; }
  100% { text-shadow: 0 0 12px #ea580c; }
}

@keyframes fdsvs-firePulse {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}

@keyframes fdsvs-emberRise {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}

@keyframes fdsvs-scramble-glow {
  0% { filter: drop-shadow(0 0 5px rgba(0, 150, 255, 0.4)); }
  50% { filter: drop-shadow(0 0 15px rgba(0, 200, 255, 0.8)); }
  100% { filter: drop-shadow(0 0 5px rgba(0, 150, 255, 0.4)); }
}

@keyframes fdcc-background-breathe {
  0% {
    background-position: 0% 50%;
    filter: brightness(1);
  }
  50% {
    background-position: 100% 50%;
    filter: brightness(1.15);
  }
  100% {
    background-position: 0% 50%;
    filter: brightness(1);
  }
}

@keyframes fdcc-light-pulse {
  0% { opacity: 0.4; }
  50% { opacity: 0.9; }
  100% { opacity: 0.4; }
}

@keyframes fdcc-title-fire {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}

@keyframes fdcc-title-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); }
}

.fdcc-main-title {
  animation:
    fdcc-title-fire 4s linear infinite,
    fdcc-title-pulse 5s ease-in-out infinite;
}

@keyframes fdcc-chalk-burst {
  0% {
    transform: scale(0.5) translate(0,0);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.5) translate(20px,-15px);
    opacity: 0.4;
  }
  100% {
    transform: scale(2.2) translate(40px,-30px);
    opacity: 0;
  }
}

@keyframes fdcc-round-enter {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.98);
        filter: blur(6px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes fdcc-score-shine {
    0% { left: -100%; }
    50% { left: 100%; }
    100% { left: 100%; }
}









@media (max-width: 1000px) {
  .fdsvs-header {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }

  .fdsvs-side {
    justify-content: center;
    gap: 20px;
  }

  .fdsvs-title {
    font-size: 2.4rem;
  }
}

@media (max-width: 992px) {

  .fdcc-main-title {
    font-size: 3rem;
    letter-spacing: 4px;
    margin-bottom: 50px;
  }

  .fdcc-round-selector-wrapper {
    width: 95%;
    gap: 12px;
  }

  .fdcc-scoreboard-table,
  .fdcc-finals-table {
    width: 95%;
  }

}

@media (max-width: 900px) {
  .fdsvs-scoreboard {
    width: 95%;
  }

  .fdsvs-game {
    grid-template-columns: 1fr;
    gap: 8px;
    text-align: center;
  }

  .fdsvs-winner {
    text-align: center;
  }
  .fdsvs-rosters {
    flex-direction: column;
    width: 90%;
    gap: 40px;
  }

  .fdsvs-team {
    padding: 20px;
  }

  .fdsvs-team-captain {
    width: 90px;
    height: 90px;
  }

  .fdsvs-team-name {
    font-size: 1.3rem;
  }

  .fdsvs-player-list li {
    font-size: 0.9rem;
  }

  .fdsvs-sports-bank {
    width: 90%;
  }

  .fdsvs-sports-bank-grid {
    flex-direction: column;
    gap: 25px;
  }

  .fdsvs-sports-bank-column {
    gap: 15px;
  }

  .fdsvs-sport-pill {
    padding: 12px 20px;
    font-size: 0.9rem;
  }

  .fdcc-scoreboard-wrapper {
    width: 95%;
  }

  .fdcc-round-selector-wrapper {
    gap: 12px;
  }

  .fdcc-round-tab {
    font-size: 0.9rem;
    padding: 10px 18px;
  }

  /* Reduce section padding */
  .fdcc-section-wrapper {
    padding: 60px 0;
  }

  /* Title scaling */
  .fdcc-main-title {
    font-size: 2.2rem;
    letter-spacing: 2px;
    margin-bottom: 40px;
  }

  /* Round buttons stack cleaner */
  .fdcc-round-selector-wrapper {
    width: 100%;
    gap: 10px;
  }

  .fdcc-round-tab {
    padding: 10px 16px;
    font-size: 0.8rem;
  }

  /* Tables full width */
  .fdcc-scoreboard-table,
  .fdcc-finals-table {
    width: 100%;
    font-size: 0.8rem;
  }

  /* Reduce cell padding */
  .fdcc-scoreboard-table th,
  .fdcc-scoreboard-table td,
  .fdcc-finals-table th,
  .fdcc-finals-table td {
    padding: 8px;
  }

  /* Color squares smaller */
  .fdcc-color-box {
    width: 14px;
    height: 14px;
  }
}
@media (max-width: 768px) {
  .fdsvs-title-sub {
    font-size: 1rem;
    letter-spacing: 2px;
  }
}

@media (max-width: 480px) {

  .fdcc-main-title {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }

  .fdcc-scoreboard-table,
  .fdcc-finals-table {
    font-size: 0.7rem;
  }

  .fdcc-round-tab {
    font-size: 0.7rem;
    padding: 8px 12px;
  }

}