/* Añadidos propios de la web sobre noche.css (el sistema del mockup «Noche de carrera»). */

/* Robustez con datos reales: nombres largos en mayúsculas, móviles de 375 px */
h1,h2,h3{overflow-wrap:anywhere}
.contenedor{min-width:0}
main{display:block}
.nav a.activo.live{box-shadow:inset 0 -2px 0 var(--naranja)}
.hero .ojo{display:block}

/* Menú móvil */
.cabecera.menu-abierto .nav{display:flex;position:absolute;left:0;right:0;top:68px;background:var(--negro);flex-direction:column;gap:0;padding:8px 20px 16px;border-bottom:1px solid var(--linea)}
.cabecera.menu-abierto .nav a{padding:12px 0;border-bottom:1px solid var(--linea);color:var(--texto)}
.cabecera.menu-abierto .nav a.activo{box-shadow:none;color:var(--naranja)}
@media(min-width:960px){.cabecera.menu-abierto .nav{position:static;flex-direction:row;padding:0;border:0;gap:26px}.cabecera.menu-abierto .nav a{padding:0;border:0}}
.acciones .btn-sm{display:none}
@media(min-width:480px){.acciones .btn-sm{display:inline-flex}}

/* Migas */
.migas{display:flex;flex-wrap:wrap;gap:0 6px}
.migas a{color:var(--gris)}
.migas [aria-current]{color:var(--texto-2)}

/* Tarjetas con datos reales */
.tarjeta .sin-cartel{position:absolute;inset:0}
.tarjeta .texto h3{font-size:var(--h3-sm)}
/* Ficha A (elegida por Fran el 31-10-2026): calendario grande + etiqueta naranja de disciplina.
   Sin distancias ni tarifas: solo fecha, localidad y disciplina. */
