/* 博客前台基础样式（配合 Bootstrap 5） */

body {
    background-color: #f6f7f9;
}

.post-card {
    border: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

.post-cover {
    max-height: 320px;
    object-fit: cover;
}

.post-meta span {
    white-space: nowrap;
}

/* 正文排版 */
.post-body {
    font-size: 16px;
    line-height: 1.9;
    color: #2c3035;
    word-break: break-word;
}

.post-body h1,
.post-body h2,
.post-body h3,
.post-body h4 {
    margin-top: 1.6em;
    margin-bottom: .6em;
    font-weight: 600;
}

.post-body h2 {
    font-size: 1.4rem;
    border-left: 4px solid #0d6efd;
    padding-left: .6rem;
}

.post-body p {
    margin-bottom: 1em;
}

.post-body img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.post-body pre {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: .9rem 1rem;
    overflow-x: auto;
}

.post-body code {
    background: #f1f3f5;
    padding: .1rem .3rem;
    border-radius: 3px;
    font-size: .9em;
}

.post-body pre code {
    background: none;
    padding: 0;
}

.post-body blockquote {
    border-left: 4px solid #dee2e6;
    margin-left: 0;
    padding: .4rem 1rem;
    color: #6c757d;
}

.post-body table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1em;
}

.post-body th,
.post-body td {
    border: 1px solid #dee2e6;
    padding: .5rem;
}

/* ------------------------------------------------------------------ */
/* 侧边栏：与文章卡统一的无边框 + 轻阴影风格                              */
/* ------------------------------------------------------------------ */

.side-card {
    background: #fff;
    border: 0;
    border-radius: .5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

.side-body {
    padding: 1.1rem 1.25rem;
}

/* 小节标题：品牌色竖线 + 小号粗体，与正文 h2 风格呼应 */
.side-title {
    font-size: .82rem;
    font-weight: 700;
    color: #343a40;
    border-left: 3px solid #0d6efd;
    padding-left: .5rem;
    margin-bottom: .6rem;
}

/* 行列表：浅色分割线 + 悬停高亮 */
.side-list li + li .side-row {
    border-top: 1px solid #f1f3f5;
}

.side-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .35rem;
    margin: 0 -.35rem;
    border-radius: .35rem;
    text-decoration: none;
    color: #495057;
    font-size: .875rem;
    transition: background-color .15s ease;
}

.side-row:hover {
    background-color: #f6f9ff;
    color: #0d6efd;
}

.side-row-label {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.side-count {
    flex: 0 0 auto;
    font-size: .72rem;
    color: #6c757d;
    background: #f1f3f5;
    border-radius: 999px;
    padding: .05rem .5rem;
}

.side-row:hover .side-count {
    background: #dbe8ff;
    color: #0d6efd;
}

.side-arrow {
    flex: 0 0 auto;
    color: #adb5bd;
}

.side-row:hover .side-arrow {
    color: #0d6efd;
}

.side-empty {
    padding: .45rem .35rem;
    color: #adb5bd;
    font-size: .875rem;
}

/* 站点卡 */
.side-logo {
    width: 84px;
    height: 84px;
    object-fit: cover;
}

.side-logo-text {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0d6efd, #6ea8fe);
    color: #fff;
    font-size: 2.25rem;
    font-weight: 700;
}

.side-desc {
    line-height: 1.7;
    text-align: justify;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.side-stat {
    align-items: center;
}

.side-stat-divider {
    width: 1px;
    height: 1rem;
    background: #dee2e6;
}

.side-rss {
    color: #0d6efd;
    text-decoration: none;
    font-size: .875rem;
    border-bottom: 1px dashed #9ec5fe;
}

.side-rss:hover {
    color: #0a58ca;
    border-bottom-color: #0a58ca;
}

/* 标签云：按热度三档 */
.side-tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .55rem;
}

.side-tag {
    text-decoration: none;
    border-radius: 999px;
    padding: .12rem .65rem;
    transition: all .15s ease;
}

.side-tag:hover {
    background: #0d6efd;
    color: #fff !important;
}

.side-tag-1 {
    font-size: .76rem;
    color: #8a94a0;
    background: #f4f6f8;
}

.side-tag-2 {
    font-size: .84rem;
    color: #4c6ef5;
    background: #e7edff;
}

.side-tag-3 {
    font-size: .92rem;
    font-weight: 600;
    color: #fff;
    background: #6ea8fe;
}

/* 阅读排行序号：前三名金银铜 */
.side-rank {
    flex: 0 0 auto;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f3f5;
    color: #8a94a0;
}

.side-rank-1 {
    background: #fdd835;
    color: #7a5900;
}

.side-rank-2 {
    background: #d7dde3;
    color: #4b5563;
}

.side-rank-3 {
    background: #e7a268;
    color: #6b3410;
}
