/* ===== BASE ===== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Inter',sans-serif;
}

body{
  background:radial-gradient(circle at top,#1e293b,#020617);
  color:#e5e7eb;

  min-height:100vh;
  padding:100px 20px 40px;

  display:flex;              /* 🔥 activa layout vertical */
  flex-direction:column;     /* todo en columna */
}

/* ===== NAV ===== */
nav{
  position:fixed;
  top:0;
  width:100%;
  padding:15px 40px;
  background:#020617;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.06);
}

nav .logo{
  font-weight:700;
  letter-spacing:.5px;
}

nav ul{
  list-style:none;
  display:flex;
  gap:25px;
}

nav ul a{
  color:#9ca3af;
  text-decoration:none;
}

nav ul a:hover{
  color:#fff;
}

/* ===== CONTENEDOR ===== */
.container{
  max-width:820px;
  margin:auto;
  background:rgba(17,24,39,.6);
  padding:40px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 20px 50px rgba(0,0,0,.45);
}

/* ===== HEADER ===== */
.tracker-header{
  text-align:center;
  margin-bottom:30px;
}

.tracker-header h1{
  font-size:28px;
}

.tracker-header p{
  color:#94a3b8;
  margin-top:6px;
}

/* ===== BUSCADOR ===== */
.tracker-search input{
  width:100%;
  padding:16px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.1);
  background:#020617;
  color:#fff;
  margin-bottom:20px;
}

.tracker-search button{
  width:100%;
  padding:16px;
  border:none;
  border-radius:8px;
  background:#e11d2e;
  color:#fff;
  font-weight:600;
  cursor:pointer;
}

.tracker-search button:hover{
  background:#be123c;
}

/* ===== GRID INFORMACION ===== */
.info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:30px;
}

.info-item{
  background:#0f1a2b;
  padding:18px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.05);
}

.label{
  font-size:13px;
  color:#94a3b8;
  margin-bottom:5px;
  display:block;
}

.value{
  font-size:17px;
  font-weight:600;
}

.estado{
  color:#22c55e;
}

/* ===== FOTOS ===== */
.contenedor-fotos{
  margin-top:40px;
  display:flex;
  gap:30px;
  justify-content:center;
  flex-wrap:wrap;
}

.contenedor-fotos div{
  background:#0f1a2b;
  padding:15px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.05);
}

.contenedor-fotos img{
  width:240px;
  border-radius:10px;
}

/* ===== RESPONSIVE ===== */
@media(max-width:700px){
  .info-grid{
    grid-template-columns:1fr;
  }
}
/* ===== AJUSTE PROFESIONAL DE FOTOS ===== */

.contenedor-fotos{
  margin-top:40px;
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
}

.contenedor-fotos div{
  width:260px;              /* tamaño uniforme */
  background:#0f172a;
  padding:15px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

.contenedor-fotos p{
  margin-bottom:10px;
  font-size:14px;
  color:#94a3b8;
  font-weight:500;
}

/* imagen ajustada correctamente */
.contenedor-fotos img{
  display:block;
  margin:0 auto;

  max-width:100%;     /* nunca se sale del cuadro */
  width:auto;         /* evita que se estire */
  height:auto;        /* mantiene proporción real */

  max-height:220px;   /* 🔥 controla el tamaño visual */
  object-fit:contain; /* muestra toda la foto sin recortar */

  border-radius:8px;
  border:2px solid #1f2937; /* borde tipo marco */
  background:#020617;       /* fondo cuando la foto es vertical */
  padding:4px;
}

/* RESPONSIVE (en celular se apilan) */
@media(max-width:600px){
  .contenedor-fotos{
    flex-direction:column;
    align-items:center;
  }
}

/* ===== ESTILO REAL DE LAS FOTOS DEL RASTREO (JS) ===== */

.fotos-grid{
  margin-top:40px;
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
}

.foto-card{
  width:260px;                 /* tamaño del cuadro */
  background:#0f172a;
  padding:15px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

.foto-title{
  margin-bottom:10px;
  font-size:14px;
  color:#94a3b8;
  font-weight:500;
}

/* 🔥 CONTROL REAL DEL TAMAÑO DE LA IMAGEN */
.foto-card img{
  display:block;
  margin:0 auto;

  max-width:100%;
  width:auto;          /* evita que se estire */
  height:auto;

  max-height:220px;    /* 👈 tamaño visual */
  object-fit:contain;  /* no recorta la imagen */

  border-radius:8px;
  border:2px solid #1f2937;
  background:#020617;
  padding:4px;
}

/* ===== VISOR LIGHTBOX ===== */

.visor{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.85);
  display:none;
  justify-content:center;
  align-items:center;
  z-index:9999;
  backdrop-filter:blur(4px);
}

.visor img{
  max-width:90%;
  max-height:90%;
  border-radius:10px;
  box-shadow:0 0 40px rgba(0,0,0,.8);
  animation:zoom .25s ease;
}

@keyframes zoom{
  from{transform:scale(.8);opacity:0;}
  to{transform:scale(1);opacity:1;}
}

.cerrar{
  position:absolute;
  top:25px;
  right:35px;
  color:white;
  font-size:40px;
  cursor:pointer;
  font-weight:300;
}

.cerrar:hover{
  color:#e11d2e;
}

/* hace que la imagen pequeña se vea clickeable */
.foto-card img{
  cursor:zoom-in;
  transition:.2s;
}

/* empuja el footer hacia abajo */
.container{
  flex:1;
}

/* footer fijo abajo visualmente */
footer{
  text-align:center;
  color:#94a3b8;
  font-size:13px;
  margin-top:40px;
}

.foto-card img:hover{
  transform:scale(1.03);
}