/*
 * TABLERO DE CAMIONES v1.5.20
 * Este archivo se carga después de style.css.
 */

.truck-board {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: unset !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    gap: 10px !important;
    padding: 0 0 12px !important;

    overflow: visible !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
}

.truck-lane {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    overflow: hidden !important;
    border-radius: 12px !important;
    scroll-snap-align: none !important;
}

.truck-lane-header {
    min-height: 52px !important;
    padding: 9px 10px !important;
}

.truck-lane-title {
    min-width: 0 !important;
}

.truck-lane-title strong {
    display: block !important;
    overflow: hidden !important;

    font-size: 0.92rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.truck-lane-title span {
    display: block !important;
    overflow: hidden !important;

    margin-top: 2px !important;
    font-size: 0.72rem !important;

    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.truck-service-count {
    min-width: 24px !important;
    height: 24px !important;

    padding: 0 6px !important;
    font-size: 0.76rem !important;
}

.truck-service-list {
    gap: 6px !important;
    padding: 7px !important;
}

.truck-service-card {
    min-width: 0 !important;
    padding: 8px !important;
    border-radius: 8px !important;
}

.truck-service-card-head {
    gap: 5px !important;
}

.truck-transfer-link {
    overflow: hidden !important;

    font-size: 0.82rem !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.truck-service-card .badge {
    flex: 0 0 auto !important;

    padding: 3px 5px !important;
    font-size: 0.62rem !important;
    white-space: nowrap !important;
}

.truck-service-client {
    margin-top: 5px !important;

    font-size: 0.82rem !important;
    line-height: 1.2 !important;

    overflow-wrap: anywhere !important;
}

.truck-service-type {
    display: block !important;

    margin-top: 5px !important;
    font-size: 0.76rem !important;
}

.truck-service-type small {
    display: block !important;

    margin-top: 2px !important;
    font-size: 0.68rem !important;
}

.truck-service-address,
.truck-service-driver {
    margin-top: 6px !important;
    padding-top: 6px !important;
}

.truck-service-address span,
.truck-service-driver span {
    margin-bottom: 1px !important;
    font-size: 0.65rem !important;
}

.truck-service-address strong,
.truck-service-driver strong {
    font-size: 0.74rem !important;
    line-height: 1.2 !important;

    overflow-wrap: anywhere !important;
}

.truck-service-address strong {
    display: -webkit-box !important;
    overflow: hidden !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

.truck-lane-empty {
    padding: 14px 7px !important;
    font-size: 0.75rem !important;
}

/* Pantallas medianas: tres camiones por fila. */
@media (max-width: 1400px) {
    .truck-board {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Portátiles y tabletas: dos camiones por fila. */
@media (max-width: 1050px) {
    .truck-board {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Móvil: un camión por fila. */
@media (max-width: 650px) {
    .truck-board {
        grid-template-columns: 1fr !important;
    }
}
