/* ============================================================
   page.css — 常见问题 / 留言板 / 搜索 三个页面样式
   body.faq       → faq.html
   body.guestbook  → guestbook.html
   body.search     → search.html
   ============================================================ */


/* ============ 通用基础样式（三页共用） ============ */
body.faq,
body.guestbook,
body.search {
    font-family: 'Noto Sans SC', sans-serif;
    background-color: #F5F0E8;
    color: #2D2A26;
    line-height: 1.8;
}

/* ============ 面包屑（三页共用） ============ */
body.faq .breadcrumb-separator,
body.guestbook .breadcrumb-separator,
body.search .breadcrumb-separator { opacity: 0.6; }

body.faq .breadcrumb-current::before,
body.guestbook .breadcrumb-current::before,
body.search .breadcrumb-current::before {
    content: ''; display: inline-block; width: 4px; height: 4px;
    background: currentColor; border-radius: 50%; margin-right: 0.5rem;
    vertical-align: middle;
}

/* ============ 通用区块标题（三页共用） ============ */
body.faq .section-title-wrap,
body.guestbook .section-title-wrap,
body.search .section-title-wrap { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }

body.faq .section-title,
body.guestbook .section-title,
body.search .section-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.5rem; font-weight: 700; color: #2D2A26;
    display: flex; align-items: center; gap: 0.5rem;
}
@media (min-width: 1024px) {
    body.faq .section-title,
    body.guestbook .section-title,
    body.search .section-title { font-size: 1.875rem; }
}

