EDU_Recommender / client /src /components /RecommendationCard.module.css
Omarrran's picture
Add EduRecommender HuggingFace Spaces app
5bd3663
.card {
position: relative;
background: var(--bg-glass);
border: 1px solid var(--glass-border);
backdrop-filter: blur(var(--glass-blur));
-webkit-backdrop-filter: blur(var(--glass-blur));
border-radius: var(--radius-lg);
padding: 1.4rem 1.3rem;
overflow: hidden;
transition: all var(--transition);
animation: fadeIn 0.45s ease both;
}
.card:hover {
transform: translateY(-6px);
box-shadow: 0 18px 44px var(--accent-glow);
border-color: var(--glass-border-hover);
}
/* ── Accent bar ─────────────────────────────────────────────────────── */
.accentBar {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--accent-gradient);
opacity: 0;
transition: opacity 0.3s ease;
}
.card:hover .accentBar {
opacity: 1;
}
/* ── Rank ────────────────────────────────────────────────────────────── */
.rankRow {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 0.5rem;
}
.rank {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
background: var(--accent-gradient);
color: #fff;
font-weight: 800;
font-size: 0.85rem;
border-radius: 50%;
box-shadow: 0 3px 12px var(--accent-glow);
}
.rankLabel {
color: var(--text-muted);
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.5px;
}
/* ── Title ───────────────────────────────────────────────────────────── */
.title {
color: var(--text-primary);
font-size: 1.02rem;
font-weight: 700;
line-height: 1.35;
margin-bottom: 0.6rem;
}
/* ── Pills ───────────────────────────────────────────────────────────── */
.pills {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 0.5rem;
}
.pill {
display: inline-block;
background: var(--pill-bg);
color: var(--pill-text);
font-size: 0.72rem;
font-weight: 600;
padding: 3px 11px;
border-radius: var(--radius-full);
}
/* ── Tags ────────────────────────────────────────────────────────────── */
.tags {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin-bottom: 0.7rem;
}
.tag {
display: inline-block;
background: var(--tag-bg);
color: var(--tag-text);
font-size: 0.66rem;
font-weight: 500;
padding: 2px 9px;
border-radius: var(--radius-full);
}
/* ── Why box ─────────────────────────────────────────────────────────── */
.why {
background: var(--reason-bg);
border-left: 3px solid var(--reason-border);
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
padding: 0.6rem 1rem;
margin-top: 0.4rem;
}
.why strong {
color: var(--reason-border);
font-size: 0.8rem;
}
.why p {
color: var(--text-primary);
font-size: 0.84rem;
line-height: 1.5;
margin-top: 2px;
}