/* ===== 左侧导航栏优化样式 ===== */

/* 导航菜单容器样式 */
.book-menu {
  font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  background-color: #f0f5ff;
  border-right: 1px solid #e5e7eb;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.03);
  letter-spacing: 0.01em; /* 轻微增加字母间距，提高可读性 */
}

.book-menu .book-menu-content {
  padding: 1.5rem 1rem;
}

/* 品牌/标题样式 */
.book-brand {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
  background-color: rgba(219, 234, 254, 0.5);
  padding: 0.75rem;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.book-brand a {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1e3a8a;
  transition: color 0.2s ease;
  letter-spacing: 0.02em; /* 增加标题字母间距 */
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8); /* 轻微文字阴影增强可读性 */
}

.book-brand a:hover {
  color: #3b82f6;
}

/* 搜索框样式 */
.book-search {
  margin: 1rem 0 1.5rem;
}

.book-search input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background-color: white;
  font-size: 0.875rem;
  transition: all 0.2s ease;
  color: #374151; /* 更深的文字颜色提高对比度 */
}

.book-search input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
  outline: none;
}

/* 导航菜单项样式 */
.book-menu nav ul li {
  margin: 0.5rem 0;
  font-size: 0.9rem;
}

.book-menu nav ul li a {
  display: block;
  padding: 0.4rem 0.5rem;
  color: #4b5563;
  border-radius: 4px;
  transition: all 0.2s ease;
  font-weight: 450; /* 稍微加粗一点，但不要太重 */
}

.book-menu nav ul li a:hover {
  background-color: #dbeafe;
  color: #1e40af;
  opacity: 1;
  transform: translateX(2px);
}

.book-menu nav ul li a.active {
  color: #1e3a8a; /* 更深的蓝色，更专业 */
  background-color: #bfdbfe;
  font-weight: 500;
  border-left: 3px solid #3b82f6;
  padding-left: calc(0.5rem - 3px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* 折叠菜单样式 */
.book-menu nav ul li label {
  display: flex;
  align-items: center;
  padding: 0.4rem 0.5rem;
  color: #374151; /* 更深的颜色提高对比度 */
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: rgba(241, 245, 249, 0.5);
  font-weight: 500; /* 稍微加粗，突出层级标题 */
}

.book-menu nav ul li label:hover {
  background-color: #dbeafe;
  color: #1e40af;
}

.book-menu nav ul li label::after {
  margin-left: auto;
  font-size: 0.8rem;
  transition: transform 0.2s ease;
  color: #60a5fa;
}

.book-menu input.toggle:checked + label {
  background-color: #eff6ff;
  border-left: 3px solid #3b82f6;
  padding-left: calc(0.5rem - 3px);
  color: #1e40af;
}

.book-menu input.toggle:checked + label::after {
  transform: rotate(90deg);
  color: #3b82f6;
}

/* 子菜单样式 */
.book-menu nav ul ul {
  padding-left: 1rem;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  border-left: 1px solid #bfdbfe;
  background-color: rgba(241, 245, 249, 0.3);
  border-radius: 0 0 4px 4px;
}

.book-menu nav ul ul li {
  margin: 0.25rem 0;
}

.book-menu nav ul ul li a {
  font-size: 0.85rem;
  padding: 0.3rem 0.5rem;
  color: #4b5563; /* 保持一致的颜色 */
  font-weight: 400; /* 子菜单项稍微轻一点 */
}

/* 扁平化部分样式 */
.book-section-flat {
  margin: 1.5rem 0;
  background-color: rgba(241, 245, 249, 0.5);
  border-radius: 6px;
  padding: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.book-section-flat > span {
  font-weight: 600;
  color: #1e3a8a;
  font-size: 0.95rem;
  display: block;
  margin-bottom: 0.5rem;
  padding: 0.3rem 0.5rem;
  background-color: rgba(219, 234, 254, 0.5);
  border-radius: 4px;
  letter-spacing: 0.02em; /* 增加字母间距 */
}

/* 响应式调整 */
@media screen and (max-width: 56rem) {
  .book-menu .book-menu-content {
    background-color: #f0f5ff;
    border-right: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
}

/* ===== 语言切换器样式优化 ===== */
.book-languages {
  margin-block-end: 1rem; /* 减小底部边距 */
}

.book-languages ul {
  padding-inline-start: 0.75em; /* 减小缩进 */
}

.book-languages li {
  margin: 0; /* 移除默认边距 */
}

.book-languages label {
  padding: 0.3rem 0.5rem; /* 减小内边距 */
  font-size: 0.85rem; /* 减小字体大小 */
  display: flex;
  align-items: center;
  background-color: rgba(219, 234, 254, 0.5);
  border-radius: 4px;
  margin-bottom: 0.25rem;
}

.book-languages a {
  padding: 0.25rem 0.5rem !important; /* 减小内边距 */
  font-size: 0.8rem !important; /* 减小字体大小 */
  color: #4b5563 !important;
  transition: all 0.2s ease;
}

.book-languages a:hover {
  background-color: #dbeafe;
  color: #1e40af !important;
}

.book-languages .book-icon {
  height: 0.85em !important; /* 减小图标大小 */
  width: 0.85em !important;
  margin-inline-end: 0.3em !important; /* 减小图标右边距 */
}

/* 语言下拉菜单样式 */
.book-languages > li > ul {
  background-color: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  padding: 0.25rem;
  margin-top: 0.25rem;
}
