/* Buscador vehicular de www (P4, 2026-10-18). Destino: /var/www/ecommerce/css/buscadorVehiculo.css
   Desktop: los cuatro campos y el botón en una fila. Móvil: uno debajo de otro, a todo el ancho,
   con etiqueta visible. Selects nativos (sin select2) para que la lista del sistema quede en pantalla. */
.bv { --bv-rojo: #c62828; --bv-borde: #cfcfcf; --bv-texto: #222; --bv-suave: #666; font-size: 14px; color: var(--bv-texto); }
.bv-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; margin: 0; }
.bv-titulo { flex: 1 1 100%; margin: 0 0 2px; font-weight: 700; font-size: 16px; }
.bv-campo { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; }
.bv-campo label { margin: 0 0 4px; font-weight: 600; font-size: 13px; }
.bv-select { width: 100%; height: 42px; padding: 0 10px; border: 1px solid var(--bv-borde); border-radius: 6px; background: #fff; color: var(--bv-texto); font-size: 15px; -webkit-appearance: menulist; appearance: auto; }
.bv-select:focus { outline: 2px solid var(--bv-rojo); outline-offset: 1px; border-color: var(--bv-rojo); }
.bv-select:disabled { background: #f3f3f3; color: #999; cursor: not-allowed; }
.bv-msg { min-height: 18px; margin-top: 3px; font-size: 12px; color: var(--bv-suave); }
.bv-error .bv-msg { color: #b71c1c; }
.bv-cargando .bv-select { background-image: linear-gradient(90deg, #f3f3f3 25%, #e9e9e9 50%, #f3f3f3 75%); background-size: 200% 100%; animation: bv-brillo 1.2s linear infinite; }
@keyframes bv-brillo { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.bv-reintentar { margin-left: 4px; padding: 0; border: 0; background: none; color: var(--bv-rojo); font-weight: 700; text-decoration: underline; cursor: pointer; }
.bv-acciones { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 21px; }
.bv-btn { height: 42px; padding: 0 22px; border: 0; border-radius: 6px; background: var(--bv-rojo); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; white-space: nowrap; }
.bv-btn:hover:not(:disabled) { background: #a31515; }
.bv-btn:disabled { background: #bdbdbd; cursor: not-allowed; }
.bv-btn.bv-cargando { opacity: .75; cursor: progress; }
.bv-ayuda { margin-top: 4px; font-size: 12px; color: var(--bv-rojo); text-decoration: underline; }
.bv-aviso { flex: 1 1 100%; padding: 8px 10px; border-radius: 6px; background: #fff4e5; color: #8a4b00; font-size: 13px; }
.bv-resumen { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; padding: 8px 10px; border-radius: 6px; background: #f6f6f6; border-left: 3px solid var(--bv-rojo); font-weight: 600; }
.bv-quitar { flex: 0 0 auto; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #e0e0e0; color: #333; font-size: 14px; line-height: 28px; cursor: pointer; }
.bv-quitar:hover { background: var(--bv-rojo); color: #fff; }

/* Portada: barra sobre el carrusel, legible con fondo oscuro */
.bv-portada { position: relative; z-index: 100; margin: -96px auto 16px; padding: 14px 16px 2px; border-radius: 8px; background: rgba(0, 0, 0, .72); color: #fff; }
.bv-portada .bv-msg { color: #e0e0e0; }
.bv-portada .bv-error .bv-msg { color: #ffcdd2; }
.bv-portada .bv-ayuda { color: #ffcdd2; }

/* Panel de resultados: columna angosta, campos apilados */
.bv-panel .bv-form { flex-direction: column; align-items: stretch; }
.bv-panel .bv-campo, .bv-panel .bv-acciones { flex: 1 1 auto; }
.bv-panel .bv-titulo { font-size: 14px; }
.bv-panel .bv-acciones { margin-bottom: 0; }
.bv-panel .bv-btn { width: 100%; }

@media (max-width: 767px) {
  .bv-portada { margin: 12px 0; border-radius: 0; background: #1f1f1f; }
  .bv-form { flex-direction: column; align-items: stretch; }
  .bv-campo, .bv-acciones { flex: 1 1 auto; }
  .bv-acciones { margin-bottom: 8px; }
  .bv-btn { width: 100%; height: 46px; }
  .bv-select { height: 46px; font-size: 16px; }   /* 16px evita el zoom automático de iOS */
}
/* Barra del vehículo aplicado en celular (fuera del panel de filtros, que inicia plegado) */
.bv-movil { display: none; }
.bv-movil .bv-quitar { display: inline-block; text-align: center; text-decoration: none; }
.bv-cambiar { flex: 0 0 auto; margin-left: auto; padding: 4px 12px; border: 1px solid var(--bv-rojo, #c62828); border-radius: 14px; background: #fff; color: #c62828; font-weight: 700; font-size: 13px; cursor: pointer; }
/* Bloque normal (sin float) dentro de la fila: el relleno compensa el margen negativo de .row, y la
   columna de filtros (position:relative) queda debajo en lugar de cubrirlo. */
@media (max-width: 766px) { .bv-movil { display: block; clear: both; position: relative; z-index: 2; padding: 0 15px; margin: 0 0 10px; } .bv-movil .bv-resumen { margin: 0; } }
@media (prefers-reduced-motion: reduce) { .bv-cargando .bv-select { animation: none; } }
