/* =========================================
   research.css
   仅用于 social_network_research.ejs
   ========================================= */

/* Page Hero */
.page-hero {
    position: relative;
    height: 400px;
    margin-top: 80px;
    background: url('/images/background.png') no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    color: #333;
}

.page-hero .hero-content { max-width: 1000px; }
.page-hero .hero-title { font-size: 48px; font-weight: 800; margin-bottom: 15px; line-height: 1.2; }
.page-hero .hero-title span { color: var(--primary-blue); margin-right: 8px; }
.page-hero .hero-desc { font-size: 18px; color: var(--text-sub); margin-bottom: 30px; }

/* Resource Groups */
.resource-section { padding: 60px 0 100px; background-color: #f5f9fc; }
.resource-group { margin-bottom: 60px; }

.group-title {
    font-size: 24px; font-weight: 700; color: #1a1a1a; margin-bottom: 25px; padding-left: 15px; border-left: 5px solid var(--primary-blue);
}

/* Intro Card */
.intro-card {
    background: #fff; padding: 40px; border-radius: 12px; box-shadow: var(--card-shadow); margin-bottom: 30px; line-height: 1.8; color: #444;
}
.intro-text p { margin-bottom: 15px; text-indent: 2em; }

/* PDF Grid */
.pdf-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px;
}

.pdf-card {
    background: #fff; padding: 24px; border-radius: 12px; box-shadow: var(--card-shadow); display: flex; align-items: center; gap: 15px; transition: all 0.3s ease; border: 1px solid transparent;
}

