/* ====== 智库研究报告 - 首页板块 ====== */
.tt-report-title-link { color:#044389; text-decoration:none; }
.tt-report-title-link:hover { color:#ff0000; }
.tt-report-card { border:1px solid #dee2e6; border-radius:0.75rem; overflow:hidden; transition:all 0.2s ease; }
.tt-report-card:hover { border-color:#044389; background:#f8faff; box-shadow:0 2px 8px rgba(4,67,137,0.10); }
.tt-report-card-summary { color:#718096; font-size:0.875rem; margin-bottom:0; }
.tt-report-badge { font-size:0.8rem; }
.tt-field-link { display:inline-block; padding:0.15rem 0.5rem; margin-right:0.25rem; margin-bottom:0.2rem; font-size:0.8rem; color:#6c757d; border:1px solid #dee2e6; border-radius:0.25rem; text-decoration:none; transition:all 0.15s ease; }
.tt-field-link:hover { color:#044389; background:#e8f0fe; border-color:#044389; text-decoration:none; }
.tt-btn-coop { font-size:0.95rem; padding:0.45rem 1.2rem; font-weight:600; color:#555; background:#fff; border:1.5px solid #ddd; border-radius:0.375rem; text-decoration:none; transition:all 0.2s; }
.tt-btn-coop:hover { color:#fff; background:#e08820; border-color:#e08820; text-decoration:none; }
.tt-btn-user { font-size:0.95rem; padding:0.45rem 1.2rem; font-weight:600; color:#555; background:#fff; border:1.5px solid #ddd; border-radius:0.375rem; text-decoration:none; transition:all 0.2s; }
.tt-btn-user:hover { color:#fff; background:#3d7ec0; border-color:#3d7ec0; text-decoration:none; }
.tt-btn-search { padding:0.45rem 1.5rem; font-size:0.95rem; font-weight:600; color:#fff; background:#044389; border:none; border-radius:0.375rem; cursor:pointer; transition:all 0.2s ease; }
.tt-btn-search:hover { background:#033573; }
.tt-btn-more { display:inline-block; padding:0.5rem 1.8rem; font-size:0.95rem; color:#044389; border:1.5px solid #044389; border-radius:2rem; text-decoration:none; transition:all 0.2s ease; }
.tt-btn-more:hover { color:#fff; background:#044389; text-decoration:none; }
.tt-report-meta-text { color:#718096; margin-bottom:0.25rem; font-size:0.9rem; }
.tt-report-section .ellipsis-2 { overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; word-wrap:break-word; }

/* ====== 智库研究报告 - 列表页 ====== */
.tt-search-box { background:#f8f9fa; border-radius:0.75rem; padding:1.5rem; margin-bottom:1.5rem; }
.tt-search-box .form-label { font-weight:600; color:#4f4f4f; font-size:0.875rem; }
.tt-report-card { border:1px solid #dee2e6; border-radius:0.75rem; overflow:hidden; margin-bottom:1rem; transition:all 0.2s ease; }
.tt-report-card:hover { border-color:#044389; background:#f8faff; box-shadow:0 2px 8px rgba(4,67,137,0.10); }
.tt-report-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.1); }
.tt-report-card-img-wrap { width:120px; height:160px; overflow:hidden; background:#f0f1f3; position:relative; }
.tt-report-card-img-wrap img { width:100%; height:100%; object-fit:cover; }
.tt-report-card-img-wrap.tt-img-placeholder { display:flex; align-items:center; justify-content:center; }
.tt-report-card-img-wrap.tt-img-placeholder::before { content:"\f1c1"; font-family:"FontAwesome"; font-size:2rem; color:#c0c4cc; }
.tt-report-card-img-wrap.tt-img-placeholder::after { content:"暂无封面"; position:absolute; bottom:25%; left:0; right:0; text-align:center; font-size:0.75rem; color:#c0c4cc; }
.tt-report-card-info { padding:1rem; }
.tt-report-card-info h5 { font-size:1rem; line-height:1.4; }
.tt-report-card-info h5 a { color:#044389; }
.tt-report-card-info h5 a:hover { color:#ff0000; }
.tt-category-sidebar .list-group-item { border:none; padding:0.5rem 1rem; font-size:0.9rem; }
.tt-category-sidebar .list-group-item a { color:#336699; display:block; }
.tt-category-sidebar .list-group-item a:hover { color:#f86763; text-decoration:none; }
.tt-category-sidebar .list-group-item.active a { color:#044389; font-weight:700; }
.tt-pagination-wrap { justify-content:center; }
.tt-pagination-wrap .page-link { color:#044389; }
.tt-pagination-wrap .active .page-link { background-color:#044389; border-color:#044389; color:#fff; }
.tt-report-meta { font-size:0.8rem; color:#718096; }
.tt-report-meta span { margin-right:0.75rem; }
.tt-no-result { text-align:center; padding:3rem; color:#9c9c9c; }
.tt-report-summary { color:#718096; font-size:0.875rem; margin-top:0.25rem; margin-bottom:0; }

/* ====== 智库研究报告 - 详情页 ====== */
.tt-detail-header { background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border-radius:0.75rem; padding:2rem; margin-bottom:1.5rem; }
.tt-detail-header h1 { color:#044389; font-size:1.6rem; line-height:1.5; }
.tt-detail-cover { border-radius:0.5rem; box-shadow:0 4px 12px rgba(0,0,0,0.15); max-width:100%; }
.tt-detail-section { margin-bottom:1.5rem; }
.tt-detail-section h3 { font-size:1.1rem; color:#444; border-left:4px solid #044389; padding-left:0.75rem; margin-bottom:0.75rem; }
.tt-detail-section .content { color:#4f4f4f; line-height:1.8; font-size:0.95rem; }
.tt-meta-item { display:inline-block; margin-right:1.5rem; margin-bottom:0.5rem; }
.tt-meta-item .fa { color:#044389; width:1.2rem; }
.tt-meta-label { color:#718096; font-size:0.85rem; }
.tt-meta-value { color:#4f4f4f; font-weight:500; }
.tt-keyword-tag { display:inline-block; background:#e8f0fe; color:#044389; padding:0.2rem 0.6rem; border-radius:1rem; margin:0.2rem; font-size:0.85rem; }
.tt-opinion-item { padding:0.5rem 0; border-bottom:1px dashed #dee2e6; }
.tt-opinion-item:last-child { border-bottom:none; }
.tt-related-card { border:1px solid #eaecf3; border-radius:0.5rem; overflow:hidden; margin-bottom:0.75rem; transition:box-shadow 0.2s; }
.tt-related-card:hover { box-shadow:0 2px 8px rgba(0,0,0,0.1); }
.tt-related-img-wrap { height:80px; overflow:hidden; }
.tt-related-img-wrap img { width:100%; height:100%; object-fit:cover; }
.tt-related-info { padding:0.5rem 0.75rem; }
.tt-content-body { max-height:800px; overflow-y:auto; background:#fafbfe; padding:1.5rem; border-radius:0.5rem; border:1px solid #e2e8f0; }
.tt-content-body img { max-width:100%; }
.tt-sentiment-badge { font-size:0.9rem; }
.tt-en-title { font-size:1rem; }
.tt-sidebar-card .card-body { padding:0.75rem 1rem; }
.tt-sidebar-card .card-header { padding:0.5rem 1rem; font-size:0.9rem; }