/* July Warriors — container-only Gladiator theme */
/* Loaded only on /july-warriors/ */

.jw-warriors-page {
  background: #ffffff !important;
}

/* Keep official header/nav clean */
.jw-warriors-page header,
.jw-warriors-page nav,
.jw-warriors-page .navbar,
.jw-warriors-page .site-header {
  background: #ffffff !important;
  color: inherit !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Main page background: neutral, so the theme lives inside the leaderboard */
.jw-warriors-page main,
.jw-warriors-page .page,
.jw-warriors-page .wrapper {
  background:
    linear-gradient(180deg, #f6efe4 0%, #ffffff 70%) !important;
}

/* Big leaderboard container: Gladiator / arena / bronze mood */
.jw-warriors-page main > .container,
.jw-warriors-page .leaderboard-container,
.jw-warriors-page .competition-leaderboard,
.jw-warriors-page .ranking-wrapper {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 222, 157, .72), transparent 34%),
    radial-gradient(circle at 8% 14%, rgba(245, 128, 37, .20), transparent 28%),
    linear-gradient(145deg, #f7ead1 0%, #e2c391 42%, #b8763b 100%) !important;
  border: 1px solid rgba(111, 65, 28, .28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -22px 70px rgba(93, 47, 19, .16),
    0 22px 70px rgba(75, 42, 18, .18) !important;
}

/* Subtle sword scratches only inside the container */
.jw-warriors-page main > .container::before,
.jw-warriors-page .leaderboard-container::before,
.jw-warriors-page .competition-leaderboard::before,
.jw-warriors-page .ranking-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .14;
  background:
    linear-gradient(112deg, transparent 0 42%, rgba(98, 62, 35, .28) 43%, transparent 44% 100%),
    linear-gradient(72deg, transparent 0 58%, rgba(255,255,255,.42) 59%, transparent 60% 100%),
    linear-gradient(145deg, transparent 0 68%, rgba(98, 62, 35, .20) 69%, transparent 70% 100%);
  background-size: 280px 190px, 390px 240px, 520px 310px;
  mix-blend-mode: multiply;
}

/* Keep content above texture */
.jw-warriors-page main > .container > *,
.jw-warriors-page .leaderboard-container > *,
.jw-warriors-page .competition-leaderboard > *,
.jw-warriors-page .ranking-wrapper > * {
  position: relative;
  z-index: 1;
}

/* Cards inside the container: shield / parchment / polished metal */
.jw-warriors-page main > .container .card,
.jw-warriors-page main > .container [class*="card"],
.jw-warriors-page .leaderboard-container .card,
.jw-warriors-page .leaderboard-container [class*="card"],
.jw-warriors-page .competition-leaderboard .card,
.jw-warriors-page .competition-leaderboard [class*="card"],
.jw-warriors-page .ranking-wrapper .card,
.jw-warriors-page .ranking-wrapper [class*="card"] {
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.42)),
    linear-gradient(180deg, #fff3d9 0%, #e8cf9f 100%) !important;
  color: #14233a !important;
  border: 1px solid rgba(94, 61, 31, .22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 12px 32px rgba(84, 48, 19, .12) !important;
}

/* Light scratch texture on cards */
.jw-warriors-page main > .container .card::after,
.jw-warriors-page main > .container [class*="card"]::after,
.jw-warriors-page .leaderboard-container .card::after,
.jw-warriors-page .leaderboard-container [class*="card"]::after,
.jw-warriors-page .competition-leaderboard .card::after,
.jw-warriors-page .competition-leaderboard [class*="card"]::after,
.jw-warriors-page .ranking-wrapper .card::after,
.jw-warriors-page .ranking-wrapper [class*="card"]::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  opacity: .055;
  background:
    linear-gradient(110deg, transparent 0 45%, rgba(70, 43, 24, .35) 46%, transparent 47% 100%),
    linear-gradient(75deg, transparent 0 64%, rgba(255,255,255,.60) 65%, transparent 66% 100%);
  background-size: 220px 150px, 340px 220px;
  mix-blend-mode: multiply;
}

