| /** |
| * Apache Ignite Blog Custom Styles |
| * Styles for individual blog post pages and shared blog elements. |
| * Blog listing page uses component-scoped CSS modules. |
| */ |
| |
| /* === Individual Blog Post Page === */ |
| |
| .blogPostPage { |
| padding-top: var(--section-spacing-sm); |
| padding-bottom: var(--section-spacing-md); |
| } |
| |
| /* Post title on detail page */ |
| .blogPostPage h1 { |
| font-size: clamp(2.8rem, 2.2rem + 2vw, 4.2rem); |
| line-height: 1.2; |
| font-weight: 700; |
| margin-bottom: var(--ai-spacing-lg); |
| color: var(--ai-text-primary); |
| } |
| |
| /* Post metadata on detail page */ |
| .blogPostPage header time { |
| font-size: 1.5rem; |
| color: var(--ai-text-secondary); |
| display: block; |
| margin-bottom: var(--ai-spacing-md); |
| } |
| |
| /* Author info on detail page */ |
| .blogPostPage .avatar { |
| margin: var(--ai-spacing-xl) 0; |
| padding: var(--ai-spacing-lg) 0; |
| border-top: 1px solid var(--ai-border-light); |
| border-bottom: 1px solid var(--ai-border-light); |
| display: flex; |
| align-items: center; |
| gap: var(--ai-spacing-md); |
| } |
| |
| .blogPostPage .avatar__photo { |
| width: 50px; |
| height: 50px; |
| border-radius: var(--ai-radius-circle); |
| } |
| |
| .blogPostPage .avatar__name { |
| font-size: 1.6rem; |
| font-weight: 600; |
| color: var(--ai-text-primary); |
| display: block; |
| } |
| |
| .blogPostPage .avatar__intro { |
| font-size: 1.4rem; |
| color: var(--ai-text-secondary); |
| display: block; |
| } |
| |
| /* === Blog Post Content === */ |
| |
| /* Content wrapper */ |
| .blogPostPage .markdown { |
| font-size: 1.8rem; |
| line-height: 1.7; |
| color: var(--ai-text-primary); |
| max-width: 800px; |
| } |
| |
| /* Paragraphs */ |
| .blogPostPage .markdown p { |
| margin-bottom: var(--ai-spacing-lg); |
| } |
| |
| /* Headings in content */ |
| .blogPostPage .markdown h2 { |
| font-size: clamp(2.2rem, 1.8rem + 1vw, 3rem); |
| line-height: 1.3; |
| font-weight: 700; |
| margin-top: var(--ai-spacing-3xl); |
| margin-bottom: var(--ai-spacing-lg); |
| color: var(--ai-text-primary); |
| } |
| |
| .blogPostPage .markdown h3 { |
| font-size: clamp(1.8rem, 1.6rem + 0.5vw, 2.4rem); |
| line-height: 1.4; |
| font-weight: 700; |
| margin-top: var(--ai-spacing-2xl); |
| margin-bottom: var(--ai-spacing-md); |
| color: var(--ai-text-primary); |
| } |
| |
| .blogPostPage .markdown h4 { |
| font-size: clamp(1.6rem, 1.4rem + 0.3vw, 2rem); |
| line-height: 1.4; |
| font-weight: 600; |
| margin-top: var(--ai-spacing-xl); |
| margin-bottom: var(--ai-spacing-sm); |
| color: var(--ai-text-primary); |
| } |
| |
| /* Lists */ |
| .blogPostPage .markdown ul, |
| .blogPostPage .markdown ol { |
| margin-bottom: var(--ai-spacing-lg); |
| padding-left: var(--ai-spacing-xl); |
| } |
| |
| .blogPostPage .markdown li { |
| font-size: 1.8rem; |
| line-height: 1.7; |
| margin-bottom: var(--ai-spacing-xs); |
| } |
| |
| .blogPostPage .markdown ul { |
| list-style-type: disc; |
| } |
| |
| .blogPostPage .markdown ol { |
| list-style-type: decimal; |
| } |
| |
| /* Links in content */ |
| .blogPostPage .markdown a { |
| color: var(--ai-blue); |
| text-decoration: underline; |
| } |
| |
| .blogPostPage .markdown a:hover { |
| color: var(--ai-blue-dark); |
| } |
| |
| /* Code blocks */ |
| .blogPostPage .markdown pre { |
| margin-bottom: var(--ai-spacing-xl); |
| border-radius: var(--ai-radius-sm); |
| overflow: hidden; |
| } |
| |
| .blogPostPage .markdown pre code { |
| font-size: 1.5rem; |
| line-height: 1.6; |
| } |
| |
| /* Inline code */ |
| .blogPostPage .markdown p code, |
| .blogPostPage .markdown li code { |
| font-size: 1.6rem; |
| background: var(--ai-gray-50); |
| padding: 2px 6px; |
| border-radius: var(--ai-radius-xs); |
| color: #d63384; |
| font-family: var(--ai-font-mono, monospace); |
| } |
| |
| /* Blockquotes */ |
| .blogPostPage .markdown blockquote { |
| border-left: 4px solid var(--ai-blue); |
| padding-left: var(--ai-spacing-lg); |
| margin: var(--ai-spacing-xl) 0; |
| font-style: italic; |
| color: var(--ai-text-secondary); |
| } |
| |
| /* Images */ |
| .blogPostPage .markdown img { |
| max-width: 100%; |
| height: auto; |
| border-radius: var(--ai-radius-sm); |
| margin: var(--ai-spacing-xl) 0; |
| } |
| |
| /* Tables */ |
| .blogPostPage .markdown table { |
| width: 100%; |
| margin: var(--ai-spacing-xl) 0; |
| border-collapse: collapse; |
| } |
| |
| .blogPostPage .markdown th, |
| .blogPostPage .markdown td { |
| padding: var(--ai-spacing-sm) var(--ai-spacing-md); |
| border: 1px solid var(--ai-border-medium); |
| text-align: left; |
| } |
| |
| .blogPostPage .markdown th { |
| background: var(--ai-gray-50); |
| font-weight: 600; |
| } |
| |
| /* === Tags on Post Page === */ |
| |
| .blogPostPage .tags { |
| margin-top: var(--ai-spacing-xl); |
| display: flex; |
| flex-wrap: wrap; |
| gap: var(--ai-spacing-xs); |
| } |
| |
| .blogPostPage .tags a { |
| 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); |
| } |
| |
| .blogPostPage .tags a:hover { |
| background: var(--ai-blue-light); |
| text-decoration: none; |
| } |
| |
| /* === Table of Contents === */ |
| |
| .table-of-contents__left-border { |
| padding-left: var(--ai-spacing-sm); |
| } |
| |
| /* === Pagination (Post Navigation) === */ |
| |
| .pagination-nav { |
| margin-top: var(--ai-spacing-3xl); |
| padding-top: var(--ai-spacing-2xl); |
| border-top: 1px solid var(--ai-border-light); |
| } |
| |
| .pagination-nav__link { |
| background: var(--ai-gray-50); |
| border-radius: var(--ai-radius-md); |
| padding: var(--ai-spacing-lg); |
| text-decoration: none; |
| transition: background var(--ai-transition-normal); |
| display: flex; |
| flex-direction: column; |
| gap: var(--ai-spacing-xs); |
| } |
| |
| .pagination-nav__link:hover { |
| background: var(--ai-gray-100); |
| text-decoration: none; |
| } |
| |
| .pagination-nav__sublabel { |
| font-size: 1.3rem; |
| color: var(--ai-text-secondary); |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.5px; |
| } |
| |
| .pagination-nav__label { |
| font-size: 1.6rem; |
| color: var(--ai-text-primary); |
| font-weight: 600; |
| } |
| |
| /* === Blog Sidebar (for post pages) === */ |
| |
| .blog-sidebar h2 { |
| font-size: 1.8rem; |
| font-weight: 700; |
| margin-bottom: var(--ai-spacing-lg); |
| color: var(--ai-text-primary); |
| } |
| |
| .blog-sidebar ul { |
| list-style: none; |
| padding: 0; |
| } |
| |
| .blog-sidebar li { |
| margin-bottom: var(--ai-spacing-sm); |
| } |
| |
| .blog-sidebar a { |
| font-size: 1.4rem; |
| color: var(--ai-text-primary); |
| text-decoration: none; |
| transition: color var(--ai-transition-normal); |
| } |
| |
| .blog-sidebar a:hover { |
| color: var(--ai-blue); |
| text-decoration: none; |
| } |
| |
| /* === Archive Page === */ |
| |
| .blog-archive h1 { |
| font-size: clamp(2.4rem, 2rem + 1.5vw, 3.6rem); |
| font-weight: 700; |
| margin-bottom: var(--ai-spacing-2xl); |
| color: var(--ai-text-primary); |
| } |
| |
| .blog-archive h2 { |
| font-size: 2rem; |
| font-weight: 700; |
| margin-top: var(--ai-spacing-2xl); |
| margin-bottom: var(--ai-spacing-lg); |
| color: var(--ai-text-primary); |
| } |
| |
| .blog-archive ul { |
| list-style: none; |
| padding: 0; |
| } |
| |
| .blog-archive li { |
| margin-bottom: var(--ai-spacing-md); |
| padding-bottom: var(--ai-spacing-md); |
| border-bottom: 1px solid var(--ai-border-light); |
| } |
| |
| .blog-archive li:last-child { |
| border-bottom: none; |
| } |
| |
| .blog-archive a { |
| font-size: 1.6rem; |
| font-weight: 500; |
| color: var(--ai-text-primary); |
| text-decoration: none; |
| } |
| |
| .blog-archive a:hover { |
| color: var(--ai-blue); |
| } |
| |
| .blog-archive time { |
| font-size: 1.4rem; |
| color: var(--ai-text-secondary); |
| display: block; |
| margin-top: var(--ai-spacing-xs); |
| } |
| |
| /* === Responsive Design === */ |
| |
| @media (max-width: 996px) { |
| .blogPostPage .markdown { |
| font-size: 1.7rem; |
| } |
| |
| .blogPostPage .markdown li { |
| font-size: 1.7rem; |
| } |
| } |
| |
| @media (max-width: 768px) { |
| .blogPostPage { |
| padding-top: var(--section-spacing-xxs); |
| padding-bottom: var(--section-spacing-sm); |
| } |
| |
| .blogPostPage .markdown { |
| font-size: 1.6rem; |
| } |
| |
| .blogPostPage .markdown li { |
| font-size: 1.6rem; |
| } |
| |
| .pagination-nav { |
| margin-top: var(--ai-spacing-2xl); |
| padding-top: var(--ai-spacing-xl); |
| } |
| |
| .pagination-nav__link { |
| padding: var(--ai-spacing-md); |
| } |
| } |