/* Atletismo Extremadura — mejoras del listado de carreras */
:root {
  --ae-pista: #082B41;
  --ae-pista-claro: #0F3E5C;
  --ae-amarillo: #E0E000;
}

/* ---------- Insignia de fecha sobre el cartel ---------- */
.resultado-carrera .cartel {
  position: relative;
}
.ae-fecha {
  position: absolute;
  left: -6px;
  top: -6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 46px;
  padding: 5px 6px 4px;
  background: var(--ae-pista);
  border-bottom: 3px solid var(--ae-amarillo);
  border-radius: 6px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .3);
  color: #fff;
  line-height: 1;
  font-family: Montserrat, sans-serif;
  text-align: center;
  pointer-events: none;
}
.ae-fecha-dia {
  font-size: 20px;
  font-weight: 700;
}
.ae-fecha-mes {
  margin-top: 3px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--ae-amarillo);
}
.ae-sin-cartel .ae-fecha {
  position: static;
  display: inline-flex;
  margin-bottom: 6px;
}

/* ---------- Etiqueta de modalidad ---------- */
.ae-modalidad {
  display: inline-block;
  margin-top: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #5A6B78;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02em;
  white-space: nowrap;
}
/* Asfalto */
.ae-mod-5-km, .ae-mod-5km          { background: #1A98C8; }
.ae-mod-10-km, .ae-mod-10km        { background: #0F6FA0; }
.ae-mod-milla                      { background: #3A7CA5; }
.ae-mod-media-maraton              { background: #6C3FC0; }
.ae-mod-maraton                    { background: #B0186E; }
/* Montaña */
.ae-mod-trail                      { background: #2E8B3E; }
.ae-mod-ultra-trail, .ae-mod-ultratrail { background: #1F5E2A; }
.ae-mod-carrera-por-montana, .ae-mod-carrera-montana { background: #8A5A1F; }
.ae-mod-km-vertical, .ae-mod-kmvertical, .ae-mod-kilometro-vertical { background: #5B3A1A; }
/* Otras */
.ae-mod-cross                      { background: #C7671B; }
.ae-mod-pista                      { background: #D23B3B; }
.ae-mod-duatlon, .ae-mod-triatlon  { background: #0E8C8C; }
.ae-mod-ekiden                     { background: #7A7A00; }

/* ---------- Cabeceras de mes (fijas al hacer scroll) ---------- */
/* Sin línea divisoria en la última carrera de cada mes */
#resultado-busqueda .resultado-carrera.ae-ultima {
  border-bottom: 0;
}
#resultado-busqueda .ae-mes {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 5;
  clear: both;
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 36px 0 0;
  padding: 12px 0 8px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 2px solid var(--ae-pista);
  color: var(--ae-pista);
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#resultado-busqueda .ae-mes:first-child {
  margin-top: 4px;
}
#resultado-busqueda .ae-mes-num {
  color: #7A8A95;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  white-space: nowrap;
}
/* Con la barra de admin fija (solo usuarios conectados) */
.admin-bar #resultado-busqueda .ae-mes {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar #resultado-busqueda .ae-mes {
    top: 46px;
  }
}
@media (max-width: 600px) {
  .admin-bar #resultado-busqueda .ae-mes {
    top: 0;
  }
}
@media (max-width: 909px) {
  /* Deja sitio al botón fijo del menú, arriba a la derecha */
  #resultado-busqueda .ae-mes {
    padding-right: 76px;
  }
}

/* ---------- Este fin de semana ---------- */
#ae-finde {
  margin: 0 0 32px;
  padding: 18px 18px 8px;
  background: var(--ae-pista);
  background-image: linear-gradient(135deg, var(--ae-pista) 0%, var(--ae-pista-claro) 100%);
  border-radius: 12px;
  color: #fff;
}
#ae-finde .ae-finde-cab {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  border-bottom: 3px solid var(--ae-amarillo);
  padding-bottom: 8px;
}
#ae-finde h2 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
}
#ae-finde .ae-finde-rango {
  color: var(--ae-amarillo);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
#ae-finde .ae-finde-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: #fff;
  text-decoration: none;
  box-shadow: none;
}
#ae-finde .ae-finde-item:last-child {
  border-bottom: 0;
}
#ae-finde .ae-finde-item:hover strong,
#ae-finde .ae-finde-item:focus-visible strong {
  color: var(--ae-amarillo);
}
#ae-finde .ae-finde-item img {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 6px;
}
#ae-finde .ae-finde-dia {
  flex: 0 0 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
#ae-finde .ae-finde-dia small {
  margin-bottom: 3px;
  color: var(--ae-amarillo);
  font-size: 10px;
  letter-spacing: .08em;
}
#ae-finde .ae-finde-txt {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
#ae-finde .ae-finde-txt strong {
  font-size: 15px;
  line-height: 1.3;
  transition: color .15s ease-out;
}
#ae-finde .ae-finde-txt small {
  color: rgba(255, 255, 255, .7);
  font-size: 13px;
}
#ae-finde .ae-modalidad {
  flex: 0 0 auto;
  margin-top: 0;
}

@media (max-width: 600px) {
  #ae-finde {
    padding: 16px 14px 6px;
  }
  #ae-finde .ae-finde-item img {
    display: none;
  }
  #ae-finde .ae-finde-item {
    flex-wrap: wrap;
    row-gap: 6px;
  }
  #ae-finde .ae-finde-txt {
    flex-basis: calc(100% - 50px);
  }
  #ae-finde .ae-modalidad {
    margin-left: 50px;
    font-size: 11px;
  }
}
