/* Verificador de Precios — Shopping Asia (clientes) */
:root {
  --naranja: #f2762e;
  --teal: #1d9aa8;
  --rojo: #e23c39;
  --tinta: #1c1c28;
  --gris: #6b6b7a;
  --fondo: #ffffff;
  --suave: #f4f5f7;
  --radio: 16px;
}

* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }   /* las pantallas ocultas, ocultas de verdad */
html, body { height: 100%; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--fondo); color: var(--tinta);
  display: flex; flex-direction: column;
}

header { text-align: center; padding: 14px 16px 6px; }
.marca { font-weight: 800; font-size: 20px; letter-spacing: 1px; }
.marca span { color: var(--naranja); }
.sub { color: var(--gris); font-size: 13px; }

main { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.pantalla { flex: 1; display: flex; flex-direction: column; }

.centro { flex: 1; display: flex; flex-direction: column; align-items: center;
          justify-content: center; text-align: center; padding: 22px; gap: 14px; }
.icono-grande { font-size: 56px; }
h1 { font-size: 22px; line-height: 1.25; max-width: 340px; }
p { color: var(--gris); max-width: 320px; line-height: 1.45; }
.nota { font-size: 12px; color: var(--gris); }

.boton-principal {
  background: var(--naranja); color: #fff; border: 0;
  font-size: 18px; font-weight: 700; padding: 16px 28px;
  border-radius: 30px; cursor: pointer; width: 100%; max-width: 320px;
  box-shadow: 0 4px 14px rgba(242, 118, 46, .35);
}
.boton-principal:active { transform: scale(.97); }

/* visor */
.visor { position: relative; flex: 1; background: #000; overflow: hidden;
         display: flex; min-height: 55vh; }
.visor video { width: 100%; height: 100%; object-fit: cover; }
.marco {
  position: absolute; left: 8%; right: 8%; top: 30%; height: 30%;
  border: 3px solid #fff; border-radius: 14px;
  box-shadow: 0 0 0 100vmax rgba(0,0,0,.45); overflow: hidden;
}
.linea { position: absolute; left: 0; right: 0; height: 2px;
         background: var(--naranja);
         animation: barrido 1.6s ease-in-out infinite; }
@keyframes barrido { 0%,100% { top: 8%; } 50% { top: 88%; } }
.mensaje { position: absolute; bottom: 12px; left: 0; right: 0;
           text-align: center; color: #fff; font-size: 14px;
           text-shadow: 0 1px 3px #000; padding: 0 18px; }

#form-manual { display: flex; gap: 10px; padding: 12px 16px; background: var(--suave); }
#form-manual input {
  flex: 1; padding: 13px 16px; font-size: 16px; border: 1px solid #ddd;
  border-radius: var(--radio); outline: none; background: #fff;
}
#form-manual input:focus { border-color: var(--teal); }
#form-manual button {
  border: 0; background: var(--teal); color: #fff; font-weight: 700;
  padding: 0 22px; border-radius: var(--radio); font-size: 16px;
}

/* resultado */
.resultado { gap: 10px; }
#res-foto { max-width: min(60vw, 260px); max-height: 30vh; object-fit: contain;
            border-radius: var(--radio); background: #fff;
            box-shadow: 0 2px 14px rgba(0,0,0,.10); }
.sin-foto { width: 200px; height: 140px; border-radius: var(--radio);
            background: var(--suave); color: #c9c9d2; font-weight: 800;
            display: flex; align-items: center; justify-content: center;
            font-size: 15px; letter-spacing: 1px; }
.nombre { font-size: 19px; font-weight: 600; max-width: 340px; line-height: 1.3; }
.precio { font-size: 44px; font-weight: 800; color: var(--tinta); }
.precio.oferta { color: var(--rojo); }
.tachado { font-size: 20px; color: var(--gris); text-decoration: line-through; }
.etiqueta-oferta {
  background: var(--rojo); color: #fff; font-weight: 800; font-size: 14px;
  padding: 5px 14px; border-radius: 20px; letter-spacing: 1px;
}

footer { text-align: center; font-size: 11px; color: var(--gris);
         padding: 8px; background: var(--suave); }
