/* ===== BASE ===== */

body{
font-family:Roboto, Arial, sans-serif;
background:#f5f5f5;
margin:0;
}

.container{
max-width:1100px;
width:95%;
margin:auto;
margin-top:40px;
background:white;
padding:30px;
border-radius:8px;
box-shadow:0 6px 18px rgba(0,0,0,0.1);
}

.logo {
  width: 100%;
  max-width: 350px;
  height: auto;
  display: block;
  margin: auto;
  margin-bottom: 20px;
}

/* ===== HEADER ===== */

.header-block{
text-align:center;
margin-bottom:25px;
}

.header-block h1{
font-size:32px;
font-weight:600;
margin-bottom:6px;
color:#111827;
}

.header-block p{
color:#6b7280;
font-size:14px;
margin:0;
}

/* ===== SEARCH BOX ===== */

.search-box{
display:flex;
justify-content:center;
align-items:center;
margin-top:20px;
margin-bottom:10px;
}

.search-box input{
width:260px;
padding:12px 14px;
font-size:16px;
border:1px solid #d1d5db;
border-right:none;
border-radius:6px 0 0 6px;
outline:none;
text-align:center;
letter-spacing:1px;
}

.search-box button{
padding:12px 18px;
font-size:16px;
background:#282881;
color:white;
border:1px solid #282881;
border-radius:0 6px 6px 0;
cursor:pointer;
}

.search-box button:hover{
background:#1e1e6a;
}

.loading-box{
text-align:center;
padding:25px;
color:#555;
}

.loading-box strong{
color:#282881;
font-weight:600;
}

.spinner{
margin:0 auto 10px auto;
width:28px;
height:28px;
border:3px solid #ddd;
border-top:3px solid #282881;
border-radius:50%;
animation:spin 0.8s linear infinite;
}

@keyframes spin{
0%{transform:rotate(0deg);}
100%{transform:rotate(360deg);}
}

/* ===== RESULTADO ===== */

#resultado{
margin-top:30px;
overflow-x:auto;
}

/* ===== CONTENEDOR RESULTADO ===== */

.tracking-box{
margin-top:20px;
font-size:14px;
}

/* ===== CABECERA INFORMACIÓN ENVÍO ===== */

.tracking-info{
margin-bottom:25px;
}

.info-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
}

.info-card{
background:white;
border:1px solid #e5e7eb;
border-radius:8px;
padding:14px;
box-shadow:0 1px 3px rgba(0,0,0,0.05);
text-align:center;
}

.info-title{
font-size:12px;
color:#6b7280;
text-transform:uppercase;
letter-spacing:0.5px;
margin-bottom:6px;
}

.info-data{
font-size:17px;
font-weight:600;
color:#111827;
word-break:break-word;
}

/* ===== HISTORIAL ===== */

.tracking-history{
overflow-x:auto;
}

/* ===== TABLA TRACKING ===== */

.tracking-table{
min-width:600px;
width:100%;
border-collapse:collapse;
margin-top:20px;
font-size:14px;
}


.tracking-table th{
background:#282881;
color:white;
padding:12px;
text-align:left;
}

.tracking-table td{
border-bottom:1px solid #ddd;
padding:10px;
word-break:break-word;
}

.tracking-table tr:nth-child(even){
background:#f5f5f5;
}

.tracking-table tr:nth-child(2){
background:#e8f0ff;
font-weight:600;
border-left:4px solid #282881;
}

.tracking-table tr:nth-child(2) .tracking-status{
color:#282881;
font-size:15px;
}

.tracking-table tr:nth-child(2) .tracking-status::before{
content:"📦 ";
margin-right:6px;
}

.tracking-table tr:hover{
background:#f7f7f7;
}

.tracking-status{
font-weight:bold;
}

.tracking-date{
color:#555;
}

.tracking-comment{
color:#444;
}



/* ===== BOTÓN ENLACE TRANSPORTADORA ===== */

.tracking-link{
display:inline-block;
padding:6px 12px;
background:#282881;
color:white;
text-decoration:none;
border-radius:4px;
font-size:12px;
margin-left:8px;
}

.tracking-link:hover{
background:#1e1e6a;
}

/* ===== MENSAJE ERROR ===== */

.tracking-error{
background:#fff3f3;
border:1px solid #ffc9c9;
color:#c92a2a;
padding:15px;
border-radius:6px;
margin-top:20px;
text-align:center;
}

/* ===== MOBILE ===== */

@media (max-width:600px){

.container{
padding:20px;
}

.logo{
max-width:220px;
}

.header-block h1{
font-size:26px;
}

/* buscador */

.search-box{
flex-direction:column;
gap:8px;
}

.search-box input{
width:90%;
border-radius:6px;
border-right:1px solid #d1d5db;
}

.search-box button{
width:160px;
border-radius:6px;
}

/* cabecera envío */

.info-grid{
grid-template-columns:repeat(2,1fr);
}

.info-data{
font-size:15px;
}

/* tabla */

.tracking-table{
font-size:13px;
}

.tracking-table th{
padding:10px;
}

.tracking-table td{
padding:8px;
}

}

/* =========================================================
   TIMELINE MÓVIL PARA HISTORIAL DE ENVÍO
   ---------------------------------------------------------
   Este bloque transforma la tabla de tracking en una
   línea de tiempo vertical SOLO en dispositivos móviles.

   Si deseas volver al diseño anterior, simplemente
   elimina todo este bloque.
   ========================================================= */

@media (max-width:700px){
    
/* eliminar ancho mínimo en móvil para evitar espacio vacío */

.tracking-table{
min-width:0;
width:100%;
}

.tracking-table tr{
margin-bottom:16px;
}

.tracking-table tr{
margin-bottom:16px;
}

/* Ocultar encabezado de tabla en móvil */

.tracking-table tr:first-child{
display:none;
}

/* Convertir cada fila en bloque vertical */

.tracking-table tr{
display:block;
position:relative;
padding-left:30px;
margin-bottom:20px;
border-left:3px solid #e5e7eb;
}

/* Separación entre eventos */

.tracking-table td{
display:block;
border:none;
padding:2px 0;
}

/* Punto del timeline */

.tracking-table tr::before{
content:"";
position:absolute;
left:-7px;
top:6px;
width:12px;
height:12px;
background:#282881;
border-radius:50%;
}

/* Fecha */

.tracking-date{
font-size:13px;
color:#6b7280;
}

/* Estado */

.tracking-status{
font-size:15px;
font-weight:600;
color:#111827;
}

/* Detalle */

.tracking-comment{
font-size:14px;
color:#374151;
}

/* Evento más reciente */

.tracking-table tr:nth-child(2){
background:#eef2ff;
border-left:4px solid #282881;
padding:10px 12px 10px 30px;
border-radius:6px;
}

/* Punto más grande para estado actual */

.tracking-table tr:nth-child(2)::before{
width:16px;
height:16px;
left:-9px;
background:#282881;
}

}
