/* Sidebar CSS - 为首页创建的侧边栏样式模块 */
/* 从 style.css 中提取的所有 sidebar 相关样式定义 */
/* 创建日期：基于 index.php 首页的 sidebar 组件 */

/* 侧边栏主容器 */
.sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 侧边栏组件基础样式 */
.widget {
    background: white;
    border-radius: 8px;
    padding: 20px;
}

.widget h3 {
    margin-bottom: 15px;
    color: #333;
    font-size: 16px;
}

/* 调整widget间距 */
.sidebar .widget {
    margin-bottom: 5px;
}

/* 侧边栏导航样式 */
.sidebar-nav {
    border: 1px solid #ccc;
    border-radius: 8px;
    background: white;
    padding: 0;
}

.sidebar-nav .nav-item {
    margin-bottom: 0;
}

.nav-link {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    text-decoration: none;
    color: #1c1c1c;
    border-radius: 8px;
    transition: background-color 0.2s;
}

.nav-link:hover {
    background-color: #f6f7f8;
    text-decoration: none;
}

.nav-icon {
    margin-right: 12px;
    font-size: 16px;
}

.nav-text {
    font-size: 14px;
    font-weight: 500;
}

/* Widget 头部样式 */
.widget-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.widget-header h3 {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #7c7c83;
    letter-spacing: 0.5px;
}

.expand-icon {
    font-size: 12px;
    color: #7c7c83;
    cursor: pointer;
}

/* 主题分类样式 */
.sidebar-topics {
    border: 1px solid #ccc;
    border-radius: 8px;
    background: white;
    padding: 0;
}

.topic-item {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s;
    text-decoration: none;
    color: inherit;
}

.topic-item:hover {
    background-color: #f6f7f8;
    text-decoration: none;
}

.topic-icon {
    margin-right: 12px;
    font-size: 1.0em;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef, #dee2e6);
    color: var(--topic-color, #0079d3);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    border: 2px solid color-mix(in srgb, var(--topic-color, #0079d3) 20%, transparent);
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.topic-icon:hover {
    transform: scale(1.08);
    box-shadow: 0 3px 10px rgba(0,0,0,0.15);
    border-color: color-mix(in srgb, var(--topic-color, #0079d3) 40%, transparent);
}

.topic-name {
    flex: 1;
    font-size: 14px;
    color: #1c1c1c;
}

.expand-arrow {
    font-size: 12px;
    color: #7c7c83;
}

.topic-more {
    padding: 8px 16px;
    font-size: 12px;
    color: #0079d3;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s;
    text-decoration: none;
    display: block;
}

.topic-more:hover {
    background-color: #f6f7f8;
    text-decoration: none;
    color: #0079d3;
}

/* 资源样式 */
.sidebar-resources {
    border: 1px solid #ccc;
    border-radius: 8px;
    background: white;
    padding: 0;
}

.resource-item {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s;
    text-decoration: none;
    color: inherit;
}

.resource-item:hover {
    background-color: #f6f7f8;
    text-decoration: none;
}

.resource-icon {
    margin-right: 12px;
    font-size: 16px;
}

.resource-name {
    flex: 1;
    font-size: 14px;
    color: #1c1c1c;
}

/* 社区样式 */
.sidebar-community {
    border: 1px solid #ccc;
    border-radius: 8px;
    background: white;
    padding: 0;
}

.community-header {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    margin-bottom: 8px;
}

.community-icon {
    margin-right: 12px;
    font-size: 16px;
}

.community-text {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #7c7c83;
    letter-spacing: 0.5px;
}

.community-item {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s;
    text-decoration: none;
    color: inherit;
}

.community-item:hover {
    background-color: #f6f7f8;
    text-decoration: none;
}

.community-item .community-icon {
    margin-right: 12px;
    font-size: 16px;
}

.community-name {
    font-size: 14px;
    color: #1c1c1c;
}

/* Subreddit 样式 - 仅限侧边栏使用 */
.sidebar .subreddit-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.sidebar .subreddit-item:last-child {
    border-bottom: none;
}

.sidebar .subreddit-info {
    flex: 1;
}

.sidebar .subreddit-name {
    font-weight: 600 !important;
    color: #1c1c1c !important;
    text-decoration: none !important;
}

.sidebar .subreddit-members {
    font-size: 12px;
    color: #878a8c;
}

/* 侧边栏卡片样式 */
.sidebar-card {
    background: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.sidebar-header {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #1c1c1e;
}

.sidebar-content {
    color: #1c1c1e;
}

.info-item {
    margin-bottom: 12px;
}

.stat-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

/* 版主列表样式 - 仅限侧边栏卡片使用 */
.sidebar-card .moderator-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-card .moderator-list li {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    color: #666;
}

.sidebar-card .moderator-list li:last-child {
    border-bottom: none;
}

.sidebar-card .moderator-list li a {
    color: #1c1c1c;
    text-decoration: none;
}

.sidebar-card .moderator-list li a:hover {
    color: #ff0000 !important;
    text-decoration: underline !important;
}

/* 规则列表样式 - 仅限侧边栏卡片使用 */
.sidebar-card .rules-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-card .rules-list li {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    color: #666;
    font-size: 14px;
}

.sidebar-card .rules-list li:last-child {
    border-bottom: none;
}

/* 响应式设计 - 移动端 */
@media (max-width: 768px) {
    .sidebar {
        order: -1;
    }
}