/* Keep distance, current access conditions and save action on one balanced row. */
.trail-card__topline {
    display: grid;
    grid-template-columns: minmax(44px, 1fr) minmax(0, auto) minmax(44px, 1fr);
    align-items: center;
    gap: 8px;
}
.trail-card__topline .trail-card__distance { justify-self: start; white-space: nowrap; }
.trail-card__topline .icon-button { justify-self: end; }
.trail-card__status { display: flex; justify-content: center; align-items: center; min-width: 0; }
.trail-card__status .rg-trail-status-badge {
    justify-content: center;
    margin: 0;
    padding: 5px 8px;
    text-align: center;
    font-size: .68rem;
    line-height: 1.3;
}

/* A filled sole adds a level; empty soles remain visible without relying on colour. */
.difficulty-badge.difficulty-scale {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-height: 34px;
    padding: 7px 12px;
    background: #fffefa;
}
.trail-card__media .difficulty-scale { position: absolute; }
.difficulty-scale__steps { display: inline-flex; align-items: center; gap: 3px; }
.difficulty-scale__step { display: block; flex: 0 0 auto; width: 15px; height: 22px; fill: none; }
.difficulty-scale__step.is-filled { fill: currentColor; }
.difficulty-scale__label {
    position: static;
    padding: 0;
    color: #19372d;
    font-size: .68rem;
    line-height: 1.2;
    letter-spacing: .02em;
    text-align: center;
    white-space: nowrap;
    opacity: 1;
    visibility: visible;
}
@media (max-width: 380px) {
    .trail-card__body { padding: 18px; }
    .trail-card__topline { gap: 5px; }
    .trail-card__status .rg-trail-status-badge { padding-inline: 5px; font-size: .65rem; }
}
