/**
 * 消之元 GEO 官网 - 单页布局与组件补充样式
 */

/* === 单页布局（主内容+侧边栏） === */
.single-layout { display: grid; grid-template-columns: 1fr 300px; gap: 48px; align-items: start; }
.single-main { min-width: 0; }
.single-sidebar { position: sticky; top: calc(var(--header-h) + 24px); }
@media (max-width: 1024px) { .single-layout { grid-template-columns: 1fr; } .single-sidebar { position: static; } }

.single-hero-img { margin-bottom: 32px; border-radius: var(--radius); overflow: hidden; }
.single-hero-img img { width: 100%; aspect-ratio: 16/7; object-fit: cover; }
.single-header { margin-bottom: 24px; }
.single-header h1 { margin: 0 0 12px; font-size: clamp(26px, 4vw, 38px); color: var(--brand-dark); }
.single-body { font-size: 16px; line-height: 1.85; }
.single-body h2 { color: var(--brand-dark); font-size: 24px; margin: 40px 0 16px; padding-top: 20px; border-top: 1px solid var(--line); }
.single-body h3 { color: var(--brand); font-size: 19px; margin: 28px 0 12px; }
.single-body img { border-radius: var(--radius-sm); margin: 20px 0; }
.single-body table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
.single-body th, .single-body td { padding: 10px 14px; border: 1px solid var(--line); text-align: left; }
.single-body th { background: var(--brand-pale); font-weight: 700; color: var(--brand-dark); }
.single-cta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }

/* === 信息表 === */
.info-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.info-table th, .info-table td { padding: 12px 16px; border: 1px solid var(--line); text-align: left; font-size: 14px; }
.info-table th { width: 140px; background: #f7fafb; color: var(--brand-dark); font-weight: 700; white-space: nowrap; }

/* === 文章元信息 === */
.article-meta { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--muted); }
.article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.article-tags .tag { padding: 4px 12px; background: var(--brand-pale); border-radius: 999px; color: var(--brand); font-size: 12px; font-weight: 600; text-decoration: none; }
.article-tags .tag:hover { background: var(--brand); color: #fff; }

/* === 侧边栏小工具 === */
.sidebar-widget { margin-bottom: 24px; padding: 20px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); }
.sidebar-widget h4 { margin: 0 0 12px; font-size: 15px; color: var(--brand-dark); }
.xzy-related-list { list-style: none; margin: 0; padding: 0; }
.xzy-related-list li { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.xzy-related-list li:last-child { border-bottom: none; }
.xzy-related-list a { color: var(--ink); text-decoration: none; }
.xzy-related-list a:hover { color: var(--brand); }
.xzy-cta-widget { background: var(--brand-pale); border-color: transparent; }
.xzy-cta-widget p { font-size: 14px; color: var(--muted); margin: 8px 0 16px; }
.xzy-cta-phone { font-size: 13px; margin-top: 12px; }

/* === 证据报告编号 === */
.evidence-report-no { display: inline-block; padding: 4px 12px; background: var(--brand-pale); border-radius: 6px; color: var(--brand); font-size: 13px; font-weight: 700; }

/* === 合规警告框 === */
.callout-warning { margin: 24px 0; padding: 16px 20px; border-left: 4px solid #e2a52b; background: var(--warm); border-radius: 0 10px 10px 0; font-size: 14px; color: #62410a; }

/* === 案例标签 === */
.case-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.case-tag { padding: 4px 12px; background: var(--brand-pale); border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--brand); }
.case-section { margin: 32px 0; }
.case-result { padding: 20px; background: #f0faf0; border-radius: var(--radius-sm); border: 1px solid #c8e6c8; }

/* === 方案行业标签 === */
.solution-industry-tag { display: inline-block; padding: 4px 14px; background: var(--cyan); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 700; }

/* === 设备流程 === */
.equipment-flow { margin: 32px 0; }
.equipment-flow .flow-steps { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.equipment-flow .flow-step { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 20px; background: var(--brand-pale); border-radius: 12px; text-align: center; min-width: 100px; font-size: 14px; font-weight: 600; }
.equipment-flow .flow-num { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: var(--brand); color: #fff; border-radius: 50%; font-size: 13px; font-weight: 800; }
.equipment-flow .flow-arrow { color: var(--cyan); font-size: 20px; font-weight: 700; }
@media (max-width: 768px) { .equipment-flow .flow-steps { flex-direction: column; } .equipment-flow .flow-arrow { transform: rotate(90deg); } }

/* === 滚动动画 === */
.animate-ready { opacity: 0; transform: translateY(20px); transition: opacity .5s, transform .5s; }
.animate-in { opacity: 1; transform: translateY(0); }

/* === 头部滚动状态 === */
.site-header.scrolled { box-shadow: 0 2px 20px rgba(17,53,65,.08); }

/* === 搜索表单 === */
.search-form { display: flex; gap: 8px; }
.search-form input[type="search"] { flex: 1; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 15px; }
.search-form button { padding: 12px 20px; background: var(--brand); color: #fff; border: none; border-radius: var(--radius-sm); cursor: pointer; font-weight: 700; }
.search-form button:hover { background: var(--brand-dark); }

/* === 无结果 === */
.no-results { text-align: center; padding: 60px 0; }
.no-results h2 { color: var(--brand-dark); }
.no-results p { color: var(--muted); margin-bottom: 24px; }
