/* IwaveTPVNeo - reparto de trabajos en el carrito */

/* Línea del carrito con empleado ya asignado: fondo verde muy tenue
   y un filete verde a la izquierda para localizarla de un vistazo. */
#linesCart .line.line-agente-asignada {
    background-color: rgba(25, 135, 84, 0.08);
    box-shadow: inset 3px 0 0 0 #198754;
    transition: background-color 0.25s ease;
}

/* Nombre del empleado asignado */
#linesCart .agente-name {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 0.35rem;
    white-space: nowrap;
    vertical-align: middle;
}

/* Compatibilidad con Bootstrap < 5.3, que no trae las utilidades -subtle */
#linesCart .agente-name.bg-success-subtle {
    background-color: #d1e7dd;
    color: #0a3622;
    border-color: #a3cfbb !important;
}

/* Tarjetas del modal de selección de empleado */
#change-agente-modal .card.cursor-pointer:hover {
    border-color: #198754;
    box-shadow: 0 0 0 0.15rem rgba(25, 135, 84, 0.25);
}

#change-agente-modal .card.agente-actual {
    border-color: #198754;
    background-color: rgba(25, 135, 84, 0.08);
}

/* --- Venta rápida: favoritos, más vendidos y sugerencias --- */

/* Rótulo de la franja de sugerencias (el listado ya no usa separadores,
   para no perder una fila entera de pantalla) */
.iwave-block-title {
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #495057;
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 0.25rem;
    margin-bottom: 0.75rem;
}

/* Franja de avisos en la parte superior de la tarjeta de producto.
   Va en el flujo normal (no flotando) para que no tape el contenido
   y para que quepan varios iconos en fila. */
.iwave-signals {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.1rem 0.25rem;
    min-height: 1.6rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background-color: rgba(0, 0, 0, 0.015);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

.iwave-signal {
    border: 0;
    background: transparent;
    padding: 0.1rem 0.2rem;
    font-size: 0.9rem;
    line-height: 1;
    color: #adb5bd;
    opacity: 0.4;
    transition: opacity 0.15s ease, transform 0.15s ease, color 0.15s ease;
}

/* la estrella sí se pulsa; los otros avisos son informativos */
.iwave-fav-btn {
    cursor: pointer;
}

.iwave-fav-btn:hover {
    opacity: 1;
    transform: scale(1.2);
}

.iwave-fav-btn:disabled {
    cursor: wait;
}

/* aviso encendido */
.iwave-signal.on {
    opacity: 1;
}

.iwave-fav-btn.on {
    color: #ffc107;
    filter: drop-shadow(0 0 3px rgba(255, 193, 7, 0.8));
}

.iwave-sig-top.on {
    color: #dc3545;
}

.iwave-sig-customer.on {
    color: #0d6efd;
}

.iwave-sig-together.on {
    color: #20c997;
}

/* un favorito se distingue sin mirar la estrella */
.card.iwave-es-favorito {
    box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.5) !important;
}

.card.iwave-es-favorito .iwave-signals {
    background-color: rgba(255, 193, 7, 0.1);
}

/* La franja de sugerencias no debe robar altura al listado */
#iwaveSuggestions:empty {
    display: none;
}

/* ---------------------------------------------------------------------------
   Botones de cobro rápido (v5.0)

   Los dos tienen que quedar cuadrados entre sí pase lo que pase con el nombre:
   "Al contado" ocupa una línea y "Tarjeta de crédito" dos, y eso hacía que un
   botón fuese más alto que el otro y empujase la fila de abajo.

   La regla: el IMPORTE manda. Va siempre en una sola línea y siempre al mismo
   tamaño, porque es lo que hay que leer sin dudar antes de cobrar. El nombre se
   adapta: una sola línea, y si no cabe se le baja la letra (lo hace el
   JavaScript) hasta un mínimo; a partir de ahí, puntos suspensivos.
   --------------------------------------------------------------------------- */
.iwave-cobro-rapido-fila {
    align-items: stretch;
}

.iwave-cobro-rapido {
    display: flex;
}

