| /** |
| * PostCard Component Styles |
| * Text-forward blog post card with category badge, metadata, and author info. |
| */ |
| |
| .postCard { |
| display: flex; |
| flex-direction: column; |
| padding: var(--ai-spacing-xl); |
| background: var(--ai-bg-card); |
| border: 1px solid var(--ai-border-light); |
| border-radius: var(--ai-radius-lg); |
| transition: border-color var(--ai-transition-normal), |
| box-shadow var(--ai-transition-normal); |
| } |
| |
| .postCard:hover { |
| border-color: var(--ai-border-medium); |
| box-shadow: var(--ai-shadow-sm); |
| } |
| |
| .postCard__link { |
| text-decoration: none; |
| color: inherit; |
| display: block; |
| } |
| |
| .postCard__link:hover { |
| text-decoration: none; |
| } |
| |
| /* Header with meta and title */ |
| .postCard__header { |
| margin-bottom: var(--ai-spacing-md); |
| } |
| |
| .postCard__meta { |
| display: flex; |
| align-items: center; |
| gap: var(--ai-spacing-xs); |
| margin-bottom: var(--ai-spacing-sm); |
| font-size: 1.4rem; |
| color: var(--ai-text-secondary); |
| } |
| |
| .postCard__separator { |
| color: var(--ai-gray-300); |
| } |
| |
| .postCard__date, |
| .postCard__readingTime { |
| color: var(--ai-text-secondary); |
| } |
| |
| /* Category badge */ |
| .postCard__category { |
| font-size: 1.2rem; |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.5px; |
| padding: 2px 8px; |
| border-radius: var(--ai-radius-xs); |
| background: var(--ai-gray-100); |
| color: var(--ai-text-secondary); |
| } |
| |
| .postCard__category--release { |
| background: var(--ai-blue-lighter); |
| color: var(--ai-blue); |
| } |
| |
| .postCard__category--technical { |
| background: var(--ai-gray-100); |
| color: var(--ai-gray-400); |
| } |
| |
| .postCard__category--tutorial { |
| background: var(--ai-primary-lightest); |
| color: var(--ai-primary-dark); |
| } |
| |
| .postCard__category--community { |
| background: #e8f0fa; |
| color: var(--ai-blue-dark); |
| } |
| |
| /* Title */ |
| .postCard__title { |
| font-size: 2.2rem; |
| font-weight: 700; |
| line-height: 1.3; |
| color: var(--ai-text-primary); |
| margin: 0; |
| transition: color var(--ai-transition-normal); |
| } |
| |
| .postCard__link:hover .postCard__title { |
| color: var(--ai-blue); |
| } |
| |
| /* Description */ |
| .postCard__description { |
| font-size: 1.6rem; |
| line-height: 1.6; |
| color: var(--ai-text-secondary); |
| margin: 0 0 var(--ai-spacing-md) 0; |
| display: -webkit-box; |
| -webkit-line-clamp: 3; |
| -webkit-box-orient: vertical; |
| overflow: hidden; |
| } |
| |
| /* Footer with author and date */ |
| .postCard__footer { |
| margin-top: auto; |
| padding-top: var(--ai-spacing-md); |
| } |
| |
| /* Author */ |
| .postCard__author { |
| display: flex; |
| align-items: center; |
| gap: var(--ai-spacing-sm); |
| } |
| |
| .postCard__authorImage { |
| width: 36px; |
| height: 36px; |
| border-radius: var(--ai-radius-circle); |
| object-fit: cover; |
| } |
| |
| .postCard__authorInfo { |
| display: flex; |
| flex-direction: column; |
| } |
| |
| .postCard__authorName { |
| font-size: 1.4rem; |
| font-weight: 600; |
| color: var(--ai-text-primary); |
| } |
| |
| .postCard__authorTitle { |
| font-size: 1.3rem; |
| color: var(--ai-text-secondary); |
| } |
| |
| /* Date line under category */ |
| .postCard__dateLine { |
| display: flex; |
| align-items: center; |
| gap: var(--ai-spacing-xs); |
| font-size: 1.3rem; |
| color: var(--ai-text-tertiary); |
| margin-bottom: var(--ai-spacing-sm); |
| } |
| |
| /* Tags */ |
| .postCard__tags { |
| display: flex; |
| flex-wrap: wrap; |
| gap: var(--ai-spacing-xs); |
| margin-top: var(--ai-spacing-md); |
| padding-top: var(--ai-spacing-md); |
| border-top: 1px solid var(--ai-border-light); |
| } |
| |
| .postCard__tag { |
| font-size: 1.3rem; |
| color: var(--ai-blue); |
| background: var(--ai-blue-lighter); |
| padding: 4px 12px; |
| border-radius: var(--ai-radius-full); |
| text-decoration: none; |
| transition: background var(--ai-transition-normal); |
| } |
| |
| .postCard__tag:hover { |
| background: var(--ai-blue-light); |
| text-decoration: none; |
| } |
| |
| /* === Variant: Featured === */ |
| .postCard--featured { |
| padding: var(--ai-spacing-2xl); |
| background: linear-gradient(135deg, var(--ai-bg-card) 0%, var(--ai-gray-50) 100%); |
| border: none; |
| box-shadow: var(--ai-shadow-md); |
| } |
| |
| .postCard--featured .postCard__title { |
| font-size: 2.8rem; |
| } |
| |
| .postCard--featured .postCard__description { |
| font-size: 1.7rem; |
| -webkit-line-clamp: 4; |
| } |
| |
| /* === Variant: Compact === */ |
| .postCard--compact { |
| padding: var(--ai-spacing-md); |
| background: transparent; |
| border: none; |
| border-radius: 0; |
| } |
| |
| .postCard--compact:hover { |
| background: var(--ai-gray-50); |
| box-shadow: none; |
| } |
| |
| .postCard--compact .postCard__header { |
| margin-bottom: 0; |
| } |
| |
| .postCard--compact .postCard__meta { |
| font-size: 1.2rem; |
| margin-bottom: var(--ai-spacing-xs); |
| } |
| |
| .postCard--compact .postCard__title { |
| font-size: 1.6rem; |
| } |
| |
| .postCard--compact .postCard__category { |
| display: none; |
| } |
| |
| /* === Variant: Related === */ |
| .postCard--related { |
| padding: var(--ai-spacing-lg); |
| } |
| |
| .postCard--related .postCard__title { |
| font-size: 1.8rem; |
| } |
| |
| .postCard--related .postCard__description { |
| font-size: 1.5rem; |
| -webkit-line-clamp: 2; |
| } |
| |
| /* === Responsive === */ |
| @media (max-width: 768px) { |
| .postCard { |
| padding: var(--ai-spacing-lg); |
| } |
| |
| .postCard__title { |
| font-size: 2rem; |
| } |
| |
| .postCard__description { |
| font-size: 1.5rem; |
| } |
| |
| .postCard--featured { |
| padding: var(--ai-spacing-xl); |
| } |
| |
| .postCard--featured .postCard__title { |
| font-size: 2.2rem; |
| } |
| } |