.trl-logo-grid {
    /* Flex rows preserve N equal-width slots while centering an incomplete final row. */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    --trl-active-columns: var(--trl-logo-columns, 6);
    --trl-logo-gap: 0px;
    gap: var(--trl-logo-gap);
    width: 100%;
    margin: 0;
    padding: 0;
    border-top: 1px solid #d8d8d8;
    border-left: 1px solid #d8d8d8;
    box-sizing: border-box;
}

.trl-logo-grid,
.trl-logo-grid * {
    box-sizing: border-box;
}

.trl-logo-grid-item {
    /* (100% + gap) / columns - gap = exact width of one regular grid slot. */
    flex: 0 0 calc((100% + var(--trl-logo-gap)) / var(--trl-active-columns) - var(--trl-logo-gap));
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    aspect-ratio: 5 / 2;
    border-right: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
    overflow: hidden;
}

.trl-logo-grid-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

/* THE REGION LOGOS — WHITE BACKGROUND GRID */

.trl-logo-grid--white-bg {
    border: 0 !important;
    --trl-logo-gap: 14px;
}

.trl-logo-grid--white-bg .trl-logo-grid-item {
    aspect-ratio: 200 / 80;
    background: #fff;
    border: 1px solid #e3e3e3;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.trl-logo-grid--white-bg .trl-logo-grid-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 1024px) {
    .trl-logo-grid {
        --trl-active-columns: var(--trl-logo-columns-tablet, 3);
    }
}

@media (max-width: 767px) {
    .trl-logo-grid {
        --trl-active-columns: var(--trl-logo-columns-mobile, 2);
    }
}
