/* =====================================================
   大学生创业专区独立页 startup.jsp 样式
   ===================================================== */
.startup-crumbs {
    width: 1200px;
    margin: 16px auto 20px;
    color: #666;
    font-size: 13px;
}
.startup-crumbs a { color: #666; text-decoration: none; }
.startup-crumbs a:hover { color: #0085ff; }
.startup-crumbs .cur { color: #0085ff; }

.startup-page {
    width: 1200px;
    margin: 0 auto 60px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    padding: 22px 36px 28px;
    box-sizing: border-box;
}

/* ---------- Tab 导航 ---------- */
.startup-tabs {
    position: relative;
    width: 80%;
    margin: 0 auto 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 80px;
}
.startup-tab {
    position: relative;
    z-index: 2;
    padding: 0 8px 16px;
    color: #666;
    cursor: pointer;
    transition: color .25s, font-weight .25s;
    font-weight: 500;
    font-family: "Microsoft YaHei", sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    line-height: 1.3;
}
.startup-tab .tab-name {
    font-size: 20px;
    font-weight: 500;
}
.startup-tab.active .tab-name { color: #0f3d8a; font-weight: bold; }
.startup-tab .tab-tip {
    font-size: 12px;
    color: #999;
    font-weight: normal;
    white-space: nowrap;
}
.startup-tab:hover { color: #0085ff; }
.startup-tab.active { color: #0f3d8a; font-weight: bold; }
.startup-tab.active .tab-tip { color: #0085ff; }
.startup-tab-line {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: #e5e9f2;
    z-index: 1;
}
/* 当前 Tab 的蓝色下划线 */
.startup-tab.active::after {
    content: "";
    position: absolute;
    left: -6px; right: -6px;
    bottom: -2px;
    height: 3px;
    background: #0f3d8a;
    z-index: 3;
    border-radius: 2px;
}

/* ---------- 通用 Tab Panel ---------- */
.startup-tab-panel { display: none; }
.startup-tab-panel.active { display: block; }

/* ---------- Tab1：创业快讯 列表 ---------- */
.startup-policy-list { list-style: none; padding: 0 6px; margin: 0; }
.startup-policy-list li {
    padding: 12px 16px;
    margin-bottom: 8px;
    border: 1px solid #eef1f6;
    border-radius: 6px;
    background: #fff;
    transition: box-shadow .2s, border-color .2s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.startup-policy-list li:hover {
    box-shadow: 0 2px 12px rgba(15, 61, 138, 0.08);
    border-color: #c9daef;
}
.startup-policy-list li:last-child { margin-bottom: 0; }
.startup-policy-title {
    flex: 1;
    display: block;
    font-size: 16px;
    color: #333;
    text-decoration: none;
    line-height: 1.6;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.startup-policy-title:hover { color: #0085ff; }
.startup-policy-date { font-size: 13px; color: #999; }
/* 新闻右侧：来源标签 + 日期，纵向排列靠右 */
.startup-policy-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}
.startup-policy-src {
    display: inline-block;
    font-size: 12px;
    line-height: 20px;
    padding: 0 10px;
    color: #fff;
    background: #0085ff;
    border-radius: 3px;
    white-space: nowrap;
}
/* 不同来源配色 */
.startup-policy-src.src-gov { background: #d9363e; }
.startup-policy-src.src-kjt { background: #0f3d8a; }
.startup-policy-src.src-rst { background: #13c2c2; }
.startup-policy-src.src-edu { background: #722ed1; }
.startup-policy-src.src-media { background: #fa8c16; }

/* ---------- 专区仪器目录下载区 ---------- */
.startup-catalog-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #f0f6ff 0%, #e6f0ff 100%);
    border: 1px solid #c9daef;
    border-left: 4px solid #0085ff;
    border-radius: 8px;
    padding: 14px 24px;
    margin-bottom: 18px;
    margin-left: 10px;
    margin-right: 10px;
}
.catalog-info {
    display: flex;
    align-items: center;
    gap: 14px;
}
.catalog-icon {
    font-size: 36px;
    color: #0085ff;
}
.catalog-title {
    font-size: 17px;
    font-weight: bold;
    color: #0f3d8a;
    margin-bottom: 4px;
}
.catalog-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}
.catalog-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 28px;
    background: #0085ff;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s;
}
.catalog-download-btn:hover { background: #0072dd; color: #fff; }

/* ---------- Tab2：专题（子Tab+专题卡片网格） ---------- */
/* 专题内子 Tab（20个专题自动换行，避免挤压截断） */
.startup-topic-subtabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 18px;
    margin-bottom: 18px;
    padding: 0 20px;
    border-bottom: 1px solid #eef1f6;
}
.topic-subtab {
    position: relative;
    padding: 8px 22px 14px;
    font-size: 16px;
    color: #666;
    cursor: pointer;
    transition: color .25s, font-weight .25s;
    font-weight: 500;
    font-family: "Microsoft YaHei", sans-serif;
    white-space: nowrap;
}
.topic-subtab:hover { color: #0085ff; }
.topic-subtab.active { color: #0f3d8a; font-weight: bold; }
/* 当前子 Tab 的蓝色下划线 */
.topic-subtab.active::after {
    content: "";
    position: absolute;
    left: 8px; right: 8px;
    bottom: -1px;
    height: 3px;
    background: #0f3d8a;
    border-radius: 2px;
    z-index: 2;
}

/* 专题 Panel 容器 */
.startup-topic-panel { display: none; }
.startup-topic-panel.active { display: block; }

/* 专题头部 标题+描述+数量 */
.startup-topic-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 20px 14px;
    margin: 0 10px 14px;
    background: linear-gradient(135deg, #f5f9ff 0%, #eef5ff 100%);
    border-radius: 10px;
    border-left: 4px solid #0085ff;
}
.topic-title {
    font-size: 22px;
    font-weight: bold;
    color: #0f3d8a;
    margin-bottom: 8px;
    line-height: 1.3;
}
.topic-desc {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    max-width: 860px;
}
.topic-count-tag {
    display: inline-block;
    padding: 6px 16px;
    background: #fff;
    border: 1px solid #c9daef;
    border-radius: 20px;
    font-size: 13px;
    color: #0085ff;
    font-weight: bold;
    white-space: nowrap;
}

/* 专题内设备网格（参考原有 search.css pro_dis 风格：250x384 卡片） */
.startup-topic-panel .startup-device-grid {
    margin-bottom: 10px;
}
.startup-device-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(200px, 1fr));
    gap: 14px;
    padding: 0 15px;
}
.startup-device-card {
    border: 1px solid #e5e5e5;
    background-color: #f8f8f8;
    width: 100%;
    min-width: 0;
    height: 374px;
    position: relative;
    text-align: left;
    padding: 15px;
    box-sizing: border-box;
    overflow: hidden;
    transition: border-color .25s;
}
.startup-device-card:hover {
    border-color: #1263d2;
}
.device-img-link,
.device-img-link .device-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: -15px -15px 0;
    background: #e9ecef;
    object-fit: cover;
}
.topic-empty {
    grid-column: 1 / -1;
    padding: 60px 0;
    text-align: center;
    font-size: 15px;
    color: #999;
}
.device-body {
    width: 100%;
    padding: 0;
    position: relative;
}
.device-name {
    font-size: 18px;
    color: #666;
    margin-top: 10px;
    line-height: 30px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: normal;
}
.device-name a { color: #666; text-decoration: none; }
.device-name a:hover { color: #0085ff; }

.device-accent-bar { display: none; }

.device-fee-label { font-size: 12px; color: #666; line-height: 30px; display: inline; }
.device-fee-row {
    display: block;
    line-height: 30px;
    margin-bottom: 0;
}
.device-fee-val {
    color: #f37a21;
    font-size: 18px;
    font-weight: bold;
    line-height: 30px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline;
    margin-right: 0;
    flex: none;
}
.device-book-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    background: #fff;
    color: #0085ff;
    border: 1px solid #b0d3ff;
    border-radius: 4px;
    padding: 3px 12px;
    font-size: 12px;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
    font-family: inherit;
    line-height: 1.6;
}
.device-book-btn:hover { background: #0085ff; color: #fff; border-color: #0085ff; }

.device-sub1 {
    font-size: 12px;
    color: #666;
    line-height: 30px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.device-orgn-row {
    border-top: none;
    padding-top: 0;
    font-size: 12px;
    color: #666;
    line-height: 30px;
    display: block;
    align-items: initial;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
}
.device-orgn-row a { color: #666; text-decoration: none; }
.device-orgn-row a:hover { color: #0085ff; }
.device-orgn-icon { margin-right: 6px; }

/* ---------- Tab3：检测需求 表单 ---------- */
.startup-demand-form { max-width: 980px; margin: 0 auto; padding: 10px 20px 0; }
.form-row { display: flex; align-items: flex-start; margin-bottom: 18px; }
.form-label {
    width: 120px;
    flex-shrink: 0;
    text-align: right;
    font-size: 15px;
    color: #333;
    padding-top: 9px;
    padding-right: 14px;
    line-height: 1.4;
}
.form-label.required::before {
    content: "*";
    color: #e64545;
    margin-right: 4px;
    font-weight: bold;
}
.form-control-wrap { flex: 1; position: relative; }
.form-input {
    width: 100%;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    padding: 9px 12px;
    font-size: 14px;
    color: #333;
    box-sizing: border-box;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    background: #fff;
    font-family: inherit;
}
.form-input:focus { border-color: #0085ff; box-shadow: 0 0 0 2px rgba(0, 133, 255, 0.14); }
.form-textarea { resize: vertical; min-height: 100px; line-height: 1.6; }

/* 验证码 */
.form-captcha-row { display: flex; align-items: center; gap: 14px; }
.form-captcha-input { max-width: 360px; }
/* 服务端验证码图片（/AuthCode 输出），点击刷新 */
.form-captcha-img {
    flex-shrink: 0;
    width: 110px;
    height: 40px;
    border: 1px solid #bbb;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    box-sizing: border-box;
    vertical-align: middle;
}

/* 按钮区 */
.form-btns { justify-content: center; padding-top: 10px; gap: 14px; }
.form-btns .form-label { display: none; }
.btn-primary {
    background: #0085ff;
    color: #fff;
    border: 1px solid #0085ff;
    padding: 10px 26px;
    border-radius: 4px;
    font-size: 15px;
    cursor: pointer;
    transition: background .2s;
    font-family: inherit;
}
.btn-primary:hover { background: #0072dd; }
.btn-default {
    background: #fff;
    color: #555;
    border: 1px solid #dcdfe6;
    padding: 10px 26px;
    border-radius: 4px;
    font-size: 15px;
    cursor: pointer;
    transition: all .2s;
    font-family: inherit;
}
.btn-default:hover { color: #0085ff; border-color: #0085ff; }

/* ---------- 响应式兜底 ---------- */
@media (max-width: 1220px) {
    .startup-crumbs, .startup-page { width: calc(100% - 40px); }
    .startup-device-grid { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}

/* ---------- 专题仪器翻页 ---------- */
.topic-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin: 26px 0 10px;
}
.topic-pager .pager-btn {
    display: inline-block;
    padding: 8px 24px;
    border: 1px solid #d8dde6;
    border-radius: 4px;
    background: #fff;
    color: #1f6feb;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}
.topic-pager .pager-btn:hover { background: #f0f6ff; }
.topic-pager .pager-btn.disabled {
    color: #bbb;
    border-color: #eceff3;
    background: #fafafa;
    cursor: not-allowed;
}
.topic-pager .pager-info { font-size: 14px; color: #666; }

/* ---------- 专题切换下拉（20个领域分类） ---------- */
.startup-topic-select-wrap {
    display: flex;
    justify-content: center;
    margin: 0 0 24px;
}
.topic-select {
    min-width: 380px;
    padding: 10px 16px;
    font-size: 15px;
    color: #333;
    border: 1px solid #c9d4e5;
    border-radius: 4px;
    background: #fff;
    font-family: "Microsoft YaHei", sans-serif;
    cursor: pointer;
    outline: none;
}
.topic-select:focus { border-color: #0f3d8a; }

/* 分页控件强制居中 */
.topic-pager { justify-content: center; text-align: center; }

/* ---------- 专题工具栏：下拉 + 搜索 + 机构过滤 ---------- */
.startup-topic-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 0 0 24px;
}
.startup-topic-toolbar .topic-select { min-width: 280px; }
.topic-kw-input {
    width: 220px;
    padding: 9px 14px;
    font-size: 14px;
    color: #333;
    border: 1px solid #c9d4e5;
    border-radius: 4px;
    font-family: "Microsoft YaHei", sans-serif;
    outline: none;
}
.topic-kw-input:focus { border-color: #0f3d8a; }
.topic-orgn-select {
    max-width: 240px;
    padding: 9px 12px;
    font-size: 14px;
    color: #333;
    border: 1px solid #c9d4e5;
    border-radius: 4px;
    background: #fff;
    font-family: "Microsoft YaHei", sans-serif;
    cursor: pointer;
    outline: none;
}
.topic-filter-btn {
    display: inline-block;
    padding: 9px 26px;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}
.topic-filter-btn.search {
    background: #0f3d8a;
    color: #fff;
    border: 1px solid #0f3d8a;
}
.topic-filter-btn.search:hover { background: #1450ad; }
.topic-filter-btn.reset {
    background: #fff;
    color: #666;
    border: 1px solid #c9d4e5;
}
.topic-filter-btn.reset:hover { background: #f5f7fa; }

/* 工具栏两行布局：第一行过滤条件，第二行操作按钮 */
.startup-topic-toolbar { display: block; }
.startup-topic-toolbar .toolbar-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
}
.startup-topic-toolbar .toolbar-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 12px;
}

/* ---------- 需求报送成功弹窗（docx 修改意见 #7） ---------- */
.startup-success-mask {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 9998;
}
.startup-success-dialog {
    display: none;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 440px;
    max-width: 90vw;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    z-index: 9999;
    overflow: hidden;
}
.startup-success-dialog .sst-head {
    padding: 16px 24px;
    font-size: 17px;
    font-weight: bold;
    color: #0f3d8a;
    background: linear-gradient(135deg, #f0f6ff 0%, #e6f0ff 100%);
    border-left: 4px solid #0085ff;
    border-bottom: 1px solid #c9daef;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.startup-success-dialog .sst-close {
    font-size: 22px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    padding: 0 4px;
}
.startup-success-dialog .sst-close:hover { color: #e64545; }
.startup-success-dialog .sst-body {
    padding: 26px 28px;
    font-size: 14px;
    line-height: 1.8;
    color: #444;
}
.startup-success-dialog .sst-foot {
    padding: 14px 24px 20px;
    text-align: right;
    border-top: 1px solid #f0f3f8;
}
.startup-success-dialog .sst-ok {
    display: inline-block;
    padding: 9px 38px;
    background: #0085ff;
    color: #fff;
    border: 1px solid #0085ff;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s;
}
.startup-success-dialog .sst-ok:hover { background: #0072dd; }
