.tg-routefacts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
    margin: 1rem 0 1.5rem;
}

.tg-routefacts__item {
    min-width: 0;
    padding: .8rem .9rem;
    border: 1px solid rgba(127, 127, 127, .28);
    border-radius: .65rem;
    background: rgba(127, 127, 127, .055);
}

.tg-routefacts__label {
    display: block;
    margin-bottom: .28rem;
    font-size: .78rem;
    line-height: 1.2;
    opacity: .72;
}

.tg-routefacts__value {
    display: block;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 700;
}

.tg-routefacts__difficulty {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
}

.tg-routefacts__difficulty img {
    display: block !important;
    width: 28px !important;
    height: 31px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain;
}

.tg-routefacts__value a {
    font-weight: 700;
}

.tg-routefacts__separator {
    opacity: .6;
}

@media (max-width: 640px) {
    .tg-routefacts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .tg-routefacts__item {
        padding: .7rem .75rem;
    }
}

@media (max-width: 390px) {
    .tg-routefacts {
        grid-template-columns: 1fr;
    }
}
