/**
 * css/search/search-result.css
 *
 * 搜索结果页专属样式。
 * 布局由 main.css .page-layout 提供，本文件只负责结果区内容。
 * 使用 main.css 的 CSS 变量（--c-* / --sp-* / --fs-* 等）保持风格统一。
 */

/* ── 摘要栏 ──────────────────────────────────────────────────── */
.search-result__summary {
  font-size: var(--fs-sm, 0.875rem);
  color: var(--c-text-secondary, #6b7280);
  margin: var(--sp-sm, 6px) 0 var(--sp-md, 12px);
  padding: 0;
}
.search-loading {
  color: var(--c-text-secondary, #9ca3af);
  animation: sr-pulse 1.2s ease-in-out infinite;
}
@keyframes sr-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ── 通知横幅 ────────────────────────────────────────────────── */
.search-result__notices { margin-bottom: var(--sp-md, 12px); }
.search-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--radius-md, 6px);
  font-size: var(--fs-sm, 0.875rem);
  margin-bottom: 8px;
}
.search-notice--warn  { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }
.search-notice--error { background:#fef2f2; color:#991b1b; border:1px solid #fca5a5; }
.search-notice--info  { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; }
.search-retry-btn {
  margin-left: auto; padding: 4px 12px;
  background: #dc2626; color: #fff;
  border: none; border-radius: 4px; cursor: pointer; font-size: 13px;
}
.search-retry-btn:hover { background: #b91c1c; }

/* ── Section 卡片（复用 dict-section 风格）──────────────────── */
.search-section {
  background: var(--c-surface, #fff);
  border-radius: var(--radius-lg, 8px);
  overflow: hidden;
  margin-top: var(--sp-md, 12px);
  border: 1px solid var(--c-border-light, #e5e7eb);
  box-shadow: 0 1px 3px var(--c-shadow, rgba(0,0,0,.06));
}
.search-section[hidden] { display: none; }

.search-section__title {
  font-size: var(--fs-base, 1rem);
  font-weight: 700;
  margin: 0;
  padding: 10px 16px;
  background: var(--c-surface-alt, #faf7f3);
  border-bottom: 1px solid var(--c-border-light, #e5e7eb);
  color: var(--c-text, #2c2520);
}

/* section 内容区内边距 */
.search-section > ul,
.search-section > .search-entry-list,
.search-section > .search-sense-list,
.search-section > .search-cite-list,
.search-section > .search-example-list,
.search-section > .search-synonym-group,
.search-section > .guest-gate,
.search-section > p {
  padding: 10px 16px;
  margin: 0;
}
/* 多个子元素时统一内边距容器 */
.search-section__body { padding: 10px 16px; }

/* ── 直达卡片 ────────────────────────────────────────────────── */
.search-direct-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: var(--c-surface-alt, #faf7f3);
  border-radius: var(--radius-lg, 8px);
  border: 1px solid var(--c-accent, #c9a96e);
  margin-top: var(--sp-md, 12px);
}
.search-direct-card__label {
  background: var(--c-primary, #8b411c);
  color: #fff;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.search-direct-card__link {
  font-size: 22px;
  font-weight: 700;
  color: var(--c-primary, #8b411c);
  text-decoration: none;
}
.search-direct-card__link:hover { text-decoration: underline; }
.search-direct-card__meta {
  font-size: 14px;
  color: var(--c-text-secondary, #6b7280);
}

/* ── 条目列表 ────────────────────────────────────────────────── */
.search-entry-list {
  list-style: none;
  margin: 0;
  padding: 0 !important;
}
.search-entry-item {
  border-bottom: 1px solid var(--c-border-light, #f0f0f0);
}
.search-entry-item:last-child { border-bottom: none; }
.search-entry-item__link {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  padding: 10px 16px;
  text-decoration: none;
  transition: background .08s;
}
.search-entry-item__link:hover { background: var(--c-surface-alt, #faf7f3); }
.search-entry-item__title {
  font-size: 19px;
  font-weight: 600;
  color: var(--c-primary, #8b411c);
  font-family: var(--ff-serif, serif);
}
.search-entry-item__sc    { font-size: 12px; color: var(--c-text-secondary); }
.search-entry-item__pinyin{ font-size: 13px; color: var(--c-text-secondary, #6b7280); }
.search-entry-item__domain{
  font-size: 11px;
  background: var(--c-surface-alt, #f3f4f6);
  color: var(--c-text-secondary, #6b7280);
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: auto;
}
.search-entry-item__def {
  font-size: 13px;
  color: var(--c-text-secondary, #6b7280);
  line-height: 1.5;
  padding: 0 16px 8px;
}
.search-entry-item__def:empty { display: none; }
.search-entry-item__def-link {
  color: var(--c-primary, #8b411c);
  text-decoration: none;
}
.search-entry-item__def-link:hover { text-decoration: underline; }
/* 专项字段值（ids/bis/wb/cj/fc/uno）—— 独立一行 */
.search-entry-item__field-val {
  display: block;
  width: 100%;
  font-size: 12px;
  color: var(--c-accent, #c9a96e);
  margin-top: 2px;
}

/* ── 义项列表 ────────────────────────────────────────────────── */
.search-sense-list {
  list-style: none;
  margin: 0;
  padding: 0 16px !important;
}
.search-sense-item {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  padding: 9px 0;
  border-bottom: 1px solid var(--c-border-light, #f0f0f0);
  font-size: var(--fs-sm, 0.875rem);
}
.search-sense-item:last-child { border-bottom: none; }
.search-sense-item__type {
  font-size: 11px;
  background: #e0f2fe;
  color: #0369a1;
  padding: 1px 5px;
  border-radius: 3px;
  flex-shrink: 0;
}
.search-sense-item__entry {
  font-weight: 600;
  color: var(--c-primary, #8b411c);
  text-decoration: none;
  font-family: var(--ff-serif, serif);
}
.search-sense-item__entry:hover { text-decoration: underline; }
.search-sense-item__read { color: var(--c-text-secondary, #6b7280); }
.search-sense-item__pos  { font-size: 12px; color: #7c3aed; }
.search-sense-item__def  { color: var(--c-text, #2c2520); flex: 1 1 100%; margin-top: 2px; line-height: 1.6; }

/* ── 书证列表 ────────────────────────────────────────────────── */
.search-cite-list {
  list-style: none;
  margin: 0;
  padding: 0 16px !important;
}
.search-cite-item {
  padding: 10px 0;
  border-bottom: 1px solid var(--c-border-light, #f0f0f0);
}
.search-cite-item:last-child { border-bottom: none; }
.search-cite-item__quote {
  margin: 0 0 4px;
  font-size: var(--fs-base, 1rem);
  color: var(--c-text, #2c2520);
  font-style: normal;
  line-height: 1.7;
  font-family: var(--ff-serif, serif);
}
.search-cite-item__source {
  font-size: var(--fs-sm, 0.875rem);
  color: var(--c-text-secondary, #6b7280);
  font-style: normal;
}
.search-cite-item__entry  { font-size: 12px; color: var(--c-text-secondary, #9ca3af); margin-left: 4px; }

/* ── 例句列表 ────────────────────────────────────────────────── */
.search-example-list {
  list-style: none;
  margin: 0;
  padding: 0 16px !important;
}
.search-example-item {
  padding: 9px 0;
  border-bottom: 1px solid var(--c-border-light, #f0f0f0);
  font-size: var(--fs-sm, 0.875rem);
  color: var(--c-text, #2c2520);
  line-height: 1.6;
}
.search-example-item:last-child { border-bottom: none; }
.search-example-item__entry {
  font-size: 12px;
  color: var(--c-text-secondary, #9ca3af);
  margin-left: 6px;
}

/* ── 近反义词 ────────────────────────────────────────────────── */
.search-synonym-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px 16px !important;
  margin: 0;
}
.search-synonym-group + .search-synonym-group {
  border-top: 1px solid var(--c-border-light, #f0f0f0);
}
.search-synonym-group__label {
  font-size: var(--fs-sm, 0.875rem);
  color: var(--c-text-secondary, #6b7280);
  flex-shrink: 0;
}
.search-synonym-tag {
  padding: 3px 10px;
  border-radius: 20px;
  background: var(--c-surface-alt, #f3f4f6);
  border: 1px solid var(--c-border-light, #e5e7eb);
  font-size: var(--fs-sm, 0.875rem);
  text-decoration: none;
  color: var(--c-text, #374151);
  transition: background .08s;
}
.search-synonym-tag:hover { background: #e0f2fe; color: #0369a1; }

/* ── 降级提示 ────────────────────────────────────────────────── */
.search-degrade-notice {
  font-size: var(--fs-sm, 0.875rem);
  color: var(--c-text-secondary, #9ca3af);
  padding: 10px 16px;
}

/* ── 空态 ────────────────────────────────────────────────────── */
.search-result__empty {
  background: var(--c-surface, #fff);
  border-radius: var(--radius-lg, 8px);
  border: 1px solid var(--c-border-light);
  padding: 48px 16px;
  text-align: center;
  margin-top: var(--sp-md, 12px);
}
.search-empty__msg  { font-size: var(--fs-xl, 1.25rem); color: var(--c-text, #2c2520); margin-bottom: 10px; }
.search-empty__hint { font-size: var(--fs-sm, 0.875rem); color: var(--c-text-secondary, #6b7280); }
.search-empty__hint a { color: var(--c-primary, #8b411c); }

/* ── 分页 ────────────────────────────────────────────────────── */
.search-result__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: var(--sp-xl, 20px);
  padding: 12px 0 8px;
}
.page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: var(--radius-md, 6px);
  border: 1px solid var(--c-border, #d1d5db);
  background: var(--c-surface, #fff);
  color: var(--c-text, #374151);
  text-decoration: none;
  font-size: var(--fs-sm, 0.875rem);
  cursor: pointer;
  transition: background .08s, border-color .08s;
}
.page-btn:hover          { background: var(--c-surface-alt, #faf7f3); }
.page-btn--current       { background: var(--c-primary, #8b411c); color: #fff; border-color: var(--c-primary); cursor: default; }
.page-ellipsis           { color: var(--c-text-secondary, #9ca3af); padding: 0 4px; }
.page-gate               { font-size: var(--fs-sm); color: var(--c-text-secondary); }
.page-gate a             { color: var(--c-primary, #8b411c); }

/* ── 侧边栏搜索提示 ──────────────────────────────────────────── */
.sidebar-tips {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: var(--fs-sm, 0.875rem);
  color: var(--c-text-secondary, #6b7280);
  line-height: 1.8;
}
.sidebar-tips li::before { content: "· "; color: var(--c-accent, #c9a96e); }
