/* ── Reset: nada del tema ni de Elementor sobrevive aquí dentro ── */
.lmx-tk,
.lmx-tk *,
.lmx-tk *::before,
.lmx-tk *::after {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none;
  font-family: 'Ubuntu', sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  list-style: none !important;
  float: none !important;
}

/* ══════════ WRAPPER ══════════ */
.lmx-tk {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100vh;
  background: #F0F1F5 !important;
  color: #1A1A1A !important;
  font-size: 16px !important;
  -webkit-font-smoothing: antialiased !important;
}
.lmx-tk .lmx-tk-inner {
  width: 100% !important;
  max-width: 1568px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ══════════ ZONA DE BÚSQUEDA (siempre visible) ══════════ */
.lmx-tk .lmx-tk-head { padding-top: 38px !important; padding-bottom: 24px !important; }

.lmx-tk .lmx-tk-miga { font-size: 14px !important; color: #5A5F6D !important; }
.lmx-tk .lmx-tk-miga a { color: #5A5F6D !important; cursor: pointer; }
.lmx-tk .lmx-tk-miga a:hover { text-decoration: underline !important; }
.lmx-tk .lmx-tk-miga b { color: #1A1A1A !important; font-weight: 700 !important; }

.lmx-tk .lmx-tk-h1 {
  display: block !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.2 !important;
  color: #1A1A1A !important;
  margin-top: 30px !important;
  margin-bottom: 12px !important;
}
.lmx-tk .lmx-tk-intro {
  display: block !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  max-width: 60ch !important;
  color: #1A1A1A !important;
}

/* Buscador */
.lmx-tk .lmx-tk-sb {
  display: flex !important;
  align-items: stretch !important;
  height: 44px !important;
  background: #FFFFFF !important;
  border: 1px solid #C9CCD3 !important;
  margin-top: 46px !important;
}
.lmx-tk .lmx-tk-sb-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: #FFFFFF !important;
}
.lmx-tk .lmx-tk-sb-ico {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  color: #5A5F6D !important;
  padding-left: 22px !important;
  padding-right: 14px !important;
}
.lmx-tk .lmx-tk-sb-inp {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  font-size: 15px !important;
  color: #1A1A1A !important;
  background: transparent !important;
  padding-right: 16px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.lmx-tk .lmx-tk-sb-inp::placeholder { color: #6E7079 !important; opacity: 1 !important; }
.lmx-tk .lmx-tk-sb-inp:focus { outline: 0 !important; }
.lmx-tk .lmx-tk-sb:focus-within { border-color: #F4B81D !important; box-shadow: inset 0 0 0 1px #F4B81D !important; }
.lmx-tk .lmx-tk-sb-btn {
  flex-shrink: 0 !important;
  background: #F4B81D !important;
  color: #1A1A1A !important;
  padding-left: 26px !important;
  padding-right: 26px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: background .18s !important;
  border: none;
}
.lmx-tk .lmx-tk-sb-btn:hover { background: #DCA30B !important; }

/* ══════════ CUERPO DE RESULTADOS ══════════ */
.lmx-tk .lmx-tk-body { padding-bottom: 88px !important; }

.lmx-tk .lmx-tk-conteo {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-top: 48px !important;
}
.lmx-tk .lmx-tk-regla { display: block !important; height: 1px !important; background: #DCDEE3 !important; margin-top: 14px !important; }

/* ── Tarjeta ── */
.lmx-tk .lmx-tk-card {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  background: #FFFFFF !important;
  padding: 26px 24px 28px !important;
  margin-top: 12px !important;
}
.lmx-tk .lmx-tk-col { display: flex !important; flex-direction: column !important; min-width: 0 !important; }

.lmx-tk .lmx-tk-rot {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 6px !important;
}
.lmx-tk .lmx-tk-val {
  display: block !important;
  font-size: 15px !important;
  color: #1A1A1A !important;
  overflow-wrap: anywhere !important;
}
.lmx-tk .lmx-tk-liga {
  align-self: flex-start !important;
  color: #8A6200 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
.lmx-tk .lmx-tk-liga:hover { text-decoration: underline !important; }
.lmx-tk .lmx-tk-hueco { display: block !important; height: 26px !important; flex: none !important; }

/* Insignia del modo de transporte */
.lmx-tk .lmx-tk-insignia {
  width: 32px !important;
  height: 32px !important;
  flex: none !important;
  border-radius: 50% !important;
  background: #F4B81D !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 16px !important;
  margin-bottom: 18px !important;
}
.lmx-tk .lmx-tk-insignia svg { width: 16px !important; height: 16px !important; fill: #1A1A1A !important; }
.lmx-tk .lmx-tk-insignia svg.tz { fill: none !important; stroke: #1A1A1A !important; stroke-width: 2.4 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.lmx-tk .lmx-tk-insignia img { width: 17px !important; height: 17px !important; object-fit: contain !important; display: block !important; }

/* ── Barra de estatus con marcador ── */
.lmx-tk .lmx-tk-barra {
  position: relative !important;
  height: 32px !important;
  width: 100% !important;
  max-width: 300px !important;
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  flex: none !important;
}
.lmx-tk .lmx-tk-riel,
.lmx-tk .lmx-tk-avance {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 6px !important;
  border-radius: 4px !important;
}
.lmx-tk .lmx-tk-riel { left: 0 !important; right: 0 !important; background: #DDDFE4 !important; }
.lmx-tk .lmx-tk-avance {
  left: 0 !important;
  background: #F4B81D !important;
  transition: width .7s cubic-bezier(.16,1,.3,1) !important;
}
.lmx-tk .lmx-tk-marca {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #F4B81D !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: left .7s cubic-bezier(.16,1,.3,1) !important;
}
.lmx-tk .lmx-tk-marca svg { width: 16px !important; height: 16px !important; fill: #1A1A1A !important; }
.lmx-tk .lmx-tk-marca svg.tz { fill: none !important; stroke: #1A1A1A !important; stroke-width: 2.4 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.lmx-tk .lmx-tk-marca img { width: 17px !important; height: 17px !important; object-fit: contain !important; display: block !important; }

.lmx-tk .lmx-tk-barra[data-e="CANCELADA"] .lmx-tk-avance,
.lmx-tk .lmx-tk-barra[data-e="CANCELADA"] .lmx-tk-marca { background: #9A9DA5 !important; }
.lmx-tk .lmx-tk-barra[data-e="CANCELADA"] .lmx-tk-marca svg { fill: #FFFFFF !important; }
.lmx-tk .lmx-tk-barra[data-e="CANCELADA"] .lmx-tk-marca svg.tz { fill: none !important; stroke: #FFFFFF !important; }

/* ── Botón Iniciar sesión, esquina inferior derecha ── */
.lmx-tk .lmx-tk-login {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin-top: auto !important;
  align-self: flex-end !important;
  padding: 9px 16px !important;
  background: #F4B81D !important;
  color: #1A1A1A !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .18s !important;
}
.lmx-tk .lmx-tk-login:hover { background: #DCA30B !important; }
.lmx-tk .lmx-tk-login svg { width: 15px !important; height: 15px !important; fill: none !important; stroke: #1A1A1A !important; stroke-width: 1.9 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.lmx-tk .lmx-tk-login img { width: 15px !important; height: 15px !important; object-fit: contain !important; display: block !important; }

/* ── Sin resultados ── */
.lmx-tk .lmx-tk-vacio { background: #FFFFFF !important; padding: 28px 24px !important; margin-top: 12px !important; }
.lmx-tk .lmx-tk-vacio p { display: block !important; font-size: 16px !important; max-width: 62ch !important; color: #1A1A1A !important; }
.lmx-tk .lmx-tk-vacio p + p { margin-top: 8px !important; font-size: 15px !important; color: #5A5F6D !important; }
.lmx-tk .lmx-tk-vacio b { font-weight: 700 !important; }

/* ── Carga ── */
.lmx-tk .lmx-tk-sk-card { background: #FFFFFF !important; padding: 26px 24px !important; margin-top: 12px !important; }
.lmx-tk .lmx-tk-sk {
  display: block !important;
  background: linear-gradient(90deg,#EEEEED 25%,#E4E4E0 50%,#EEEEED 75%) !important;
  background-size: 300% 100% !important;
  animation: lmxTkSk 1.6s ease-in-out infinite !important;
}
@keyframes lmxTkSk { 0% { background-position: 200% 0 } 100% { background-position: -200% 0 } }

/* ══════════ RESPONSIVO ══════════ */
@media (max-width: 1100px) {
  .lmx-tk .lmx-tk-card { grid-template-columns: 1fr 1fr !important; gap: 26px 32px !important; }
}
@media (max-width: 680px) {
  .lmx-tk .lmx-tk-inner { padding-left: 18px !important; padding-right: 18px !important; }
  .lmx-tk .lmx-tk-head { padding-top: 26px !important; padding-bottom: 18px !important; }
  .lmx-tk .lmx-tk-body { padding-bottom: 60px !important; }
  .lmx-tk .lmx-tk-miga { font-size: 13px !important; }
  .lmx-tk .lmx-tk-h1 { font-size: 26px !important; margin-top: 20px !important; margin-bottom: 10px !important; }
  .lmx-tk .lmx-tk-intro { font-size: 15px !important; }
  .lmx-tk .lmx-tk-sb { flex-direction: column !important; align-items: stretch !important; height: auto !important; margin-top: 26px !important; }
  .lmx-tk .lmx-tk-sb-wrap { width: 100% !important; }
  .lmx-tk .lmx-tk-sb-ico { padding-left: 16px !important; padding-right: 10px !important; }
  .lmx-tk .lmx-tk-sb-inp { height: 50px !important; font-size: 16px !important; }
  .lmx-tk .lmx-tk-sb-btn { width: 100% !important; height: 48px !important; border-top: 1px solid #C9CCD3 !important; }
  .lmx-tk .lmx-tk-conteo { margin-top: 30px !important; }
  .lmx-tk .lmx-tk-card { grid-template-columns: 1fr !important; gap: 0 !important; padding: 22px 18px 24px !important; }
  .lmx-tk .lmx-tk-col + .lmx-tk-col { margin-top: 22px !important; padding-top: 22px !important; border-top: 1px solid #EDEEF2 !important; }
  .lmx-tk .lmx-tk-insignia { margin-top: 12px !important; margin-bottom: 14px !important; }
  .lmx-tk .lmx-tk-hueco { height: 20px !important; }
  .lmx-tk .lmx-tk-barra { max-width: 100% !important; }
  .lmx-tk .lmx-tk-login { align-self: stretch !important; margin-top: 18px !important; padding: 12px 16px !important; font-size: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .lmx-tk * { animation: none !important; transition: none !important; }
}