/* Typography: preserve readability */
.jw-warriors-page main > .container h1,
.jw-warriors-page main > .container h2,
.jw-warriors-page main > .container h3,
.jw-warriors-page .leaderboard-container h1,
.jw-warriors-page .leaderboard-container h2,
.jw-warriors-page .leaderboard-container h3,
.jw-warriors-page .competition-leaderboard h1,
.jw-warriors-page .competition-leaderboard h2,
.jw-warriors-page .competition-leaderboard h3,
.jw-warriors-page .ranking-wrapper h1,
.jw-warriors-page .ranking-wrapper h2,
.jw-warriors-page .ranking-wrapper h3 {
  color: #1c4775 !important;
}

/* Orange stats remain powerful */
.jw-warriors-page main > .container .stats-live h2,
.jw-warriors-page main > .container .stats-live h3,
.jw-warriors-page main > .container [class*="training"] h2,
.jw-warriors-page main > .container [class*="training"] h3,
.jw-warriors-page .leaderboard-container .stats-live h2,
.jw-warriors-page .leaderboard-container .stats-live h3,
.jw-warriors-page .competition-leaderboard .stats-live h2,
.jw-warriors-page .competition-leaderboard .stats-live h3 {
  color: #f58025 !important;
}

/* Metrics / numbers */
.jw-warriors-page main > .container .number,
.jw-warriors-page main > .container .metric,
.jw-warriors-page main > .container [class*="metric"],
.jw-warriors-page main > .container [class*="stat"] {
  color: #1c4775 !important;
}

/* Pulse / training stats protected */
.jw-warriors-page main > .container .stats-live,
.jw-warriors-page main > .container [class*="pulse"],
.jw-warriors-page main > .container [class*="Pulse"] {
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.45)),
    linear-gradient(180deg, #fff0cf 0%, #e3c18b 100%) !important;
  color: #14233a !important;
  border: 1px solid rgba(94, 61, 31, .24) !important;
}

/* CTA: keep Road2Race orange */
.jw-warriors-page main > .container .btn,
.jw-warriors-page main > .container button,
.jw-warriors-page main > .container .cta,
.jw-warriors-page main > .container a[class*="btn"] {
  background: linear-gradient(180deg, #ffae5b, #f58025) !important;
  color: #ffffff !important;
  border: 1px solid rgba(160, 73, 18, .28) !important;
  box-shadow: 0 8px 20px rgba(150, 72, 20, .20) !important;
}

/* Links inside leaderboard */
.jw-warriors-page main > .container a {
  color: #1c4775 !important;
}

/* Images/logos normal */
.jw-warriors-page img {
  filter: none !important;
}

/* July Warriors plaque next to Road2Race logo */

.jw-warriors-page .jw-logo-area {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  width: 100% !important;
}

.jw-warriors-page .jw-logo-area img {
  flex: 0 0 auto !important;
}

.jw-logo-edition {
  position: relative;
  flex: 1 1 auto;
  max-width: 560px;
  min-height: 116px;
  padding: 22px 28px;
  border-radius: 26px;
  overflow: hidden;
  text-align: right;
  background:
    linear-gradient(105deg, rgba(43, 25, 14, .94), rgba(102, 54, 25, .86) 52%, rgba(176, 102, 45, .72)),
    radial-gradient(circle at 78% 18%, rgba(255, 220, 150, .34), transparent 34%);
  border: 1px solid rgba(255, 218, 142, .40);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -14px 28px rgba(50, 22, 8, .24),
    0 16px 38px rgba(84, 43, 17, .20);
}

.jw-logo-edition::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .28;
  background:
    linear-gradient(112deg, transparent 0 42%, rgba(255,255,255,.42) 43%, transparent 44% 100%),
    linear-gradient(72deg, transparent 0 58%, rgba(0,0,0,.28) 59%, transparent 60% 100%),
    linear-gradient(146deg, transparent 0 70%, rgba(255,255,255,.30) 71%, transparent 72% 100%);
  background-size: 210px 150px, 330px 220px, 460px 280px;
  mix-blend-mode: screen;
}

.jw-logo-edition::after {
  content: "⚔";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(-18deg);
  font-size: 86px;
  line-height: 1;
  color: rgba(255, 226, 170, .18);
  text-shadow: 0 0 22px rgba(255, 226, 170, .20);
}

.jw-logo-kicker,
.jw-logo-title,
.jw-logo-subtitle {
  position: relative;
  z-index: 1;
}

.jw-logo-kicker {
  color: #ffd88e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.jw-logo-title {
  margin-top: 6px;
  color: #fff3d6;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.045em;
  text-transform: uppercase;
  text-shadow:
    0 3px 0 rgba(0,0,0,.42),
    0 0 20px rgba(245,128,37,.34);
}