body.faq .more-link,
body.guestbook .more-link,
body.search .more-link { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.875rem; color: #5C5449; transition: color 0.2s; }
body.faq .more-link:hover,
body.guestbook .more-link:hover,
body.search .more-link:hover { color: #9B3B2E; }

/* ============ 侧边栏组件（三页共用） ============ */
body.faq .sidebar-widget,
body.guestbook .sidebar-widget,
body.search .sidebar-widget {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.25rem 1.5rem; margin-bottom: 1.5rem;
}
body.faq .sidebar-title,
body.guestbook .sidebar-title,
body.search .sidebar-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.05rem; font-weight: 700; color: #2D2A26;
    display: flex; align-items: center; gap: 0.5rem;
    margin-bottom: 1rem; padding-bottom: 0.75rem;
    border-bottom: 1px dashed #D4C9B8;
}
body.faq .sidebar-title::before,
body.guestbook .sidebar-title::before,
body.search .sidebar-title::before {
    content: ''; width: 3px; height: 1rem;
    background: linear-gradient(180deg, #9B3B2E, #C4A35A);
    border-radius: 2px;
}

/* 排行榜（三页共用） */
body.faq .rank-item,
body.guestbook .rank-item,
body.search .rank-item {
    display: flex; align-items: flex-start; gap: 0.75rem;
    padding: 0.6rem 0; border-bottom: 1px dashed #D4C9B8;
    transition: padding-left 0.2s;
}
body.faq .rank-item:last-child,
body.guestbook .rank-item:last-child,
body.search .rank-item:last-child { border-bottom: none; }
body.faq .rank-item:hover,
body.guestbook .rank-item:hover,
body.search .rank-item:hover { padding-left: 0.4rem; }
body.faq .rank-num,
body.guestbook .rank-num,
body.search .rank-num {
    width: 1.5rem; height: 1.5rem; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border-radius: 0.375rem; font-weight: 700; font-size: 0.75rem;
    background: #EDE5D8; color: #8B7355;
}
body.faq .rank-item:nth-child(1) .rank-num,
body.guestbook .rank-item:nth-child(1) .rank-num,
body.search .rank-item:nth-child(1) .rank-num { background: #9B3B2E; color: #fff; }
body.faq .rank-item:nth-child(2) .rank-num,
body.guestbook .rank-item:nth-child(2) .rank-num,
body.search .rank-item:nth-child(2) .rank-num { background: #C4A35A; color: #fff; }
body.faq .rank-item:nth-child(3) .rank-num,
body.guestbook .rank-item:nth-child(3) .rank-num,
body.search .rank-item:nth-child(3) .rank-num { background: #4A7C8C; color: #fff; }

/* 标签云（三页共用） */
body.faq .tag-cloud,
body.guestbook .tag-cloud,
body.search .tag-cloud { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.faq .tag-cloud a,
body.guestbook .tag-cloud a,
body.search .tag-cloud a {
    display: inline-block; padding: 0.3rem 0.8rem;
    background: #EDE5D8; border-radius: 9999px;
    font-size: 0.8rem; color: #5C5449;
    transition: all 0.2s;
}
body.faq .tag-cloud a:hover,
body.guestbook .tag-cloud a:hover,
body.search .tag-cloud a:hover { background: #9B3B2E; color: #fff; }
body.faq .tag-cloud a.hot,
body.guestbook .tag-cloud a.hot,
body.search .tag-cloud a.hot { background: rgba(155, 59, 46, 0.1); color: #9B3B2E; }
body.faq .tag-cloud a.hot:hover,
body.guestbook .tag-cloud a.hot:hover,
body.search .tag-cloud a.hot:hover { background: #9B3B2E; color: #fff; }

/* 装饰分隔（三页共用） */
body.faq .ornament-divider,
body.guestbook .ornament-divider {
    display: flex; align-items: center; justify-content: center;
    gap: 0.875rem; margin: 2.5rem 0; color: #B8A58B;
}
body.search .ornament-divider {
    display: flex; align-items: center; justify-content: center;
    gap: 0.875rem; margin: 2rem 0; color: #B8A58B;
}
body.faq .ornament-divider::before, body.faq .ornament-divider::after,
body.guestbook .ornament-divider::before, body.guestbook .ornament-divider::after,
body.search .ornament-divider::before, body.search .ornament-divider::after {
    content: ''; flex: 1; max-width: 140px; height: 1px;
    background: linear-gradient(90deg, transparent, #D4C9B8, transparent);
}

/* 文字截断（三页共用） */
body.faq .line-clamp-1,
body.guestbook .line-clamp-1,
body.search .line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
body.faq .line-clamp-2,
body.guestbook .line-clamp-2,
body.search .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.faq .line-clamp-3,
body.guestbook .line-clamp-3,
body.search .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }


/* ============ 表单组件（faq + guestbook 共用） ============ */
body.faq .stat-badge,
body.guestbook .stat-badge {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.3rem 0.75rem; border-radius: 9999px;
    font-size: 0.75rem; font-weight: 500;
}

body.faq .form-input, body.faq .form-select, body.faq .form-textarea,
body.guestbook .form-input, body.guestbook .form-select, body.guestbook .form-textarea {
    width: 100%; padding: 0.75rem 1rem;
    border: 1px solid #D4C9B8; border-radius: 0.65rem;
    background: #fff; font-size: 0.875rem; color: #2D2A26;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
}
body.faq .form-input:focus, body.faq .form-select:focus, body.faq .form-textarea:focus,
body.guestbook .form-input:focus, body.guestbook .form-select:focus, body.guestbook .form-textarea:focus {
    outline: none; border-color: #9B3B2E;
    box-shadow: 0 0 0 3px rgba(155, 59, 46, 0.08);
}
body.faq .form-label,
body.guestbook .form-label {
    display: block; font-size: 0.85rem; color: #5C5449;
    font-weight: 500; margin-bottom: 0.4rem;
}
body.faq .form-label .req,
body.guestbook .form-label .req { color: #9B3B2E; margin-left: 0.15rem; }
body.faq .submit-btn,
body.guestbook .submit-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
    padding: 0.85rem 2rem; border-radius: 9999px;
    background: linear-gradient(135deg, #9B3B2E, #C44B3C);
    color: #fff; font-weight: 500; font-size: 0.95rem;
    transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
    border: none; cursor: pointer;
}
body.faq .submit-btn:hover,
body.guestbook .submit-btn:hover { opacity: 0.93; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(155, 59, 46, 0.22); }

/* 数据统计大卡（faq + guestbook 共用） */
body.faq .stat-card,
body.guestbook .stat-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.25rem 1.5rem; display: flex; align-items: center; gap: 1rem;
    transition: transform 0.25s, border-color 0.25s;
}
body.faq .stat-card:hover,
body.guestbook .stat-card:hover { transform: translateY(-2px); border-color: #9B3B2E; }
body.faq .stat-icon,
body.guestbook .stat-icon {
    width: 3.25rem; height: 3.25rem; border-radius: 0.85rem; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; color: #fff;
}
body.faq .stat-num,
body.guestbook .stat-num { font-family: 'Noto Serif SC', serif; font-size: 1.65rem; font-weight: 700; color: #2D2A26; line-height: 1.2; }


/* ============ 大搜索框（faq + search 共用） ============ */
body.faq .big-search-box,
body.search .big-search-box {
    position: relative; width: 100%;
    background: #fff; border: 2px solid #D4C9B8; border-radius: 9999px;
    transition: border-color 0.25s, box-shadow 0.25s;
    display: flex; align-items: center;
}
body.faq .big-search-box:focus-within,
body.search .big-search-box:focus-within {
    border-color: #9B3B2E;
    box-shadow: 0 4px 24px rgba(155, 59, 46, 0.12);
}
body.faq .big-search-box input,
body.search .big-search-box input {
    flex: 1; min-width: 0; padding: 1rem 1rem 1rem 1rem;
    background: transparent; border: none; outline: none;
    font-size: 1.05rem; color: #2D2A26;
}
body.faq .big-search-box input::placeholder,
body.search .big-search-box input::placeholder { color: #B8A58B; }
body.faq .big-search-btn,
body.search .big-search-btn {
    margin: 0.375rem; padding: 0.625rem 1.5rem;
    background: linear-gradient(135deg, #9B3B2E, #C44B3C);
    color: #fff; border-radius: 9999px; font-weight: 500;
    display: inline-flex; align-items: center; gap: 0.375rem;
    transition: opacity 0.2s, transform 0.2s;
}
body.faq .big-search-btn:hover,
body.search .big-search-btn:hover { opacity: 0.92; transform: translateY(-1px); }


/* 分页样式已统一到 common.css */


/* ============================================================
   第一部分：常见问题 独有样式 (body.faq)
   ============================================================ */

/* ============ FAQ Hero头部 ============ */
body.faq .faq-hero {
    background: linear-gradient(180deg, #EDE5D8 0%, #F5F0E8 100%);
    border-bottom: 1px solid #D4C9B8;
}

/* ============ 分类快捷Chip ============ */
body.faq .quick-chip {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.35rem 0.85rem; border-radius: 9999px;
    background: #fff; border: 1px solid #D4C9B8;
    font-size: 0.825rem; color: #5C5449; cursor: pointer;
    transition: all 0.2s;
}
body.faq .quick-chip:hover { border-color: #9B3B2E; color: #9B3B2E; }
body.faq .quick-chip.active { background: #9B3B2E; color: #fff; border-color: #9B3B2E; }

/* ============ 分类导航卡片 ============ */
body.faq .cat-nav-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.25rem; transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    position: relative; overflow: hidden;
}
body.faq .cat-nav-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(45, 42, 38, 0.08);
    border-color: #9B3B2E;
}
body.faq .cat-nav-icon {
    width: 2.75rem; height: 2.75rem; border-radius: 0.75rem;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 0.75rem; color: #fff;
}
body.faq .cat-nav-count {
    position: absolute; top: 1rem; right: 1rem;
    font-family: 'Noto Serif SC', serif; font-weight: 700;
    font-size: 2rem; color: rgba(155, 59, 46, 0.08); line-height: 1;
}
body.faq .cat-nav-card:hover .cat-nav-count { color: rgba(155, 59, 46, 0.16); }

/* ============ 常见问题手风琴 ============ */
body.faq .faq-item {
    border: 1px solid #D4C9B8;
    border-radius: 0.75rem;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    margin-bottom: 0.75rem;
}
body.faq .faq-item:hover {
    border-color: #9B3B2E;
    box-shadow: 0 4px 16px rgba(45, 42, 38, 0.06);
}
body.faq .faq-item summary {
    padding: 1rem 1.25rem;
    font-family: 'Noto Serif SC', serif;
    font-weight: 600;
    color: #2D2A26;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    transition: color 0.15s ease;
    gap: 1rem;
    text-align: left;
}
body.faq .faq-item summary::-webkit-details-marker { display: none; }
body.faq .faq-item summary::after {
    content: '+';
    font-size: 1.25rem; font-weight: 500;
    color: #8B7355; flex-shrink: 0;
    transition: transform 0.25s ease, color 0.25s ease;
}
body.faq .faq-item[open] summary::after { transform: rotate(45deg); color: #9B3B2E; }
body.faq .faq-item[open] summary { color: #9B3B2E; }
body.faq .faq-item .faq-answer {
    padding: 0 1.25rem 1.25rem;
    color: #5C5449;
    font-size: 0.9rem;
    line-height: 1.85;
}
body.faq .faq-item .faq-answer p { margin-bottom: 0.5rem; }
body.faq .faq-item .faq-answer ul { padding-left: 1.25rem; margin-bottom: 0.5rem; }
body.faq .faq-item .faq-answer ul li { list-style: disc; margin-bottom: 0.25rem; }
body.faq .faq-item .faq-answer .faq-tag {
    display: inline-block; padding: 0.15rem 0.5rem;
    background: #EDE5D8; border-radius: 0.35rem;
    font-size: 0.7rem; color: #5C5449; margin-right: 0.25rem;
}
body.faq .faq-q-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.5rem; height: 1.5rem; border-radius: 0.375rem;
    background: rgba(155, 59, 46, 0.08); color: #9B3B2E;
    font-size: 0.75rem; font-weight: 700;
    flex-shrink: 0; margin-right: 0.6rem;
}
body.faq .faq-item[open] .faq-q-num { background: #9B3B2E; color: #fff; }
body.faq .faq-summary-text { flex: 1; display: flex; align-items: center; }

/* ============ 分类分组标题 ============ */
body.faq .cat-group-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.15rem; font-weight: 700; color: #2D2A26;
    display: flex; align-items: center; gap: 0.5rem;
    margin: 2rem 0 0.75rem;
}
body.faq .cat-group-title::before {
    content: ''; display: inline-block;
    width: 4px; height: 1.1rem; border-radius: 2px;
    background: linear-gradient(180deg, #9B3B2E, #C4A35A);
}

/* ============ 特色问答高亮卡 ============ */
body.faq .featured-card {
    background: linear-gradient(135deg, rgba(196,163,90,0.12), rgba(155,59,46,0.08));
    border: 1px solid #C4A35A;
    border-radius: 1rem;
    padding: 1.5rem;
    transition: transform 0.25s, box-shadow 0.25s;
}
body.faq .featured-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(155, 59, 46, 0.12);
}

/* ============ 专家团队卡 ============ */
body.faq .expert-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.25rem; text-align: center;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
body.faq .expert-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(45, 42, 38, 0.08);
    border-color: #9B3B2E;
}
body.faq .expert-avatar {
    width: 4rem; height: 4rem; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 0.75rem; color: #fff;
    font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: 1.4rem;
}

/* ============ 回答满意度标记 ============ */
body.faq .helpful-tag {
    display: inline-flex; align-items: center; gap: 0.2rem;
    padding: 0.12rem 0.5rem; border-radius: 9999px;
    font-size: 0.7rem; font-weight: 500;
}
body.faq .helpful-yes { background: rgba(122, 154, 109, 0.15); color: #5A7A4D; }
body.faq .helpful-hot { background: rgba(155, 59, 46, 0.1); color: #9B3B2E; }

/* ============ 分类锚点Tab ============ */
body.faq .cat-pill-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 1rem; }
body.faq .cat-pill {
    padding: 0.3rem 0.9rem; border-radius: 9999px;
    font-size: 0.8rem; color: #5C5449; cursor: pointer;
    transition: all 0.2s; border: 1px solid transparent;
}
body.faq .cat-pill:hover { background: #fff; border-color: #D4C9B8; color: #2D2A26; }
body.faq .cat-pill.active { background: #2D2A26; color: #F5F0E8; }


/* ============================================================
   第二部分：留言板 独有样式 (body.guestbook)
   ============================================================ */

/* ============ Hero头部 ============ */
body.guestbook .gb-hero {
    background: linear-gradient(180deg, #EDE5D8 0%, #F5F0E8 100%);
    border-bottom: 1px solid #D4C9B8;
}

/* ============ 留言表单 ============ */
body.guestbook .gb-form-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.5rem;
}
@media (min-width: 768px) { body.guestbook .gb-form-card { padding: 2rem; } }

/* 类型快速选择 */
body.guestbook .type-chip {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.4rem 0.85rem; border-radius: 9999px;
    background: #fff; border: 1px solid #D4C9B8;
    font-size: 0.825rem; color: #5C5449; cursor: pointer;
    transition: all 0.2s;
}
body.guestbook .type-chip:hover { border-color: #9B3B2E; color: #9B3B2E; }
body.guestbook .type-chip.active { background: #9B3B2E; color: #fff; border-color: #9B3B2E; }

/* 评分星星 */
body.guestbook .star-rating { display: inline-flex; gap: 0.25rem; }
body.guestbook .star-rating i {
    width: 1.5rem; height: 1.5rem; color: #D4C9B8; cursor: pointer;
    transition: color 0.15s, transform 0.15s;
}
body.guestbook .star-rating i:hover { transform: scale(1.1); }
body.guestbook .star-rating i.active { color: #C4A35A; }

/* ============ Tab筛选 ============ */
body.guestbook .gb-tabs { display: flex; align-items: center; gap: 0.25rem; flex-wrap: wrap; }
body.guestbook .gb-tab {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.5rem 1rem; border-radius: 9999px;
    font-size: 0.875rem; color: #5C5449; cursor: pointer;
    transition: all 0.2s; border: 1px solid transparent;
}
body.guestbook .gb-tab:hover { background: #fff; color: #2D2A26; border-color: #D4C9B8; }
body.guestbook .gb-tab.active { background: #2D2A26; color: #F5F0E8; }
body.guestbook .gb-tab .count {
    padding: 0.05rem 0.4rem; border-radius: 9999px;
    background: rgba(255,255,255,0.18); font-size: 0.7rem;
}
body.guestbook .gb-tab:not(.active) .count { background: #EDE5D8; color: #8B7355; }

/* ============ 留言卡片 ============ */
body.guestbook .gb-item {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.25rem 1.5rem; margin-bottom: 1rem;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    position: relative;
}
body.guestbook .gb-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(45, 42, 38, 0.08);
    border-color: #9B3B2E;
}
body.guestbook .gb-item.featured {
    background: linear-gradient(135deg, rgba(196,163,90,0.06), rgba(155,59,46,0.04));
    border-color: #C4A35A;
}
body.guestbook .gb-avatar {
    width: 2.75rem; height: 2.75rem; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; color: #fff;
    font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: 1.05rem;
}
body.guestbook .gb-type-badge {
    display: inline-flex; align-items: center; gap: 0.25rem;
    padding: 0.15rem 0.55rem; border-radius: 9999px;
    font-size: 0.7rem; font-weight: 500;
}
body.guestbook .type-suggest { background: rgba(122,154,109,0.15); color: #5A7A4D; }
body.guestbook .type-question { background: rgba(74,124,140,0.12); color: #4A7C8C; }
body.guestbook .type-share    { background: rgba(196,163,90,0.18); color: #8B7355; }
body.guestbook .type-praise   { background: rgba(155,59,46,0.1); color: #9B3B2E; }
body.guestbook .type-report   { background: rgba(92,84,73,0.12); color: #5C5449; }
body.guestbook .type-thanks   { background: rgba(122,154,109,0.18); color: #5A7A4D; }

/* 官方回复 */
body.guestbook .official-reply {
    margin-top: 1rem; padding: 1rem 1.25rem;
    background: rgba(155, 59, 46, 0.04);
    border-left: 3px solid #9B3B2E; border-radius: 0.5rem;
}

/* 互动按钮 */
body.guestbook .gb-action {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.3rem 0.65rem; border-radius: 9999px;
    font-size: 0.75rem; color: #5C5449;
    transition: all 0.2s; cursor: pointer;
}
body.guestbook .gb-action:hover { background: #EDE5D8; color: #9B3B2E; }
body.guestbook .gb-action.liked { color: #9B3B2E; }

/* 公告项 */
body.guestbook .notice-item {
    display: flex; align-items: flex-start; gap: 0.65rem;
    padding: 0.75rem 0; border-bottom: 1px dashed #D4C9B8;
    transition: padding-left 0.2s;
}
body.guestbook .notice-item:last-child { border-bottom: none; }
body.guestbook .notice-item:hover { padding-left: 0.4rem; }
body.guestbook .notice-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #9B3B2E; flex-shrink: 0; margin-top: 0.55rem;
}
body.guestbook .notice-tag {
    font-size: 0.65rem; padding: 0.05rem 0.35rem; border-radius: 0.25rem;
    font-weight: 500; flex-shrink: 0;
}
body.guestbook .notice-tag-new  { background: #9B3B2E; color: #fff; }
body.guestbook .notice-tag-hot  { background: #C4A35A; color: #fff; }
body.guestbook .notice-tag-imp  { background: #4A7C8C; color: #fff; }

/* 满意度进度条 */
body.guestbook .satisfaction-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
body.guestbook .satisfaction-label { font-size: 0.8rem; color: #5C5449; min-width: 3.5rem; }
body.guestbook .satisfaction-bar-bg { flex: 1; height: 8px; background: #EDE5D8; border-radius: 4px; overflow: hidden; }
body.guestbook .satisfaction-bar { height: 100%; border-radius: 4px; transition: width 0.6s ease; }
body.guestbook .satisfaction-percent { font-size: 0.75rem; color: #2D2A26; font-weight: 600; min-width: 3rem; text-align: right; }

/* 文章卡片 */
body.guestbook .article-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    overflow: hidden;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
body.guestbook .article-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(45, 42, 38, 0.08);
    border-color: #9B3B2E;
}
body.guestbook .article-card-title {
    font-family: 'Noto Serif SC', serif; font-weight: 700;
    font-size: 0.95rem; color: #2D2A26; transition: color 0.2s;
}
body.guestbook .article-card:hover .article-card-title { color: #9B3B2E; }

/* 友情链接 */
body.guestbook .friend-link {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.6rem 0.75rem; border-radius: 0.5rem;
    font-size: 0.85rem; color: #5C5449;
    transition: all 0.2s; border: 1px solid transparent;
}
body.guestbook .friend-link:hover { background: #EDE5D8; color: #9B3B2E; border-color: #D4C9B8; }

/* 验证码刷新按钮 */
body.guestbook .captcha-box {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.55rem 0.85rem; border: 1px solid #D4C9B8; border-radius: 0.5rem;
    background: #F5F0E8; font-family: 'Noto Serif SC', serif;
    font-size: 1.05rem; font-weight: 700; letter-spacing: 0.25rem;
    color: #9B3B2E; cursor: pointer; user-select: none;
    transition: border-color 0.2s, background 0.2s;
}
body.guestbook .captcha-box:hover { border-color: #9B3B2E; background: #fff; }

/* 互动数据小卡 */
body.guestbook .interaction-mini {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.4rem 0.75rem; border-radius: 9999px;
    background: #EDE5D8; font-size: 0.75rem; color: #5C5449;
}

/* 入口卡片 */
body.guestbook .entry-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.5rem; position: relative; overflow: hidden;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
body.guestbook .entry-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(45, 42, 38, 0.08);
    border-color: #9B3B2E;
}
body.guestbook .entry-icon {
    width: 3rem; height: 3rem; border-radius: 0.85rem;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 0.875rem; color: #fff;
}


/* ============================================================
   第三部分：搜索 独有样式 (body.search)
   ============================================================ */

/* ============ 搜索Hero头部 ============ */
body.search .search-hero {
    background: linear-gradient(180deg, #EDE5D8 0%, #F5F0E8 100%);
    border-bottom: 1px solid #D4C9B8;
}

/* ============ 类型筛选Tab ============ */
body.search .type-tabs { display: flex; align-items: center; gap: 0.25rem; flex-wrap: wrap; }
body.search .type-tab {
    display: inline-flex; align-items: center; gap: 0.375rem;
    padding: 0.5rem 1rem; border-radius: 9999px;
    font-size: 0.875rem; color: #5C5449; cursor: pointer;
    transition: all 0.2s; border: 1px solid transparent;
}
body.search .type-tab:hover { background: #EDE5D8; color: #2D2A26; }
body.search .type-tab.active {
    background: #2D2A26; color: #F5F0E8;
}
body.search .type-tab .count {
    padding: 0.05rem 0.4rem; border-radius: 9999px;
    background: rgba(255,255,255,0.18); font-size: 0.7rem;
}
body.search .type-tab:not(.active) .count {
    background: #EDE5D8; color: #8B7355;
}

/* ============ 排序与统计条 ============ */
body.search .sort-bar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.875rem 1.25rem; background: #fff;
    border: 1px solid #D4C9B8; border-radius: 0.75rem;
    margin-bottom: 1.5rem;
}
body.search .sort-btn {
    padding: 0.3rem 0.8rem; border-radius: 0.375rem;
    font-size: 0.825rem; color: #5C5449; cursor: pointer;
    transition: all 0.2s;
}
body.search .sort-btn:hover { color: #9B3B2E; }
body.search .sort-btn.active { background: #EDE5D8; color: #2D2A26; font-weight: 500; }

/* ============ 搜索结果卡片 ============ */
body.search .result-card {
    background: #fff; border: 1px solid #D4C9B8; border-radius: 1rem;
    padding: 1.25rem 1.5rem; margin-bottom: 1rem;
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
    position: relative;
}
body.search .result-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(45, 42, 38, 0.08);
    border-color: #9B3B2E;
}
body.search .result-type-badge {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.2rem 0.65rem; border-radius: 9999px;
    font-size: 0.7rem; font-weight: 500;
}
body.search .type-article { background: rgba(155, 59, 46, 0.1); color: #9B3B2E; }
body.search .type-formula { background: rgba(196, 163, 90, 0.15); color: #8B7355; }
body.search .type-herb     { background: rgba(122, 154, 109, 0.15); color: #5A7A4D; }
body.search .type-case     { background: rgba(74, 124, 140, 0.12); color: #4A7C8C; }
body.search .type-author   { background: rgba(92, 84, 73, 0.12); color: #5C5449; }
body.search .type-classic  { background: rgba(196, 163, 90, 0.18); color: #8B7355; }

body.search .result-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.1rem; font-weight: 700; color: #2D2A26;
    transition: color 0.2s; line-height: 1.5;
}
body.search .result-card:hover .result-title { color: #9B3B2E; }
body.search .result-excerpt { color: #5C5449; font-size: 0.875rem; line-height: 1.75; }
body.search .result-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.875rem; font-size: 0.75rem; color: #8B7355; }

/* 高亮关键词 */
body.search .highlight { color: #9B3B2E; background: rgba(196, 163, 90, 0.18); padding: 0 0.15rem; border-radius: 0.2rem; font-weight: 500; }

/* ============ 作者卡片特殊样式 ============ */
body.search .author-card { display: flex; align-items: flex-start; gap: 1rem; }
body.search .author-avatar {
    width: 3.5rem; height: 3.5rem; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #9B3B2E, #C4A35A); color: #fff;
    font-family: 'Noto Serif SC', serif; font-size: 1.25rem; font-weight: 700;
}

/* ============ 方剂/药材卡片内嵌信息 ============ */
body.search .info-chip {
    display: inline-block; padding: 0.15rem 0.55rem;
    background: #EDE5D8; border-radius: 0.375rem;
    font-size: 0.7rem; color: #5C5449;
}
body.search .info-chip-accent { background: rgba(155, 59, 46, 0.1); color: #9B3B2E; }

/* 历史搜索项 */
body.search .history-item {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.5rem 0.75rem; border-radius: 0.5rem;
    font-size: 0.85rem; color: #5C5449;
    transition: background 0.2s, color 0.2s;
}
body.search .history-item:hover { background: #EDE5D8; color: #9B3B2E; }

/* ============ 搜索建议（您是不是要找） ============ */
body.search .suggestion-box {
    background: rgba(196, 163, 90, 0.08);
    border: 1px dashed #C4A35A; border-radius: 0.75rem;
    padding: 0.875rem 1.25rem; margin-bottom: 1.5rem;
    font-size: 0.875rem; color: #5C5449;
    display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem;
}
body.search .suggestion-box a { color: #9B3B2E; font-weight: 500; }
body.search .suggestion-box a:hover { text-decoration: underline; }

/* 高级筛选折叠 */
body.search .advance-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
body.search .filter-chip {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.35rem 0.75rem; border-radius: 9999px;
    border: 1px solid #D4C9B8; font-size: 0.8rem; color: #5C5449;
    background: #fff; cursor: pointer; transition: all 0.2s;
}
body.search .filter-chip:hover { border-color: #9B3B2E; color: #9B3B2E; }
body.search .filter-chip.active { background: #9B3B2E; color: #fff; border-color: #9B3B2E; }

/* ============ 热搜榜特殊样式 ============ */
body.search .hot-rank-num {
    width: 1.5rem; height: 1.5rem; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border-radius: 0.375rem; font-weight: 700; font-size: 0.75rem;
    background: #EDE5D8; color: #8B7355; font-family: 'Noto Serif SC', serif;
}
body.search .hot-tag {
    font-size: 0.65rem; padding: 0.05rem 0.35rem; border-radius: 0.25rem;
    font-weight: 500;
}
body.search .hot-tag-boom { background: #9B3B2E; color: #fff; }
body.search .hot-tag-hot  { background: #C4A35A; color: #fff; }
body.search .hot-tag-new  { background: #7A9A6D; color: #fff; }
