@media (min-width: 1440px) {
    .container {
        width: 1440px;
    }
}

/* 覆盖Bootstrap列的padding */
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    position: relative;
    min-height: 1px;
    padding-left: 10px;
    padding-right: 10px;
}

/* 页面内容容器 - 不设置overflow以支持sticky定位 */
.glw-page-content {
    overflow: visible;
}

/* 左侧导航栏sticky定位（PC端） */
@media (min-width: 769px) {
    .sidebar-col {
        padding-left: 10px;
        padding-right: 10px;
        position: sticky;
        top: 80px;
        align-self: flex-start;
        max-height: calc(100vh - 40px);
        overflow-y: auto;
        z-index: 10;
    }
}

/* 移动端：glw-sidebar-fixed 必须覆盖sticky */
@media (max-width: 768px) {
    .sidebar-col.glw-sidebar-fixed {
        position: fixed !important;
        top: 56px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* 文章页右侧TOC栏保持sticky定位 */
.article-sidebar-col {
    position: sticky !important;
    top: 80px !important;
    align-self: flex-start;
}

/* 精选帖子作者头像 */
.featured-author {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.featured-author-avatar {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    object-fit: cover;
}

/* ========== Banner 轮播样式 ========== */
.banner-carousel {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 20px;
    aspect-ratio: 16 / 6.7;
    background: #f5f5f5;
}
.banner-track {
    position: relative;
    width: 100%;
    height: 100%;
}
.banner-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 0.6s ease-in-out;
}
.banner-slide.active {
    opacity: 1;
    pointer-events: auto;
}
.banner-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    cursor: pointer;
}
.banner-slide a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.banner-slide img:hover,
.banner-slide a:hover img {
    transform: scale(1.1);
}
.banner-dots {
    position: absolute;
    bottom: 15px;
    right: 20px;
    display: flex;
    gap: 8px;
    z-index: 10;
}
.banner-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: all 0.3s;
}
.banner-dot:hover {
    background: rgba(255,255,255,0.8);
}
.banner-dot.active {
    background: #fff;
    transform: scale(1.2);
}



.btn-primary {
    background: var(--color-primary);
    border-color: var(--color-primary);
}
.btn-primary:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}



.breadcrumb > li + li::before {
    content: "\f105";
    font-family: FontAwesome;
    color: #999;
    padding: 0 8px;
}