.jw-logo-subtitle {
  margin-top: 8px;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .jw-warriors-page .jw-logo-area {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .jw-logo-edition {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .jw-logo-edition::after {
    right: 20px;
    left: auto;
    font-size: 62px;
  }
}

/* July Warriors plaque next to Road2Race logo */

.jw-warriors-page .jw-logo-area {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  width: 100% !important;
}

.jw-warriors-page .jw-logo-area img {
  flex: 0 0 auto !important;
}

.jw-logo-edition {
  position: relative;
  flex: 1 1 auto;
  max-width: 560px;
  min-height: 116px;
  padding: 22px 28px;
  border-radius: 26px;
  overflow: hidden;
  text-align: right;
  background:
    linear-gradient(105deg, rgba(43, 25, 14, .94), rgba(102, 54, 25, .86) 52%, rgba(176, 102, 45, .72)),
    radial-gradient(circle at 78% 18%, rgba(255, 220, 150, .34), transparent 34%);
  border: 1px solid rgba(255, 218, 142, .40);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -14px 28px rgba(50, 22, 8, .24),
    0 16px 38px rgba(84, 43, 17, .20);
}

.jw-logo-edition::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .28;
  background:
    linear-gradient(112deg, transparent 0 42%, rgba(255,255,255,.42) 43%, transparent 44% 100%),
    linear-gradient(72deg, transparent 0 58%, rgba(0,0,0,.28) 59%, transparent 60% 100%),
    linear-gradient(146deg, transparent 0 70%, rgba(255,255,255,.30) 71%, transparent 72% 100%);
  background-size: 210px 150px, 330px 220px, 460px 280px;
  mix-blend-mode: screen;
}

.jw-logo-edition::after {
  content: "⚔";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(-18deg);
  font-size: 86px;
  line-height: 1;
  color: rgba(255, 226, 170, .18);
  text-shadow: 0 0 22px rgba(255, 226, 170, .20);
}

.jw-logo-kicker,
.jw-logo-title,
.jw-logo-subtitle {
  position: relative;
  z-index: 1;
}

.jw-logo-kicker {
  color: #ffd88e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.jw-logo-title {
  margin-top: 6px;
  color: #fff3d6;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.045em;
  text-transform: uppercase;
  text-shadow:
    0 3px 0 rgba(0,0,0,.42),
    0 0 20px rgba(245,128,37,.34);
}

.jw-logo-subtitle {
  margin-top: 8px;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .jw-warriors-page .jw-logo-area {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .jw-logo-edition {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .jw-logo-edition::after {
    right: 20px;
    left: auto;
    font-size: 62px;
  }
}

/* Moodboard image as background inside leaderboard container */
.jw-warriors-page main > .container,
.jw-warriors-page .leaderboard-container,
.jw-warriors-page .competition-leaderboard,
.jw-warriors-page .ranking-wrapper {
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.72)),
    linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 42%, rgba(255,255,255,.58) 100%),
    url('/assets/img/july-warriors/bg.jpg') center top / cover no-repeat !important;
}

/* Keep all cards readable over the image */
.jw-warriors-page main > .container .card,
.jw-warriors-page main > .container [class*="card"],
.jw-warriors-page .leaderboard-container .card,
.jw-warriors-page .leaderboard-container [class*="card"],
.jw-warriors-page .competition-leaderboard .card,
.jw-warriors-page .competition-leaderboard [class*="card"],
.jw-warriors-page .ranking-wrapper .card,
.jw-warriors-page .ranking-wrapper [class*="card"] {
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(10px);
}


/* July Warriors plaque next to Road2Race logo */

.jw-warriors-page .jw-logo-area {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  width: 100% !important;
}

.jw-warriors-page .jw-logo-area img {
  flex: 0 0 auto !important;
}

.jw-logo-edition {
  position: relative;
  flex: 1 1 auto;
  max-width: 560px;
  min-height: 116px;
  padding: 22px 28px;
  border-radius: 26px;
  overflow: hidden;
  text-align: right;
  background:
    linear-gradient(105deg, rgba(43, 25, 14, .94), rgba(102, 54, 25, .86) 52%, rgba(176, 102, 45, .72)),
    radial-gradient(circle at 78% 18%, rgba(255, 220, 150, .34), transparent 34%);
  border: 1px solid rgba(255, 218, 142, .40);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -14px 28px rgba(50, 22, 8, .24),
    0 16px 38px rgba(84, 43, 17, .20);
}