.pdf-card:hover {
    transform: translateY(-5px); background: linear-gradient(135deg, #1890ff 0%, #0056ff 100%); box-shadow: var(--hover-shadow); border-color: transparent;
}

.pdf-icon {
    width: 48px; height: 48px; background: #f0f7ff; color: #1890ff; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; flex-shrink: 0; transition: all 0.3s;
}

.pdf-num { font-size: 32px; font-weight: 700; color: #e0e0e0; line-height: 1; transition: all 0.3s; }
.pdf-info h3 { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 5px; transition: color 0.3s; }
.pdf-info p { font-size: 12px; color: #999; transition: color 0.3s; }

.pdf-card:hover .pdf-icon { background: #fff; color: #1890ff; }
.pdf-card:hover .pdf-num { color: rgba(255,255,255,0.3); }
.pdf-card:hover .pdf-info h3 { color: #fff; }
.pdf-card:hover .pdf-info p { color: rgba(255,255,255,0.8); }

/* Conference Featured Card */
.conf-featured-card {
    display: flex; background: #fff; border-radius: 12px; box-shadow: var(--card-shadow); overflow: hidden; margin-bottom: 30px; border-top: 5px solid #1890ff;
}
.conf-info-main { flex: 1; padding: 30px 40px; }
.conf-title { font-size: 24px; color: #1a1a1a; margin-bottom: 25px; font-weight: 700; }

.conf-meta-grid { display: flex; gap: 40px; margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px dashed #eee; }
.meta-item .label { display: block; font-size: 12px; color: #999; margin-bottom: 4px; text-transform: uppercase; }
.meta-item .value { font-size: 16px; color: #333; font-weight: 600; }

.conf-org h4 { font-size: 16px; margin-bottom: 15px; color: #1890ff; }
.org-group { margin-bottom: 15px; }
.org-label { font-weight: 700; color: #555; font-size: 14px; }
.org-group p { font-size: 14px; color: #666; margin-top: 5px; line-height: 1.6; }
.conf-footer-note { margin-top: 25px; font-style: italic; color: #999; font-size: 14px; }

.conf-qr-side {
    width: 250px; background: #f9fbff; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; border-left: 1px solid #eee; text-align: center;
}
.qr-wrapper {
    width: 140px; height: 140px; background: #fff; padding: 10px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); margin-bottom: 15px;
}
.qr-wrapper img { width: 100%; height: 100%; object-fit: contain; }
.conf-qr-side p { font-size: 13px; color: #666; line-height: 1.5; }

/* Conference History (Accordion) */
.conf-history-section { background: #fff; border-radius: 12px; box-shadow: var(--card-shadow); overflow: hidden; }
.conf-accordion { width: 100%; }

.accordion-header {
    background: #fff; padding: 20px 30px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; list-style: none; transition: background 0.3s;
}
.accordion-header::-webkit-details-marker { display: none; }
.accordion-header:hover { background: #fcfcfc; }
.accordion-header h3 { font-size: 18px; color: #333; font-weight: 600; }

.toggle-icon { font-size: 12px; color: #999; transition: transform 0.3s; }
.conf-accordion[open] .toggle-icon { transform: rotate(180deg); }

.accordion-content { border-top: 1px solid #eee; background: #fdfdfd; }

.history-item {
    display: flex; padding: 15px 30px; border-bottom: 1px solid #eee; text-decoration: none; transition: all 0.2s; align-items: center;
}
.history-item:last-child { border-bottom: none; }
.history-item:hover { background: #f0f7ff; padding-left: 35px; }

.h-date { width: 120px; font-family: monospace; color: #999; font-size: 13px; flex-shrink: 0; }
.h-title { color: #333; font-size: 14px; flex: 1; }
.history-item:hover .h-date, .history-item:hover .h-title { color: #1890ff; }

.history-item.summary { background: #fffbe6; justify-content: center; }
.history-item.summary .h-title { text-align: center; font-weight: 600; color: #d48806; }
.history-item.summary:hover { background: #fff1b8; }

/* JSC Journal Container */
.jsc-container { background: #fff; border-radius: 12px; box-shadow: var(--card-shadow); overflow: hidden; }

/* JSC Tabs */
.jsc-tabs { display: flex; background: #f5f7fa; border-bottom: 1px solid #eee; }
.jsc-tab {
    flex: 1; background: transparent; border: none; outline: none; cursor: pointer; padding: 20px 10px; font-size: 16px; font-weight: 600; color: #666; transition: 0.3s; border-bottom: 3px solid transparent;
}
.jsc-tab:hover { background: #eef2f7; color: #1890ff; }
.jsc-tab.active { background: #fff; color: #1890ff; border-bottom-color: #1890ff; }

.jsc-content { display: none; padding: 40px; animation: fadeEffect 0.5s; }
@keyframes fadeEffect { from {opacity: 0;} to {opacity: 1;} }

/* JSC Content Layouts */
.jsc-intro-layout { display: flex; gap: 40px; }
.jsc-text-col { flex: 1; line-height: 1.8; color: #444; }
.jsc-text-col h3 { font-size: 24px; margin-bottom: 20px; color: #333; }
.jsc-text-col ul { margin: 15px 0 15px 20px; list-style-type: none; }
.jsc-text-col li { margin-bottom: 8px; }

.highlight-quote {
    border-left: 4px solid #1890ff; padding-left: 20px; margin: 20px 0; font-style: italic; color: #555; background: #f9fbff; padding: 15px 20px; border-radius: 0 8px 8px 0;
}
.highlight-box {
    background: #e6f7ff; border: 1px solid #91d5ff; padding: 15px; border-radius: 6px; color: #0050b3; margin: 20px 0 30px;
}

.jsc-main-actions { display: flex; gap: 20px; }
.jsc-cover-col { width: 300px; flex-shrink: 0; text-align: center; }
.jsc-cover-col img { width: 100%; max-width: 250px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); border-radius: 4px; }

/* JSC Action Buttons */
.action-btn {
    padding: 10px 20px; border: 1px solid #ddd; border-radius: 6px; color: #555; font-size: 14px; font-weight: 600; transition: all 0.3s; text-align: center;
}
.action-btn:hover { border-color: #1890ff; color: #1890ff; background: #f0f7ff; }
.action-btn.primary { background: #1890ff; color: #fff; border-color: #1890ff; box-shadow: 0 4px 10px rgba(24, 144, 255, 0.3); }
.action-btn.primary:hover { background: #0069d9; transform: translateY(-2px); }
.action-btn.large { padding: 12px 30px; font-size: 16px; }

/* JSC Editors & Subjects */
.editors-section { margin-bottom: 40px; }
.editors-section h4 { font-size: 18px; color: #1890ff; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 15px; }
.editors-list { list-style: none; line-height: 1.8; }
.editors-list.featured li { font-size: 16px; margin-bottom: 5px; }

.members-grid { column-count: 3; column-gap: 40px; font-size: 13px; color: #555; line-height: 1.6; }
.members-grid p { margin-bottom: 6px; break-inside: avoid; }

.subjects-container { background: #f9fbff; padding: 30px; border-radius: 8px; border: 1px dashed #d6e4ff; }
.subjects-list { column-count: 2; column-gap: 60px; list-style: disc; padding-left: 20px; }
.subjects-list li { margin-bottom: 8px; color: #444; }

/* JSC Bios */
.inaugural-message { line-height: 1.8; color: #444; margin-bottom: 40px; }
.inaugural-message p { margin-bottom: 15px; }
.jsc-divider { border: 0; border-top: 1px solid #eee; margin: 40px 0; }

.editor-bio-card {
    display: flex; gap: 30px; margin-bottom: 30px; background: #fdfdfd; padding: 20px; border-radius: 12px; border: 1px solid #eee;
}
.bio-img { width: 120px; flex-shrink: 0; }
.bio-img img {
    width: 120px; height: 120px; object-fit: cover; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.bio-text h4 { font-size: 18px; color: #1890ff; margin-bottom: 10px; }
.bio-text p { font-size: 14px; color: #555; line-height: 1.7; }