/*!
 * GP-Fertility 系统页 / 通用辅助样式
 * 收纳：404 / msg / search / show / button--secondary
 * 颜色严格使用 gp-fertility-theme.css 设计令牌，避免内联 #666 / #ddd / #4a90d9 等非品牌色。
 */

/* 表单页引导段（form_post.html） */
.gp-form-lead {
  color: var(--gp-text-muted);
  margin-bottom: 1.75rem;
  font-size: var(--gp-font-base, 1rem);
  line-height: 1.6;
}

/* ============== 共享：次要按钮（替代原 background:#666） ============== */
.button.button--secondary,
a.button.button--secondary {
  background: var(--gp-surface-dark, #2f2852) !important;
  border-color: var(--gp-surface-dark, #2f2852) !important;
  color: var(--gp-on-inverse, #ffffff) !important;
}
.button.button--secondary:hover,
a.button.button--secondary:hover {
  background: var(--gp-text-1, #1f1b33) !important;
  border-color: var(--gp-text-1, #1f1b33) !important;
}

/* ============== 系统页通用 ============== */
.gp-sys-page {
  color: var(--gp-text-body, #3f3a57);
}
.gp-sys-page .gp-sys-actions {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ============== 404 ============== */
.gp-sys-404-code {
  font-size: 120px;
  color: var(--gp-border-neutral, #e5e7eb);
  margin: 0;
  line-height: 1;
}
.gp-sys-404-title {
  font-size: 32px;
  color: var(--gp-text-1, #1f1b33);
  margin: 20px 0;
}
.gp-sys-404-desc {
  font-size: 18px;
  color: var(--gp-text-muted, #5f567b);
  max-width: 500px;
  margin: 20px auto;
  line-height: 1.6;
}
.gp-sys-search {
  margin-top: 50px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.gp-sys-search-label {
  color: var(--gp-text-muted, #5f567b);
  margin-bottom: 15px;
}
.gp-sys-search-row {
  display: flex;
  gap: 10px;
}
.gp-sys-search-input {
  flex: 1;
  padding: 12px 15px;
  border: 1px solid var(--gp-border-neutral, #e5e7eb);
  border-radius: 5px;
  font-size: 16px;
  color: var(--gp-text-body, #3f3a57);
  background: var(--gp-surface-white, #ffffff);
}
.gp-sys-search-input:focus {
  outline: 2px solid var(--gp-brand-purple, #7b66d7);
  outline-offset: 1px;
  border-color: var(--gp-brand-purple, #7b66d7);
}
.gp-sys-popular {
  margin-top: 50px;
}
.gp-sys-popular-title {
  color: var(--gp-text-1, #1f1b33);
  font-size: 18px;
  margin-bottom: 20px;
}
.gp-sys-popular-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}
.gp-sys-popular-link {
  color: var(--gp-brand-purple, #7b66d7);
  text-decoration: none;
}
.gp-sys-popular-link:hover {
  color: var(--gp-primary-active, #5e4ab3);
  text-decoration: underline;
}
.gp-sys-popular-sep {
  color: var(--gp-border-neutral, #e5e7eb);
}

/* ============== msg ============== */
.gp-sys-icon {
  font-size: 80px;
  margin-bottom: 20px;
  line-height: 1;
}
/* 语义色：成功/警告，沿用 Bootstrap 习惯但可被主题覆盖 */
.gp-sys-icon--success {
  color: var(--gp-status-success, #28a745);
}
.gp-sys-icon--warning {
  color: var(--gp-status-warning, #ffc107);
}
.gp-sys-msg-title {
  font-size: 28px;
  color: var(--gp-text-1, #1f1b33);
  margin: 20px 0;
}
.gp-sys-msg-desc {
  font-size: 16px;
  color: var(--gp-text-muted, #5f567b);
  margin: 20px 0;
}

/* ============== search ============== */
.gp-sys-search-form {
  margin-bottom: 30px;
}
.gp-sys-search-btn {
  padding: 12px 30px;
}
.gp-sys-results-count {
  color: var(--gp-text-muted, #5f567b);
  margin-bottom: 20px;
}
.gp-sys-blog-preview {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--gp-border-neutral, #e5e7eb);
}
.gp-sys-blog-thumb {
  border-radius: 8px;
}
.gp-sys-blog-title {
  font-size: 18px;
  color: var(--gp-text-1, #1f1b33);
}
.gp-sys-blog-title:hover {
  color: var(--gp-brand-purple, #7b66d7);
}
.gp-sys-blog-excerpt {
  margin-top: 10px;
  color: var(--gp-text-muted, #5f567b);
}
.gp-sys-blog-meta {
  margin-top: 10px;
  color: var(--gp-text-muted, #5f567b);
  font-size: 14px;
  opacity: .85;
}
.gp-sys-pagination {
  margin-top: 30px;
}
.gp-sys-no-results {
  text-align: center;
  padding: 60px 20px;
}
.gp-sys-no-results-title {
  color: var(--gp-text-muted, #5f567b);
}
.gp-sys-no-results-desc {
  color: var(--gp-text-muted, #5f567b);
  margin-top: 15px;
  opacity: .85;
}
.gp-sys-no-results-action {
  margin-top: 30px;
}

/* ============== show（文章详情） ============== */
.gp-sys-article-meta {
  margin-bottom: 20px;
  color: var(--gp-text-muted, #5f567b);
}
.gp-sys-article-meta-item {
  margin-left: 15px;
}
.gp-sys-article-figure {
  margin-bottom: 30px;
}
.gp-sys-article-img {
  max-width: 100%;
  border-radius: 8px;
}
.gp-sys-article-tags {
  margin-top: 30px;
}
.gp-sys-article-nav {
  margin-top: 40px;
  padding: 20px 0;
  border-top: 1px solid var(--gp-border-neutral, #e5e7eb);
}
.gp-sys-related {
  margin-top: 40px;
}