.jw-logo-edition::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .28;
  background:
    linear-gradient(112deg, transparent 0 42%, rgba(255,255,255,.42) 43%, transparent 44% 100%),
    linear-gradient(72deg, transparent 0 58%, rgba(0,0,0,.28) 59%, transparent 60% 100%),
    linear-gradient(146deg, transparent 0 70%, rgba(255,255,255,.30) 71%, transparent 72% 100%);
  background-size: 210px 150px, 330px 220px, 460px 280px;
  mix-blend-mode: screen;
}

.jw-logo-edition::after {
  content: "⚔";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(-18deg);
  font-size: 86px;
  line-height: 1;
  color: rgba(255, 226, 170, .18);
  text-shadow: 0 0 22px rgba(255, 226, 170, .20);
}

.jw-logo-kicker,
.jw-logo-title,
.jw-logo-subtitle {
  position: relative;
  z-index: 1;
}

.jw-logo-kicker {
  color: #ffd88e;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.jw-logo-title {
  margin-top: 6px;
  color: #fff3d6;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: -.045em;
  text-transform: uppercase;
  text-shadow:
    0 3px 0 rgba(0,0,0,.42),
    0 0 20px rgba(245,128,37,.34);
}

.jw-logo-subtitle {
  margin-top: 8px;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .jw-warriors-page .jw-logo-area {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .jw-logo-edition {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .jw-logo-edition::after {
    right: 20px;
    left: auto;
    font-size: 62px;
  }
}

/* DEBUG EXTREMO: verificar fondo July Warriors */

.jw-warriors-page .jw-warriors-shell {
  position: relative !important;
  overflow: hidden !important;
  background: url('/assets/img/july-warriors/bg.jpg') center center / cover no-repeat !important;
  border: 4px solid red !important;
}

/* Apagar overlays anteriores sobre el shell */
.jw-warriors-page .jw-warriors-shell::before,
.jw-warriors-page .jw-warriors-shell::after {
  display: none !important;
}

/* Hacer transparente la zona superior donde está el logo */
.jw-warriors-page .jw-warriors-shell .jw-logo-area,
.jw-warriors-page .jw-warriors-shell .jw-logo-area > * {
  background: transparent !important;
}

/* Bajar opacidad visual de bloques internos para que se vea el fondo */
.jw-warriors-page .jw-warriors-shell section,
.jw-warriors-page .jw-warriors-shell .card,
.jw-warriors-page .jw-warriors-shell [class*="card"],
.jw-warriors-page .jw-warriors-shell .leaderboard-card,
.jw-warriors-page .jw-warriors-shell .ranking-card,
.jw-warriors-page .jw-warriors-shell .stats-live,
.jw-warriors-page .jw-warriors-shell [class*="stats"],
.jw-warriors-page .jw-warriors-shell [class*="pulse"] {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* La placa July Warriors sí puede quedar más oscura */
.jw-warriors-page .jw-logo-edition {
  background:
    linear-gradient(105deg, rgba(16, 13, 10, .90), rgba(45, 27, 16, .86) 48%, rgba(96, 51, 24, .78)),
    url('/assets/img/july-warriors/bg.jpg') center center / cover no-repeat !important;
}


/* REMOVE moodboard background test */

.jw-warriors-page .jw-warriors-shell,
.jw-warriors-page main > .container,
.jw-warriors-page .leaderboard-container,
.jw-warriors-page .competition-leaderboard,
.jw-warriors-page .ranking-wrapper {
  background: #ffffff !important;
  border: none !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.08) !important;
}

.jw-warriors-page .jw-warriors-shell::before,
.jw-warriors-page .jw-warriors-shell::after,
.jw-warriors-page main > .container::before,
.jw-warriors-page main > .container::after,
.jw-warriors-page .leaderboard-container::before,
.jw-warriors-page .leaderboard-container::after,
.jw-warriors-page .competition-leaderboard::before,
.jw-warriors-page .competition-leaderboard::after,
.jw-warriors-page .ranking-wrapper::before,
.jw-warriors-page .ranking-wrapper::after {
  display: none !important;
}

.jw-warriors-page .jw-warriors-shell section,
.jw-warriors-page .jw-warriors-shell .card,
.jw-warriors-page .jw-warriors-shell [class*="card"],
.jw-warriors-page .jw-warriors-shell .leaderboard-card,
.jw-warriors-page .jw-warriors-shell .ranking-card,
.jw-warriors-page .jw-warriors-shell .stats-live,
.jw-warriors-page .jw-warriors-shell [class*="stats"],
.jw-warriors-page .jw-warriors-shell [class*="pulse"] {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* July Warriors final logo */
.jw-final-logo {
  width: min(560px, 88vw);
  aspect-ratio: 676 / 343;
  margin: 18px auto 24px;
  background-image: url("/assets/img/july-warriors/r2r-july-warriors-logo.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter:
    drop-shadow(0 16px 28px rgba(0, 0, 0, 0.26))
    drop-shadow(0 2px 0 rgba(245, 128, 37, 0.16));
}

@media (max-width: 768px) {
  .jw-final-logo {
    width: min(92vw, 430px);
    margin: 14px auto 18px;
  }
}


/* Final July Warriors logo placement */
.jw-logo-area {
  min-height: auto !important;
}

.jw-logo-edition {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 720px !important;
  min-height: 280px !important;
  height: auto !important;
  margin: 8px auto 24px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.jw-final-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 100 !important;

  width: min(560px, 88vw) !important;
  height: auto !important;
  min-height: 284px !important;
  aspect-ratio: 676 / 343 !important;

  margin: 0 auto !important;
  padding: 0 !important;

  background-image: url("/assets/img/july-warriors/r2r-july-warriors-logo.webp?v=logo-final-2") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;

  filter:
    drop-shadow(0 16px 28px rgba(0, 0, 0, 0.26))
    drop-shadow(0 2px 0 rgba(245, 128, 37, 0.16)) !important;
}

.jw-logo-kicker,
.jw-logo-title,
.jw-plaque-top {
  display: none !important;
}

@media (max-width: 768px) {
  .jw-logo-edition {
    max-width: 96vw !important;
    min-height: 220px !important;
    margin: 6px auto 18px !important;
  }

  .jw-final-logo {
    width: min(92vw, 430px) !important;
    min-height: 218px !important;
  }
}

/* Hide old injected July Warriors plaque/logo */
.jw-final-logo,
.jw-logo-edition {
  display: none !important;
}

/* Contenedor del logo: permitir que crezca sin correrse */
.jw-warriors-page .jw-logo-area,
.jw-warriors-shell .jw-logo-area,
.jw-logo-area {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: visible !important;
  text-align: center !important;
}

/* Mobile: centrado real y 15% más grande sin quedar cortado */
@media (max-width: 768px) {
  .jw-warriors-page img[src*="r2r-july-warriors-logo.webp"],
  .jw-warriors-shell img[src*="r2r-july-warriors-logo.webp"],
  img[src*="r2r-july-warriors-logo.webp"] {
    width: 115% !important;
    max-width: 115% !important;
    transform: translateX(-7.5%) !important;
    margin-top: 6px !important;
    margin-bottom: 18px !important;
  }

  .jw-warriors-page .jw-logo-area,
  .jw-warriors-shell .jw-logo-area,
  .jw-logo-area {
    width: 100% !important;
    overflow: visible !important;
  }
}

/* Mobile: que el logo quede centrado aunque sea 15% más ancho */
@media (max-width: 768px) {
  img[src*="r2r-july-warriors-logo.webp"] {
    width: 115% !important;
    max-width: 115% !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
  }
}

/* Permitir que el logo escalado no quede recortado */
.jw-logo-area,
.jw-warriors-shell,
.jw-warriors-page,
[class*="logo"],
[class*="hero"] {
  overflow: visible !important;
}

/* Mobile: centrado real + 15% más grande */
@media (max-width: 768px) {
  img[src*="r2r-july-warriors-logo.webp"] {
    max-width: 86vw !important;
    margin: 12px auto 36px !important;
    left: 50% !important;
    transform: translateX(-50%) scale(1.15) !important;
    transform-origin: center center !important;
  }
}


/* Contenedor del logo: centrado y sin recortes */
.jw-logo-area,
.jw-warriors-page .jw-logo-area,
.jw-warriors-shell .jw-logo-area,
.leaderboard-logo,
.competition-logo,
[class*="logo"] {
  text-align: center !important;
  overflow: visible !important;
}

/* Mobile: centrado real y más grande */
@media (max-width: 768px) {
  img[src*="r2r-july-warriors-logo.webp"] {
    width: min(108vw, 520px) !important;
    max-width: none !important;
    margin: 18px auto 32px !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}


/* Contenedor del logo: centrado y sin recortes */
.jw-logo-area,
.jw-warriors-page .jw-logo-area,
.jw-warriors-shell .jw-logo-area,
.leaderboard-logo,
.competition-logo,
[class*="logo"] {
  text-align: center !important;
  overflow: visible !important;
}

/* Mobile: centrado real y más grande */
@media (max-width: 768px) {
  img[src*="r2r-july-warriors-logo.webp"] {
    width: min(108vw, 520px) !important;
    max-width: none !important;
    margin: 18px auto 32px !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}


/* July Warriors logo hard reset */
.jw-main-logo-wrap-final {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

img.jw-main-logo-final,
.jw-main-logo-final {
  display: block !important;
  width: min(640px, 94vw) !important;
  max-width: none !important;
  height: auto !important;
  margin: 18px auto 32px auto !important;
  padding: 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  float: none !important;
}

@media (max-width: 768px) {
  img.jw-main-logo-final,
  .jw-main-logo-final {
    width: min(500px, 96vw) !important;
    max-width: none !important;
    margin: 16px auto 28px auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}

/* July Warriors logo safe centering */
img[src*="r2r-july-warriors-logo.webp"] {
  display: block !important;
  width: min(620px, 96vw) !important;
  max-width: none !important;
  height: auto !important;
  margin: 18px auto 32px auto !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 768px) {
  img[src*="r2r-july-warriors-logo.webp"] {
    width: min(480px, 96vw) !important;
    max-width: 96vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* July Warriors - reemplazo azul oscuro por marrón gladiator */
.jw-warriors-page,
.jw-warriors-shell {
  --jw-dark-brown: #5A351B;
  --jw-deep-brown: #3F2614;
}

/* Títulos principales antes azules */
.jw-warriors-page h1,
.jw-warriors-page h2,
.jw-warriors-page h3,
.jw-warriors-page .leaderboard-title,
.jw-warriors-page .leaderboard-country-ribbon-title,
.jw-warriors-page .stats-title,
.jw-warriors-page .card-title,
.jw-warriors-page [class*="title"] {
  color: var(--jw-dark-brown) !important;
}

/* Números grandes antes azul oscuro */
.jw-warriors-page .stat-number,
.jw-warriors-page .stats-number,
.jw-warriors-page .card-number,
.jw-warriors-page [class*="number"],
.jw-warriors-page [class*="value"] {
  color: var(--jw-dark-brown) !important;
}

/* Textos de países, labels y datos secundarios que estaban en azul */
.jw-warriors-page .leaderboard-country-name,
.jw-warriors-page .country-name,
.jw-warriors-page .stat-label,
.jw-warriors-page .card-label,
.jw-warriors-page .metric-label,
.jw-warriors-page [class*="label"] {
  color: var(--jw-deep-brown) !important;
}

/* Links / nombres destacados que heredaban azul */
.jw-warriors-page a,
.jw-warriors-page .athlete-name,
.jw-warriors-page .team-name,
.jw-warriors-page [class*="name"] {
  color: var(--jw-dark-brown) !important;
}

/* Mantener acentos naranjas existentes */
.jw-warriors-page .stats-kicker,
.jw-warriors-page .leaderboard-kicker,
.jw-warriors-page [class*="kicker"] {
  color: #f58025 !important;
}

/* Mobile: bajar un poco menos para no comerse el ranking */
@media (max-width: 768px) {
  img[src*="r2r-july-warriors-logo.webp"],
  img[src*="r2r-july-warriors-logo.png"] {
    transform: translateY(24px) !important;
    margin-top: 8px !important;
    margin-bottom: 20px !important;
  }
}


/* July Warriors - posición vertical final del logo */
.jw-warriors-page img[src*="r2r-july-warriors-logo.webp"],
.jw-warriors-page img[src*="r2r-july-warriors-logo.png"],
.jw-warriors-shell img[src*="r2r-july-warriors-logo.webp"],
.jw-warriors-shell img[src*="r2r-july-warriors-logo.png"],
img[src*="r2r-july-warriors-logo.webp"],
img[src*="r2r-july-warriors-logo.png"] {
  position: relative !important;
  top: 14px !important;
  transform: none !important;
}

/* Mobile: bajar un poco más, sin desplazar el layout */
@media (max-width: 768px) {
  .jw-warriors-page img[src*="r2r-july-warriors-logo.webp"],
  .jw-warriors-page img[src*="r2r-july-warriors-logo.png"],
  .jw-warriors-shell img[src*="r2r-july-warriors-logo.webp"],
  .jw-warriors-shell img[src*="r2r-july-warriors-logo.png"],
  img[src*="r2r-july-warriors-logo.webp"],
  img[src*="r2r-july-warriors-logo.png"] {
    position: relative !important;
    top: 22px !important;
    transform: none !important;
  }
}


/* July Warriors - mobile logo containment final */
@media (max-width: 768px) {
  body .jw-warriors-page img[src*="r2r-july-warriors-logo"],
  body .jw-warriors-shell img[src*="r2r-july-warriors-logo"],
  body img[src*="r2r-july-warriors-logo"] {
    display: block !important;
    width: 86% !important;
    max-width: 86% !important;
    height: auto !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 24px !important;
    margin-bottom: 34px !important;

    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    object-fit: contain !important;
    object-position: center center !important;
  }

  body .jw-logo-area,
  body .jw-warriors-page .jw-logo-area,
  body .jw-warriors-shell .jw-logo-area,
  body [class*="logo"] {
    text-align: center !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* July Warriors - marquee teams palette */
.jw-warriors-page .teams-marquee,
.jw-warriors-page .marquee,
.jw-warriors-page [class*="marquee"],
.jw-warriors-shell .teams-marquee,
.jw-warriors-shell .marquee,
.jw-warriors-shell [class*="marquee"] {
  background: #4A2B16 !important;
  border-color: #A8753A !important;
  color: #F3E3C5 !important;
}

/* Team chips/items dentro del marquee */
.jw-warriors-page .teams-marquee *,
.jw-warriors-page .marquee *,
.jw-warriors-page [class*="marquee"] *,
.jw-warriors-shell .teams-marquee *,
.jw-warriors-shell .marquee *,
.jw-warriors-shell [class*="marquee"] * {
  color: #F3E3C5 !important;
}

/* Si cada team viene como chip/card gris */
.jw-warriors-page [class*="team"],
.jw-warriors-shell [class*="team"] {
  border-color: rgba(168, 117, 58, 0.45) !important;
}

/* Chips específicos dentro de carruseles/marquee */
.jw-warriors-page [class*="marquee"] [class*="team"],
.jw-warriors-shell [class*="marquee"] [class*="team"] {
  background: #C89A5B !important;
  color: #3A2111 !important;
  border-color: #A8753A !important;
}

/* Links dentro del marquee */
.jw-warriors-page [class*="marquee"] a,
.jw-warriors-shell [class*="marquee"] a {
  color: #3A2111 !important;
}

/* July Warriors - marquee tipográfico, sin layer */
.jw-warriors-page [class*="marquee"],
.jw-warriors-shell [class*="marquee"],
.jw-warriors-page .teams-marquee,
.jw-warriors-shell .teams-marquee {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Quitar cajas/chips dentro del marquee */
.jw-warriors-page [class*="marquee"] *,
.jw-warriors-shell [class*="marquee"] * {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Color tipográfico del marquee */
.jw-warriors-page [class*="marquee"],
.jw-warriors-shell [class*="marquee"],
.jw-warriors-page [class*="marquee"] *,
.jw-warriors-shell [class*="marquee"] *,
.jw-warriors-page [class*="marquee"] a,
.jw-warriors-shell [class*="marquee"] a {
  color: #5A351B !important;
}

/* Separadores / emojis / detalles secundarios */
.jw-warriors-page [class*="marquee"] span,
.jw-warriors-shell [class*="marquee"] span {
  color: #A8753A !important;
}

/* Mobile: mantenerlo limpio */
@media (max-width: 768px) {
  .jw-warriors-page [class*="marquee"],
  .jw-warriors-shell [class*="marquee"] {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* July Warriors - limpiar highlights internos del marquee */
.jw-warriors-page [class*="marquee"] *,
.jw-warriors-shell [class*="marquee"] *,
.jw-warriors-page [class*="marquee"] span,
.jw-warriors-shell [class*="marquee"] span,
.jw-warriors-page [class*="marquee"] strong,
.jw-warriors-shell [class*="marquee"] strong,
.jw-warriors-page [class*="marquee"] b,
.jw-warriors-shell [class*="marquee"] b,
.jw-warriors-page [class*="marquee"] em,
.jw-warriors-shell [class*="marquee"] em,
.jw-warriors-page [class*="marquee"] mark,
.jw-warriors-shell [class*="marquee"] mark,
.jw-warriors-page [class*="marquee"] a,
.jw-warriors-shell [class*="marquee"] a {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
  text-decoration: none !important;
}

/* Colores tipográficos del marquee */
.jw-warriors-page [class*="marquee"],
.jw-warriors-shell [class*="marquee"] {
  background: transparent !important;
  color: #5A351B !important;
}

.jw-warriors-page [class*="marquee"] *,
.jw-warriors-shell [class*="marquee"] * {
  color: #5A351B !important;
}

/* Separadores tipo flechita / bullet */
.jw-warriors-page [class*="marquee"] .separator,
.jw-warriors-shell [class*="marquee"] .separator,
.jw-warriors-page [class*="marquee"] [class*="sep"],
.jw-warriors-shell [class*="marquee"] [class*="sep"] {
  color: #A8753A !important;
}

/* July Warriors - marquee 100% tipográfico */
.r2r-top-marquee,
.r2r-top-marquee-track,
.r2r-top-marquee-item {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Sacar rectángulo de fondo de los nombres de equipo */
.r2r-top-marquee .r2r-marquee-team {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #A8753A !important;
  font-weight: 700 !important;
}

/* Texto principal del marquee */
.r2r-top-marquee strong {
  color: #5A351B !important;
}

/* Separadores */
.r2r-top-marquee .r2r-marquee-sep {
  color: #A8753A !important;
  background: transparent !important;
}

/* July Warriors - fina nevada sobre zona logo */
.jw-warriors-page img[src*="r2r-july-warriors-logo"],
.jw-warriors-shell img[src*="r2r-july-warriors-logo"] {
  position: relative !important;
  z-index: 2 !important;
}

.jw-warriors-page .leaderboard-brand-sponsors-row,
.jw-warriors-shell .leaderboard-brand-sponsors-row {
  position: relative !important;
  overflow: hidden !important;
}

.jw-warriors-page .leaderboard-brand-sponsors-row::before,
.jw-warriors-shell .leaderboard-brand-sponsors-row::before {
  content: "";
  position: absolute;
  inset: -20px 0 0 0;
  pointer-events: none;
  z-index: 3;
  opacity: 0.58;

  background-image:
    radial-gradient(circle, rgba(255,255,255,0.95) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(243,227,197,0.9) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(255,255,255,0.65) 0 0.8px, transparent 1.4px);

  background-size:
    42px 42px,
    68px 68px,
    96px 96px;

  background-position:
    0 0,
    18px 12px,
    42px 28px;

  animation: jwFineSnow 14s linear infinite;
}

@keyframes jwFineSnow {
  0% {
    background-position:
      0 -80px,
      18px -120px,
      42px -160px;
  }
  100% {
    background-position:
      0 260px,
      18px 340px,
      42px 420px;
  }
}

@media (max-width: 768px) {
  .jw-warriors-page .leaderboard-brand-sponsors-row::before,
  .jw-warriors-shell .leaderboard-brand-sponsors-row::before {
    opacity: 0.48;
    background-size:
      38px 38px,
      62px 62px,
      88px 88px;
    animation-duration: 16s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jw-warriors-page .leaderboard-brand-sponsors-row::before,
  .jw-warriors-shell .leaderboard-brand-sponsors-row::before {
    animation: none !important;
  }
}

/* July Warriors: nevada un poco más visible sobre zona logo */
.july-warriors-hero::after {
  opacity: 0.55 !important;
  background-size: 150px 150px, 220px 220px, 310px 310px !important;
  animation-duration: 11s !important;
}

@keyframes jwFineSnow {
  from {
    background-position: 0 0, 40px 60px, 80px 120px;
  }
  to {
    background-position: 70px 240px, 110px 330px, 150px 430px;
  }
}