.tarjeta .velo{background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.45) 42%,transparent 68%)}
.tarjeta .calendario{position:absolute;top:14px;left:14px;width:78px;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.55);font-family:var(--fuente-titular);text-align:center;line-height:1;background:#fff;color:#000}
.tarjeta .calendario .mes{display:block;background:var(--naranja);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 0 5px}
.tarjeta .calendario b{display:block;font-size:48px;font-weight:800;padding:8px 0 2px}
.tarjeta .calendario .sem{display:block;color:#555;font:700 11px/1 var(--fuente);letter-spacing:.12em;text-transform:uppercase;padding:0 0 8px}
.tarjeta .disc{display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 120px);overflow:hidden;white-space:nowrap;background:var(--naranja);color:#000;border:0;backdrop-filter:none;border-radius:var(--radio-sm);padding:8px 12px;font-family:var(--fuente-titular);font-weight:800;font-size:17px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.tarjeta .disc{--ac:#000}
.tarjeta .disc .ico-disc{width:19px;height:19px}

/* Iconos de disciplina (familia «Palo», static/img/disciplinas.svg). El acento (--ac) es
   naranja salvo sobre fondo naranja, donde pasa a negro. */
.ico-disc{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.15em;overflow:visible}
.disciplina .ico-disc{width:20px;height:20px}
.disciplina.activa{--ac:#000}
.chips span.disc .ico-disc{width:18px;height:18px}
.tarjeta .sin-cartel .ico-disc{width:42%;height:auto;aspect-ratio:1;color:var(--gris)}
.ficha-hero .cartel.sin-cartel .ico-disc{width:45%;height:auto;aspect-ratio:1;color:var(--gris)}
.lista .mini.sin-cartel .ico-disc{width:30px;height:30px;color:var(--gris)}
.tarjeta .texto{display:grid;gap:7px}
.tarjeta .texto h3{margin:0}
.tarjeta .estado{margin-top:0}
.tarjeta .lugar{display:flex;align-items:center;gap:6px}
.tarjeta .lugar svg{width:13px;height:13px;flex:none;fill:none;stroke:var(--naranja);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rejilla .separador-mes{grid-column:1/-1;margin:12px 0 0}
.separador-mes:first-child{margin-top:0}
.vacio{color:var(--gris)}
.panel.vacio{text-align:center;padding:40px 20px}
.panel.vacio h2{font-size:var(--h3);margin-bottom:8px;color:var(--texto)}
.panel.vacio a{color:var(--naranja)}

/* Filtros del calendario */
.filtros form{display:contents}
.filtros .btn{align-self:stretch}
.chips-filtro{margin-top:8px}
.cabecera-pagina p a{color:var(--naranja)}
.cabecera-pagina .cta{margin-top:10px}
.pestanas-anos{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 8px}
.pestanas-anos a{padding:8px 14px;border:1px solid var(--linea);border-radius:var(--radio-pill);font-size:14px;color:var(--texto-2);background:var(--panel)}
.pestanas-anos a.activo{background:var(--naranja);color:#000;border-color:var(--naranja)}
.pestanas-anos small{opacity:.7}
.paginacion{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:28px;color:var(--gris);font-size:14px;flex-wrap:wrap}

/* Listas de resultados (datos reales) */
.lista .fin small{text-transform:none;letter-spacing:0;font-size:12px}
.lista .fin{min-width:max-content}
/* Home sin panel en directo: la lista ocupa todo el ancho, en dos columnas en escritorio */
.solo-lista .lista{display:grid;gap:10px}
@media(min-width:900px){.solo-lista .lista{grid-template-columns:1fr 1fr;gap:12px 18px}}
.lista .mini.sin-cartel{display:grid;place-items:center;font-size:24px;width:52px;height:68px;border-radius:var(--radio-sm);background:linear-gradient(160deg,var(--panel-2),var(--carbon))}
.lista a.oculta{display:none}
.lista .fin .badge{margin-top:4px}
.panel.live .acciones-panel{margin-top:14px}
.panel .sub{color:var(--gris);font-size:14px}
.historico-anos .servicio{display:block}
.historico-anos .servicio:hover{border-color:var(--linea-2)}

/* Ficha */
.ficha-hero .cartel.sin-cartel{display:grid;place-items:center;font-size:96px;color:var(--linea-2);background:linear-gradient(160deg,var(--panel-2),var(--carbon))}
.ficha-hero h1{margin-top:10px}
.ficha-hero .cta{margin-top:22px}
.prosa p+p{margin-top:0}
.prosa a{color:var(--naranja)}
.prosa h3{font-size:var(--h3-sm);margin-top:8px}
.bloque .nota{font-size:13px;color:var(--gris)}
.caja .estado{margin:0}
.caja p b{color:var(--texto)}
.caja .organizador-nota{color:var(--gris);font-size:14px}
.mapa a{color:var(--naranja)}
.docs .badge{margin-left:8px}

/* Formularios */
.form .errorlist{list-style:none;margin:0;padding:0;color:var(--rojo);font-size:13px;font-weight:500}
.form .aviso{border-radius:var(--radio-sm);padding:12px 14px;font-size:14px;background:rgba(239,68,68,.12);color:#fecaca;border:1px solid rgba(239,68,68,.4)}
.form .aviso ul{margin:0;padding-left:18px}
.form input[type=checkbox]{width:18px;height:18px;flex:none}
.check a{color:var(--naranja)}
.trampa{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.campo select{appearance:auto}
.dato-contacto a{color:var(--texto)}

/* Legales y textos provisionales */
.legal-texto{display:grid;gap:12px;color:var(--texto-2);max-width:78ch}
.legal-texto h2{font-size:var(--h3);margin-top:18px;color:var(--texto)}
.legal-texto h2:first-child{margin-top:0}
.legal-texto ul{margin:0;padding-left:18px;display:grid;gap:6px}
.legal-texto code{font-family:ui-monospace,Menlo,monospace;font-size:14px;color:var(--texto)}
.legal-texto .tabla-envoltorio{margin:6px 0}
.provisional{background:rgba(251,191,36,.15);color:var(--ambar);padding:1px 6px;border-radius:var(--radio-sm);font-size:13px}
.logos .provisional{display:block;margin-top:14px;width:max-content}

/* Páginas de error */
.pagina-error{padding:88px 0 64px;text-align:left}
.pagina-error h1{font-size:var(--h1)}
.pagina-error p a{color:var(--naranja)}

/* Botones <button>: sin fondo ni color del navegador */
button.btn-fantasma{background:transparent}
button.btn{color:inherit}
button.btn-naranja{color:var(--naranja-tinta)}

/* Ficha (31-10-2026): fecha destacada, tabla con inscripción por modalidad y mapa de Google. */
.fecha-hero{display:flex;align-items:center;gap:18px;margin:18px 0 6px}
.fecha-hero .calendario{flex:none;width:104px;border-radius:10px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.5);font-family:var(--fuente-titular);text-align:center;line-height:1;background:#fff;color:#000}
.fecha-hero .calendario .mes{display:block;background:var(--naranja);font-size:16px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:7px 0 6px}
.fecha-hero .calendario b{display:block;font-size:64px;font-weight:800;padding:10px 0 2px}
.fecha-hero .calendario .sem{display:block;color:#555;font:700 12px/1 var(--fuente);letter-spacing:.12em;text-transform:uppercase;padding:0 0 10px}
.fecha-texto{display:grid;gap:5px}
.fecha-texto b{font-family:var(--fuente-titular);font-weight:800;font-size:clamp(22px,3vw,30px);line-height:1.05;text-transform:uppercase;letter-spacing:.01em}
.fecha-texto span{color:var(--texto-2);font-size:15px}
.fecha-texto .lugar{display:flex;align-items:center;gap:6px}
.fecha-texto .lugar svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--naranja);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tabla-modalidades{min-width:0}
.tabla-modalidades td.der{white-space:nowrap}
.tabla-modalidades .btn-sm{padding:7px 12px;font-size:13px}
.donde-lugar{color:var(--texto-2);margin:-4px 0 12px}
.mapa-google{aspect-ratio:2/1;max-height:300px;width:100%;border-radius:var(--radio);overflow:hidden;border:var(--borde-tarjeta);background:var(--panel)}
.mapa-google iframe{width:100%;height:100%;border:0;display:block}

/* Filtros de resultados (31-10-2026) */
@media(min-width:800px){.filtros.filtros-resultados{grid-template-columns:2fr 1fr 1fr auto}}
.estado-mod{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--gris)}
.estado-mod .punto{width:8px;height:8px;border-radius:50%;background:currentColor}
.estado-mod.abierta{color:var(--verde)}.estado-mod.agotada{color:var(--ambar)}.estado-mod.proximamente{color:var(--azul)}

/* Logo nuevo (31-10-2026): algo menor en móvil para que quepan el botón y el menú */

/* Logo (31-10-2026): versión color para fondo oscuro (letras blancas, «la» y arcos naranjas),
   derivada del maestro 01 cambiando solo el negro por blanco. Tamaño ampliado a petición de Fran:
   en móvil (<480 px) el botón «Inscríbete» se oculta y el logo ocupa ese hueco. */
.logo img{height:40px}
@media(min-width:960px){.cabecera .contenedor{height:80px}.logo img{height:46px}}
@media(min-width:1200px){.logo img{height:52px}}
@media(max-width:374px){.logo img{height:34px}}
.pie .columnas>div:first-child>img{height:40px;margin-bottom:16px}

/* Resultados, opción 1 (31-10-2026): separadores por mes y pastillas de servicios */
.mes-res{display:flex;align-items:baseline;gap:14px;margin:30px 0 12px}
.seccion .titulo+.mes-res{margin-top:6px}
.mes-res h3{font-size:30px;color:var(--naranja)}
.mes-res span{color:var(--gris);font-size:14px}
.mes-res::after{content:"";flex:1;height:1px;background:var(--linea)}
.lista a.fila-res{grid-template-columns:44px 54px 1fr auto;gap:16px;padding:14px 18px}
.fila-res .dia{text-align:center;font-family:var(--fuente-titular);line-height:1}
.fila-res .dia b{display:block;font-size:30px;font-weight:800}
.fila-res .dia small{display:block;font:700 10px/1 var(--fuente);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-top:4px}
.fila-res .mini{width:54px;height:72px}
.lista .fila-res .mini.sin-cartel{width:54px;height:72px}
.fila-res .cuerpo h3{font-size:20px;line-height:1.05}
.fila-res .pastillas{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:420px}
.fila-res .p{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radio-pill);font-size:12px;font-weight:600;border:1px solid var(--linea-2);color:var(--texto-2);white-space:nowrap}
.fila-res .p .i{width:16px;height:16px;flex:none}
.fila-res .p.fotos{color:#000;background:var(--naranja);border-color:var(--naranja)}
.fila-res .p.video{color:var(--azul);border-color:rgba(56,189,248,.45)}
.fila-res .p.dipl{color:var(--ambar);border-color:rgba(251,191,36,.45)}
.fila-res .p.live{color:var(--rojo);border-color:rgba(239,68,68,.5)}
.fila-res .p.live .punto{width:7px;height:7px;border-radius:50%;background:currentColor}
.fila-res .p .corta{display:none}
@media(max-width:699px){
  .mes-res{flex-wrap:wrap;gap:4px 10px;margin:24px 0 10px}
  .mes-res h3{font-size:26px}
  .mes-res::after{flex-basis:100%;order:3}
  .lista a.fila-res{grid-template-columns:38px 46px 1fr;grid-template-rows:auto auto;gap:10px 12px;padding:12px}
  .fila-res .dia,.fila-res .mini{grid-row:1}
  .fila-res .dia b{font-size:26px}
  .fila-res .mini,.lista .fila-res .mini.sin-cartel{width:46px;height:62px}
  .fila-res .cuerpo h3{font-size:18px}
  .fila-res .pastillas{grid-column:1 / -1;justify-content:flex-start;max-width:none;gap:5px}
  .fila-res .p{padding:4px 9px;font-size:11.5px}
  .fila-res .p .i{width:15px;height:15px}
  .fila-res .p .larga{display:none}
  .fila-res .p .corta{display:inline}
}

/* Filtro rápido por año y mes en resultados (31-10-2026) */
.periodo{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;margin-top:4px;scrollbar-width:thin}
.periodo.meses{margin-top:0}
.chip-periodo,.chip-mes{flex:none;display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:var(--radio-pill);border:1px solid var(--linea-2);background:var(--panel);font-weight:600;font-size:14px;color:var(--texto-2);white-space:nowrap}
.chip-periodo{font-family:var(--fuente-titular);font-weight:800;font-size:18px;letter-spacing:.02em;padding:6px 14px}
.chip-periodo small,.chip-mes small{font:600 11px var(--fuente);color:var(--gris)}
.chip-periodo:hover,.chip-mes:hover{border-color:var(--texto)}
.chip-periodo.activo,.chip-mes.activo{background:var(--naranja);border-color:var(--naranja);color:#000}
.chip-periodo.activo small,.chip-mes.activo small{color:rgba(0,0,0,.65)}
.chip-mes{font-size:13px;padding:6px 12px}
.chip-mes.vacio{opacity:.35;cursor:default}

/* Pruebas canceladas (Inscrik, estado `cancelado`): insignia roja y aviso en la ficha. */
.badge.cancelada{background:var(--rojo);color:#fff}
.estado.cancelada,.estado-mod.cancelada{color:var(--rojo)}
.tarjeta .estado.cancelada{margin-top:0}
.aviso-cancelacion{margin:0 0 18px;padding:14px 16px;border-radius:var(--radio-sm);background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.45);color:#fecaca;font-size:15px}
.aviso-cancelacion b{color:#fff}

/* Contador de vueltas NON STOP en vivo (07-11-2026): banda en portada y bloque en la ficha. */
.banda-vivo{display:block;background:#1d2a4d;color:#fff;text-decoration:none;border-top:4px solid #c5dd5c}
.banda-vivo .contenedor{display:flex;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.banda-vivo .texto{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px}
.banda-vivo .texto b{font-size:15px;letter-spacing:.02em}
.banda-vivo .texto span{font-size:13px;color:#c7d0e6}
.banda-vivo .btn{white-space:nowrap}
.banda-vivo .punto,.nonstop-vivo .punto{width:12px;height:12px;border-radius:999px;background:#c5dd5c;box-shadow:0 0 0 0 rgba(197,221,92,.7);animation:latido 1.6s infinite;flex:none}
.nonstop-vivo{display:flex;align-items:center;gap:14px;margin:14px 0 4px;padding:14px 16px;border-radius:14px;background:#1d2a4d;color:#fff;text-decoration:none}
.nonstop-vivo>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.nonstop-vivo b{font-size:15px}
.nonstop-vivo>span:nth-child(2) span{font-size:13px;color:#c7d0e6}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(197,221,92,.7)}70%{box-shadow:0 0 0 10px rgba(197,221,92,0)}100%{box-shadow:0 0 0 0 rgba(197,221,92,0)}}
@media (prefers-reduced-motion:reduce){.banda-vivo .punto,.nonstop-vivo .punto{animation:none}}
