/* ════════════════════════════════════════════════════════════
   PAPEL · las tablas de resultados (Ruta y Running) hablan el idioma del
   Cartel del Fest, igual que el inicio y las fichas: papel crema, tinta,
   el rojo, amarillo y verde del evento y sombras impresas. Solo hay tema
   claro: sus tokens toman la paleta del afiche (header y footer siguen
   siendo islas oscuras). Se carga después de los estilos de cada página.
   ════════════════════════════════════════════════════════════ */
:root[data-theme="light"] {
  --d-bg:#FFF6DA; --d-bg-2:#FFFBEC; --d-surface:#FFFBEC; --d-line:rgba(30,8,8,.16);
  --c-white:#1E0808; --c-gray:#6E4B3B; --c-gray-2:#7E5D4B; --c-gray-3:#9C8068;
  --c-lime:#AF3130; --c-accent-br:#AF3130; --link-ink:#AF3130; --chip-accent:#AF3130; --chip-accent-ink:#FFF4D6;
  --c-gold:#946500; --c-green:#208030; --accent-rgb:175,49,48;
  --sb-above:#208030; --sb-above-bg:rgba(32,128,48,.12); --sb-below:#6E4B3B; --sb-below-bg:rgba(30,8,8,.05);
  --d-bg-rgb:255,246,218; --d-bg-2-rgb:255,251,236; --c-gray-rgb:110,75,59;
  --hair:rgba(30,8,8,.07); --stripe:rgba(30,8,8,.025);
  --chart-grid:rgba(30,8,8,.12); --chart-axis:rgba(30,8,8,.26); --chart-halo:rgba(255,246,218,.92);
  /* El corredor en las gráficas: rojo (el neón no se lee sobre crema) */
  --me-ink:#AF3130; --me-line:rgba(175,49,48,.6);
}

/* Portada: una franja del afiche. El arte (1080×700) va abajo a la derecha y el
   sol sale de la cúpula (53 %, 68 % del arte); en móvil el arte va debajo del texto. */
.cartel-banda { position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 270px;
  margin-bottom: 1.6rem; border: 2px solid #1E0808; border-radius: 16px; box-shadow: 4px 4px 0 #1E0808; color: #1E0808;
  background: radial-gradient(120% 90% at 30% 40%, transparent 55%, rgba(150,60,0,.28)), #F0D000;
  animation: riseIn .55s cubic-bezier(.16,1,.3,1) backwards; }
.cartel-banda::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .6;
  background: url(granfondonairo/tarjetas/festival-grano.png) 0 0 / 256px 256px; }
.cb-arte { position: absolute; right: -2%; bottom: 46px; height: calc(100% - 46px); aspect-ratio: 1080 / 700; }
.cb-sol { position: absolute; left: calc(53% - 950px); top: calc(68% - 950px); width: 1900px; height: 1900px; max-width: none; }
.cb-cat { position: absolute; inset: 0; background: url(granfondonairo/tarjetas/festival-cartel.png) center bottom / 100% auto no-repeat;
  -webkit-mask-image: linear-gradient(to right, transparent 4%, #000 24%); mask-image: linear-gradient(to right, transparent 4%, #000 24%); }
.cb-texto { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; align-items: flex-start;
  justify-content: center; gap: .35rem; padding: 1.6rem 2rem; max-width: 56%; }
.cb-titulo { font: 400 clamp(3.6rem, 9vw, 6.4rem)/.9 var(--font-display); text-transform: uppercase; color: #AF3130;
  text-shadow: .035em .035em 0 #1E0808; margin-top: .3rem; }
.cb-sub { font: 400 clamp(1.3rem, 3vw, 1.9rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: .03em; }
.cb-sub i, .cb-franja i { color: #AF3130; font-style: normal; margin: 0 .5em; }
.cb-franja { position: relative; z-index: 2; height: 46px; display: flex; align-items: center; justify-content: center;
  background: #1E0808; color: #F0D000; letter-spacing: .06em; white-space: nowrap;
  font: 400 clamp(1.15rem, 3vw, 1.6rem)/1 var(--font-display); }
@media (max-width: 640px) {
  .cb-texto { max-width: none; align-items: center; text-align: center; padding: 1.3rem 1rem calc(50vw + 1rem); }
  .cb-arte { left: 0; right: 0; height: auto; width: 100%; }
}

/* Título, controles y tabla: tarjetas de papel con borde de tinta y sombra impresa */
.page-title::after { background: #1E0808; border-radius: 0; height: 4px; }
.sport-badge, .page-title .sport-badge { background: #AF3130; color: #FFF4D6; }
.select-wrap select, .search-input { border: 2px solid #1E0808; }
.table-wrap, :root[data-theme="light"] .table-wrap { border: 2px solid #1E0808; box-shadow: 4px 4px 0 #1E0808; }
thead th { background: #1E0808; color: #F0D000; border-bottom: 0; }

/* Buscador general en la tabla: la prueba y categoría bajo el nombre */
.bus-meta { margin-top: 2px; font: 500 .78rem/1.3 var(--font-ui); color: #6E4B3B; text-transform: none; }
