.vg-rf-count {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: var(--vg-radius-pill);
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .85);
    font-weight: 600;
}

.vg-rf-count strong {
    color: var(--vg-accent);
    font-size: 1.3rem;
    font-weight: 800;
}

.vg-rf__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
    gap: 20px;
}

.vg-rf__item {
    display: flex;
    min-width: 0;
}

.vg-rf-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
    background: var(--vg-surface);
    border: 1px solid var(--vg-border);
    border-radius: var(--vg-radius-lg);
    box-shadow: var(--vg-shadow-sm);
    transition: transform .25s var(--vg-ease), box-shadow .25s var(--vg-ease), border-color .25s ease;
}

.vg-rf-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--vg-shadow);
    border-color: var(--vg-primary-line);
}

.vg-rf-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    padding: 24px;
    background: var(--vg-surface-2);
    border-bottom: 1px solid var(--vg-border);
}

.vg-rf-card__logo img {
    max-width: 100%;
    max-height: 90px;
    width: auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .85;
    transition: filter .25s ease, opacity .25s ease;
}

.vg-rf-card:hover .vg-rf-card__logo img {
    filter: none;
    opacity: 1;
}

.vg-rf-card__mono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 22px 22px 22px 6px;
    background: var(--vg-secondary);
    color: #fff;
    font-family: var(--vg-font-head);
    font-size: 1.8rem;
    font-weight: 800;
}

.vg-rf__item:nth-child(3n+2) .vg-rf-card__mono {
    background: var(--vg-primary);
}

.vg-rf__item:nth-child(3n) .vg-rf-card__mono {
    background: var(--vg-accent);
    color: var(--vg-on-accent);
}

.vg-rf-card__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
    padding: 18px 20px 20px;
}

.vg-rf-card__name {
    font-size: 1.08rem;
}

.vg-rf-card__meta {
    color: var(--vg-muted);
    font-size: .9rem;
}

.vg-rf-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 10px;
    color: var(--vg-primary);
    font-weight: 600;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.vg-rf-card__link .vg-ico {
    flex: none;
    width: 15px;
    height: 15px;
}

.vg-rf-card__link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vg-rf__empty {
    max-width: 680px;
    margin-inline: auto;
}

.vg-rf__empty .vg-empty__title {
    font-size: 1.3rem;
}

.vg-rf__empty-actions {
    justify-content: center;
    margin-top: 6px;
}
