/* ===== SanbbbCMS 内容模块样式（案例 / 招聘 / 问答 / 下载） =====
   只放这四个模型专属的版式，通用排版仍在 front.css，避免与主题皮肤冲突 */

/* --- 通用小件 --- */
.sidebar .side-nav .lv3 a { padding-left: 34px; font-size: 13px; }
.block-title { font-size: 16px; color: #1f2d3d; margin: 18px 0 8px; padding-left: 10px; border-left: 3px solid #165dff; }
.back-link { margin: 24px 0 8px; font-size: 14px; }
.back-link a { color: #165dff; text-decoration: none; }
.apply-tip { margin-top: 24px; padding: 14px 16px; background: #f5f8ff; border: 1px solid #e3ebff; border-radius: 4px; font-size: 14px; color: #3a4a63; }

/* --- 案例 --- */
.case-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.case-item { display: block; border: 1px solid #eef1f6; border-radius: 6px; overflow: hidden; text-decoration: none; background: #fff; transition: box-shadow .2s, transform .2s; }
.case-item:hover { box-shadow: 0 6px 20px rgba(22, 93, 255, .12); transform: translateY(-2px); }
.case-item .pic { height: 150px; background: #f7f9fc; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.case-item .pic img { width: 100%; height: 100%; object-fit: cover; }
.case-item .pic .noimg { color: #b6c0d0; font-size: 13px; }
.case-item .txt { padding: 12px 14px 14px; }
.case-item .name { font-size: 15px; color: #1d2129; font-weight: 600; line-height: 1.5; }
.case-item .desc { margin-top: 6px; font-size: 13px; color: #7a8699; line-height: 1.6; max-height: 42px; overflow: hidden; }
.case-item .meta { margin-top: 10px; font-size: 12px; color: #9aa4b5; }
.case-item .meta span { margin-right: 10px; }
.case-sub { font-size: 15px; color: #7a8699; margin: 6px 0 10px; }
.case-cover { text-align: center; margin: 14px 0; }
.case-cover img { max-width: 100%; max-height: 420px; }
.case-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0; }
.case-gallery img { width: 100%; height: 130px; object-fit: cover; border-radius: 4px; }

/* --- 招聘 --- */
.job-list { border-top: 1px solid #eef1f6; }
.job-item { display: block; padding: 16px 4px; border-bottom: 1px solid #eef1f6; text-decoration: none; }
.job-item:hover { background: #fafcff; }
.job-item .top { display: flex; justify-content: space-between; align-items: baseline; }
.job-item .name { font-size: 16px; color: #1d2129; font-weight: 600; }
.job-item .salary { font-size: 15px; color: #f53f3f; font-weight: 600; }
.job-item .tags { margin-top: 8px; font-size: 13px; color: #7a8699; }
.job-item .tags span { display: inline-block; margin-right: 8px; padding: 2px 8px; background: #f2f4f8; border-radius: 3px; }

/* --- 问答 --- */
.faq-list { border-top: 1px solid #eef1f6; }
.faq-item { border-bottom: 1px solid #eef1f6; padding: 14px 4px; }
.faq-item summary { cursor: pointer; font-size: 15px; color: #1d2129; font-weight: 600; line-height: 1.6; list-style: none; position: relative; padding-left: 22px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before { content: "Q"; position: absolute; left: 0; top: 0; color: #165dff; font-weight: 700; }
.faq-item .answer { margin-top: 10px; padding-left: 22px; font-size: 14px; color: #4e5969; line-height: 1.8; }

/* --- 下载 --- */
.dl-list { border-top: 1px solid #eef1f6; }
.dl-item { display: flex; align-items: center; gap: 16px; padding: 16px 4px; border-bottom: 1px solid #eef1f6; }
.dl-item .info { flex: 1; min-width: 0; }
.dl-item .name { font-size: 15px; color: #1d2129; font-weight: 600; text-decoration: none; }
.dl-item .name:hover { color: #165dff; }
.dl-item .desc { margin-top: 6px; font-size: 13px; color: #7a8699; line-height: 1.6; }
.dl-item .meta { margin-top: 8px; font-size: 12px; color: #9aa4b5; }
.dl-item .meta span { margin-right: 12px; }
.dl-btn { display: inline-block; padding: 8px 18px; background: #165dff; color: #fff; border-radius: 4px; font-size: 13px; text-decoration: none; white-space: nowrap; }
.dl-btn:hover { background: #0e4bd4; }
.dl-btn.disabled { background: #c9d0dc; cursor: not-allowed; }
.dl-cta { margin: 16px 0 6px; }

@media (max-width: 900px) {
    .case-list { grid-template-columns: repeat(2, 1fr); }
    .case-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .case-list { grid-template-columns: 1fr; }
    .dl-item { flex-direction: column; align-items: flex-start; }
}
