.forum-latest-topics {
    --forum-latest-surface: var(--nx-color-card-bg, var(--bs-card-bg, #fff));
    --forum-latest-border: var(--nx-color-card-border, var(--bs-border-color, #dbe1e9));
    --forum-latest-text: var(--nx-color-on-surface, var(--bs-body-color, #182033));
    --forum-latest-muted: var(--nx-color-muted, var(--bs-secondary-color, #677184));
    --forum-latest-accent: var(--nx-color-primary, var(--bs-primary, #f58220));
    display: grid;
    grid-template-columns: minmax(11rem, .85fr) minmax(0, 3fr) auto;
    gap: 1.15rem;
    align-items: stretch;
    width: min(100% - clamp(1rem, 3vw, 2rem), 1320px);
    margin: 1rem auto;
    padding: 1rem 1.15rem;
    color: var(--forum-latest-text);
    background: var(--forum-latest-surface);
    border: 1px solid var(--forum-latest-border);
    border-radius: var(--nx-component-radius, .75rem);
}

.forum-latest-topics__intro {
    align-self: center;
}

.forum-latest-topics__intro h2 {
    margin: 0 0 .45rem;
    color: var(--forum-latest-text);
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    font-weight: 800;
}

.forum-latest-topics__intro p {
    margin: 0;
    color: var(--forum-latest-muted);
    font-size: .78rem;
    line-height: 1.55;
}

.forum-latest-topics__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    min-width: 0;
}

.forum-latest-topics__item {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .75rem;
    min-width: 0;
    padding-left: 1rem;
    border-left: 1px solid var(--forum-latest-border);
}

.forum-latest-topics__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    color: var(--forum-latest-accent);
    background: color-mix(in srgb, var(--forum-latest-text) 96%, #000);
    border-radius: .35rem;
    font-size: 1.2rem;
}

.forum-latest-topics__body {
    min-width: 0;
}

.forum-latest-topics__badge {
    display: inline-block;
    margin-bottom: .2rem;
    padding: .1rem .3rem;
    color: var(--nx-color-button-text, #fff);
    background: var(--forum-latest-accent);
    border-radius: .25rem;
    font-size: .55rem;
    font-weight: 800;
}

.forum-latest-topics__item h3 {
    margin: 0 0 .35rem;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.25;
}

.forum-latest-topics__item h3 a {
    color: var(--forum-latest-text);
    text-decoration: none;
}

.forum-latest-topics__item h3 a:hover {
    color: var(--forum-latest-accent);
}

.forum-latest-topics__item p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--forum-latest-muted);
    font-size: .7rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.forum-latest-topics__item footer {
    display: flex;
    gap: .5rem;
    align-items: center;
    justify-content: space-between;
    margin-top: .55rem;
    color: var(--forum-latest-muted);
    font-size: .62rem;
}

.forum-latest-topics__item footer a {
    color: var(--forum-latest-accent);
    font-weight: 700;
    text-decoration: none;
}

.forum-latest-topics__all {
    display: flex;
    min-width: 5.5rem;
    flex-direction: column;
    gap: .35rem;
    align-items: center;
    justify-content: center;
    padding-left: 1rem;
    color: var(--forum-latest-accent);
    border-left: 1px solid var(--forum-latest-border);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
}

.forum-latest-topics__all > .bi:first-child {
    font-size: 1.2rem;
}

.forum-latest-topics__empty {
    grid-column: 1 / -1;
    align-self: center;
    color: var(--forum-latest-muted);
    text-align: center;
}

@media (max-width: 991.98px) {
    .forum-latest-topics {
        grid-template-columns: 1fr auto;
    }

    .forum-latest-topics__intro {
        grid-column: 1 / -1;
    }

    .forum-latest-topics__items {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .forum-latest-topics {
        grid-template-columns: 1fr;
    }

    .forum-latest-topics__item {
        padding: .85rem 0 0;
        border-top: 1px solid var(--forum-latest-border);
        border-left: 0;
    }

    .forum-latest-topics__all {
        flex-direction: row;
        padding: .9rem 0 0;
        border-top: 1px solid var(--forum-latest-border);
        border-left: 0;
    }
}