.iwave-cobro-rapido-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    width: 100%;
    min-height: 3.6rem;
    padding: 0.4rem 0.5rem;
    overflow: hidden;
}

.iwave-cobro-rapido-nombre {
    display: block;
    width: 100%;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* El importe nunca se parte en dos líneas. Solo baja de tamaño si de verdad no
   cabe, y muy poco (lo hace el JavaScript, mínimo 0.9rem): tiene que leerse de
   un vistazo. Este 1.15rem es el de partida. */
.iwave-cobro-rapido-importe {
    display: block;
    width: 100%;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
}

/* un solo botón configurado ocupa el ancho entero y no queda a medias */
.iwave-cobro-rapido-fila > .iwave-cobro-rapido:only-child {
    flex: 0 0 100%;
    max-width: 100%;
}

/* ---------------------------------------------------------------------------
   Cabecera del carrito y colores del pie (v5.4)
   --------------------------------------------------------------------------- */

/* Botones de la cabecera a 44 px: es la medida mínima que se acierta con el
   dedo sin mirar. Antes eran btn-sm (31 px) y se fallaban. */
.iwave-btn-cab {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 1.15rem;
    line-height: 1;
}

.iwave-cab-botones {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.25rem;
}

/* "Líneas / Unidades" baja para dejar sitio a los botones */
.iwave-cab-resumen {
    margin-top: 0.45rem;
}

/* la impresora y el desplegable de Caja, juntos a la derecha */
.iwave-cab-derecha {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* --- Colores del pie -------------------------------------------------------
   Hasta la v5.3 los tres botones de cobro eran verdes e iguales, y había que
   leer el texto para saber cuál era cuál. Ahora el color dice algo:

     verde   = el botón rápido de la izquierda
     azul    = el botón rápido de la derecha
     naranja = Cobrar, la vía larga (abre la ventana de formas de pago)

   El verde y el azul van por POSICIÓN, no por forma de pago: el de la
   izquierda siempre verde y el de la derecha siempre azul, sea cual sea la
   forma de pago vinculada. Es predecible y no hay que configurar nada. En el
   terminal de siempre eso deja contado en verde y tarjeta en azul, que es la
   lectura que todo el mundo trae aprendida.

   El rojo de Eliminar y el ámbar y el azul de Aparcar y Tickets no se tocan:
   son los de TPVneo y ya funcionan.

   --------------------------------------------------------------------------- */
.iwave-cobro-rapido-btn.iwave-cobro-izquierda {
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    /* también el estado desactivado y el anillo de foco: si no se ponen,
       Bootstrap los deja en el verde de .btn-success y el botón cambia de
       color cada vez que animateSpinner desactiva los botones (v5.4) */
    --bs-btn-disabled-bg: #198754;
    --bs-btn-disabled-border-color: #198754;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
}

.iwave-cobro-rapido-btn.iwave-cobro-derecha {
    --bs-btn-bg: #0b6bcb;
    --bs-btn-border-color: #0b6bcb;
    --bs-btn-hover-bg: #095cae;
    --bs-btn-hover-border-color: #095cae;
    --bs-btn-active-bg: #084e94;
    --bs-btn-active-border-color: #084e94;
    --bs-btn-disabled-bg: #0b6bcb;
    --bs-btn-disabled-border-color: #0b6bcb;
    --bs-btn-focus-shadow-rgb: 11, 107, 203;
}

/* "Cobrar" de TPVneo: naranja #e8590c con el texto blanco.
   Se apunta al botón por su onclick y no solo por .btn-success, para que
   siga siendo suyo y de nadie más si algún día otro plugin añade un botón
   verde a esa misma fila. */
#btnSaleFooter button[onclick^="collectMoney"],
#btnSaleFooter .btn-success {
    --bs-btn-bg: #e8590c;
    --bs-btn-border-color: #e8590c;
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: #d14f08;
    --bs-btn-hover-border-color: #d14f08;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #b84507;
    --bs-btn-active-border-color: #b84507;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: #e8590c;
    --bs-btn-disabled-border-color: #e8590c;
    --bs-btn-disabled-color: #fff;
    --bs-btn-focus-shadow-rgb: 232, 89, 12;
}
