/* GiovLab User Profile 1.0.0 */
.widget-giovlab_user_profile .widget-body { min-width: 0; }
.glup-card, .glup-guest {
    --glup-accent: var(--color-primary, #2477d4);
    display: flex; align-items: flex-start; gap: 14px; min-width: 0;
    padding: 16px; border: 1px solid var(--border-color, rgba(120,140,170,.22));
    border-radius: 16px; background: var(--card-bg, rgba(255,255,255,.72));
    color: var(--text-color, inherit); box-shadow: 0 8px 26px rgba(20,40,80,.06);
}
.glup-card.glup-layout-vertical { flex-direction: column; align-items: center; text-align: center; }
.glup-avatar { flex: 0 0 auto; }
.glup-avatar-image { display: block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.glup-avatar .avatar-letter { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-size: 1.5rem; }
.glup-main { min-width: 0; flex: 1; width: 100%; }
.glup-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.glup-layout-vertical .glup-identity { justify-content: center; }
.glup-name { font-size: 1.05rem; overflow-wrap: anywhere; }
.glup-role { display: inline-flex; padding: 3px 8px; border-radius: 999px; font-size: .72rem; background: color-mix(in srgb, var(--glup-accent) 12%, transparent); color: var(--glup-accent); }
.glup-bio { margin: 8px 0 0; font-size: .9rem; line-height: 1.5; opacity: .82; overflow-wrap: anywhere; }
.glup-location { margin: 6px 0 0; font-size: .82rem; opacity: .68; }
.glup-stats { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; font-size: .8rem; opacity: .82; }
.glup-layout-vertical .glup-stats { justify-content: center; }
.glup-stats b { color: var(--glup-accent); font-variant-numeric: tabular-nums; }
.glup-links, .glup-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.glup-layout-vertical .glup-links { justify-content: center; }
.glup-links a { color: var(--glup-accent); text-decoration: none; font-size: .82rem; font-weight: 600; }
.glup-links a:hover { text-decoration: underline; }
.glup-guest { display: block; }
.glup-guest p { margin: 0; }
.glup-button { display: inline-flex; align-items: center; justify-content: center; padding: 8px 13px; border-radius: 9px; background: var(--glup-accent); color: #fff !important; text-decoration: none !important; font-size: .85rem; font-weight: 650; }
.glup-button-soft { background: color-mix(in srgb, var(--glup-accent) 11%, transparent); color: var(--glup-accent) !important; }
@media (max-width: 520px) {
    .glup-card.glup-layout-horizontal { gap: 10px; padding: 12px; }
    .glup-card.glup-layout-horizontal .glup-avatar-image,
    .glup-card.glup-layout-horizontal .glup-avatar .avatar-letter { width: 48px; height: 48px; }
}
