/**
 * Message 页面样式
 *
 * @package     block-canvas Child
 * @subpackage  Assets
 * @author      JoshuaWang2019
 * @version     1.0.0
 * @since       2025-06-10
 */

/* Message 容器样式 - 加强版本 */
.message-container {
  padding: var(--spacing-xl) var(--spacing-lg) !important;
  background: var(--theme-gradient-background) !important;
  min-height: 100vh !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.message-content-wrapper {
  max-width: 800px !important;
  width: 100% !important;
  margin: 0 auto !important;
  background: var(--card-bg) !important;
  border-radius: var(--border-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-lg) !important;
  position: relative !important;
  box-sizing: border-box !important;
  /* 确保在移动端也能正确显示 */
  flex-shrink: 0 !important;
}

/* 封面图片样式 */
.message-feature-image {
  width: 100% !important;
  margin: 0 0 var(--spacing-sm) 0 !important;
  padding: 0 calc(var(--spacing-lg) / 2) !important;
  position: relative;
  height: 0 !important;
  padding-bottom: var(--image-aspect-ratio) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* 现代浏览器的 aspect-ratio 支持 */
@supports (aspect-ratio: 1) {
  .message-feature-image {
    height: auto !important;
    padding-bottom: 0 calc(var(--spacing-lg) / 2) !important;
    aspect-ratio: 900 / 383 !important;
  }
}

.message-cover-img {
  position: absolute !important;
  top: 0 !important;
  left: calc(var(--spacing-lg) / 2) !important;
  right: calc(var(--spacing-lg) / 2) !important;
  width: calc(100% - var(--spacing-lg)) !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: var(--border-radius-lg) !important;
}

/* 信息头部样式 - 调整底部间距 */
.message-header {
  padding: var(--spacing-sm) var(--spacing-xl) var(--spacing-sm)
    var(--spacing-xl) !important;
  border-bottom: 1px solid var(--theme-gray-200);
}

/* 面包屑导航样式 - 独立区块 */
.breadcrumb-nav {
  margin: var(--spacing-lg) 0 var(--spacing-sm) 0 !important;
  padding: 0 var(--spacing-lg) !important;
  display: block !important;
}

.breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--font-size-sm) !important;
}

.breadcrumb-item {
  display: flex !important;
  align-items: center !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: ' > ' !important;
  margin: 0 var(--spacing-xs) !important;
  color: var(--theme-gray-400) !important;
}

.breadcrumb-item span {
  color: var(--theme-gray-600) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumb-item span:hover {
  color: var(--theme-gray-800) !important;
  text-decoration: underline !important;
}

.breadcrumb-item.current {
  color: var(--theme-gray-500) !important;
}

/* 封面图片样式完成 */

.message-title {
  font-size: var(--font-size-3xl) !important;
  font-weight: var(--font-weight-bold) !important;
  color: var(--theme-gray-800) !important;
  margin: 0 0 var(--spacing-sm) 0 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

/* 简洁的作者信息样式 */
.author-info {
  margin-top: var(--spacing-xs) !important;
  text-align: center !important;
}

.author-text {
  font-size: var(--font-size-base) !important;
  color: var(--theme-gray-600) !important;
  font-weight: var(--font-weight-medium) !important;
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
  .breadcrumb-item span {
    color: var(--theme-primary-light) !important;
  }

  .breadcrumb-item span:hover {
    color: var(--theme-primary) !important;
  }

  .breadcrumb-item.current {
    color: var(--theme-gray-400) !important;
  }

  .author-text {
    color: var(--theme-gray-400) !important;
  }
}

.message-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm) var(--spacing-xl);
  margin-top: var(--spacing-lg);
  justify-content: center;
  align-items: center;
}

.message-author,
.message-categories {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  padding: var(--spacing-xs) var(--spacing-sm);
  background: var(--theme-primary-50);
  border-radius: 20px;
  border: 1px solid var(--theme-primary-200);
  font-size: var(--font-size-sm);
  transition: all 0.3s ease;
}

.message-author:hover,
.message-categories:hover {
  background: var(--theme-primary-100);
  border-color: var(--theme-primary-300);
  transform: translateY(-1px);
}

.meta-label {
  font-weight: var(--font-weight-semibold) !important;
  color: var(--theme-primary) !important;
  font-size: var(--font-size-xs) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.meta-value {
  color: var(--theme-gray-800) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
}

/* 区块标题样式 */
.section-title {
  font-size: var(--font-size-xl) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--theme-gray-800) !important;
  margin: 0 0 var(--spacing-lg) 0 !important;
  padding-bottom: var(--spacing-sm) !important;
  border-bottom: 2px solid var(--theme-primary) !important;
  display: inline-block !important;
}

/* 音频播放器样式 - 调整间距 */
.message-audio-section {
  padding: var(--spacing-lg) var(--spacing-xl) !important;
  border-bottom: 1px solid var(--theme-gray-200);
}

.audio-player {
  margin-top: var(--spacing-lg) !important;
}

.message-audio {
  width: 100% !important;
  height: 54px !important;
  border-radius: var(--border-radius) !important;
  outline: none !important;
}

.message-audio::-webkit-media-controls-panel {
  background-color: var(--theme-gray-50);
  border-radius: var(--border-radius);
}

/* 视频播放器样式 - 调整间距 */
.message-video-section {
  padding: var(--spacing-lg) var(--spacing-xl) !important;
  border-bottom: 1px solid var(--theme-gray-200);
}

.video-player {
  margin-top: var(--spacing-lg) !important;
}

.message-video {
  width: 100% !important;
  max-height: 500px !important;
  border-radius: var(--border-radius) !important;
  outline: none !important;
}

/* 文本内容样式 */
.message-text-content {
  padding: var(--spacing-xl) !important;
  border-bottom: 1px solid var(--theme-gray-200);
}

/* 消息内容区域 - 保持WordPress编辑器样式 */
.message-content-text {
  margin-top: var(--spacing-lg) !important;
  /* 移除强制样式，让WordPress编辑器样式生效 */
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  /* 保持原始大小写 */
  text-transform: none !important;
}

/* 保留WordPress编辑器的字体大小和对齐设置 */
.message-content-text.wp-content {
  /* 只设置基础容器样式，不覆盖编辑器格式 */
  line-height: 1.6 !important; /* 适中的行高 */
  color: var(--theme-gray-700) !important;
  text-transform: none !important;
}

/* 保留WordPress编辑器的段落样式 */
.message-content-text.wp-content p {
  margin-bottom: 1em !important;
  /* 移除强制对齐，保持编辑器设置 */
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  text-transform: none !important;
  text-align: justify !important; /* 两端对齐 */
}

/* 保留WordPress编辑器的标题样式 */
.message-content-text.wp-content h1,
.message-content-text.wp-content h2,
.message-content-text.wp-content h3,
.message-content-text.wp-content h4,
.message-content-text.wp-content h5,
.message-content-text.wp-content h6 {
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
  color: var(--theme-gray-800) !important;
  /* 保留编辑器的字体大小和对齐设置 */
}

/* 保留WordPress编辑器的列表样式 */
.message-content-text.wp-content ul,
.message-content-text.wp-content ol {
  margin: 1em 0 !important;
  padding-left: 2em !important;
}

.message-content-text.wp-content li {
  margin-bottom: 0.5em !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* WordPress编辑器对齐类支持 */
.message-content-text.wp-content .has-text-align-left {
  text-align: left !important;
}

.message-content-text.wp-content .has-text-align-center {
  text-align: center !important;
}

.message-content-text.wp-content .has-text-align-right {
  text-align: right !important;
}

.message-content-text.wp-content .has-text-align-justify {
  text-align: justify !important;
}

/* WordPress编辑器字体大小类支持 - 使用rem实现响应式 */
.message-content-text.wp-content .has-small-font-size {
  font-size: 0.875rem !important;
}

.message-content-text.wp-content .has-normal-font-size,
.message-content-text.wp-content .has-regular-font-size {
  font-size: 1rem !important;
}

.message-content-text.wp-content .has-medium-font-size {
  font-size: 1.25rem !important;
}

.message-content-text.wp-content .has-large-font-size {
  font-size: 1.75rem !important;
}

.message-content-text.wp-content .has-huge-font-size,
.message-content-text.wp-content .has-extra-large-font-size {
  font-size: 2.25rem !important;
}

/* WYSIWYG编辑器中的图片样式 */
.message-content-text img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: var(--spacing-lg) auto !important;
  border-radius: var(--border-radius-sm) !important;
  box-shadow: var(--shadow-sm) !important;
}

/* WYSIWYG编辑器中的视频样式 */
.message-content-text video {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: var(--spacing-lg) auto !important;
  border-radius: var(--border-radius) !important;
  box-shadow: var(--shadow-md) !important;
  background: #000 !important;
}

/* WYSIWYG编辑器中的iframe样式（用于嵌入视频等） */
.message-content-text iframe {
  max-width: 100% !important;
  display: block !important;
  margin: var(--spacing-lg) auto !important;
  border: none !important;
  border-radius: var(--border-radius) !important;
  box-shadow: var(--shadow-md) !important;
}

/* WordPress视频块样式 */
.message-content-text .wp-block-video {
  margin: var(--spacing-lg) 0 !important;
}

.message-content-text .wp-block-video video {
  width: 100% !important;
}

/* WordPress嵌入块样式（YouTube、Vimeo等） */
.message-content-text .wp-block-embed {
  margin: var(--spacing-lg) 0 !important;
}

.message-content-text .wp-block-embed__wrapper {
  position: relative !important;
  padding-bottom: 56.25% !important; /* 16:9 宽高比 */
  height: 0 !important;
  overflow: hidden !important;
}

.message-content-text .wp-block-embed__wrapper iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

/* 支持WordPress的对齐类 */
.message-content-text .aligncenter,
.message-content-text .wp-block-image.aligncenter {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.message-content-text .alignleft {
  float: left !important;
  margin: 0 1em 1em 0 !important;
}

.message-content-text .alignright {
  float: right !important;
  margin: 0 0 1em 1em !important;
}

.message-content-text .aligncenter img {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 支持图片说明文字 */
.message-content-text figcaption,
.message-content-text .wp-caption-text {
  text-align: center !important;
  font-size: var(--font-size-sm) !important;
  color: var(--theme-gray-600) !important;
  margin-top: var(--spacing-xs) !important;
  font-style: italic !important;
}

/* 文档下载区域样式 - 使用统一按钮样式 */
.message-documents {
  padding: var(--spacing-lg) !important;
}

.downloads-title {
  font-size: var(--font-size-xl) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--theme-gray-800) !important;
  margin-bottom: var(--spacing-lg) !important;
  text-align: center !important;
}

.documents-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: var(--spacing-md) !important;
}

/* 下载按钮继承全局按钮样式，只添加必要的布局样式 */
.message-documents .download-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--spacing-sm) !important;
  text-decoration: none !important;
}

.message-documents .download-btn .download-icon {
  font-size: 1.2em !important;
}

.message-documents .download-btn:hover {
  text-decoration: none !important;
}

/* 上下篇文章导航样式 */
.message-navigation {
  padding: var(--spacing-lg) !important;
  border-top: 1px solid var(--theme-gray-200) !important;
  background: var(--theme-gray-50) !important;
}

.nav-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  gap: var(--spacing-lg) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.nav-item {
  flex: 1 !important;
  display: flex !important;
}

.nav-prev {
  justify-content: flex-start !important;
}

.nav-next {
  justify-content: flex-end !important;
}

.nav-link {
  display: flex !important;
  flex-direction: column !important;
  padding: var(--spacing-md) !important;
  background: var(--card-bg) !important;
  border: 1px solid var(--theme-gray-200) !important;
  border-radius: var(--border-radius) !important;
  text-decoration: none !important;
  color: var(--theme-gray-700) !important;
  transition: all var(--transition-base) !important;
  min-height: 80px !important;
  max-width: 300px !important;
}

.nav-link:hover {
  background: var(--theme-primary-50) !important;
  border-color: var(--theme-primary-200) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
  text-decoration: none !important;
}

.nav-direction {
  font-size: var(--font-size-sm) !important;
  color: var(--theme-primary) !important;
  font-weight: var(--font-weight-semibold) !important;
  margin-bottom: var(--spacing-xs) !important;
}

.nav-title {
  font-size: var(--font-size-base) !important;
  color: var(--theme-gray-800) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.nav-prev .nav-link {
  text-align: left !important;
}

.nav-next .nav-link {
  text-align: right !important;
}

/* 响应式设计 - 调整移动端间距和字体 */
@media screen and (max-width: 768px) {
  .message-container {
    padding: var(--spacing-lg) var(--spacing-sm) !important;
  }

  .breadcrumb-nav {
    margin: var(--spacing-md) 0 var(--spacing-md) 0 !important;
    padding: 0 var(--spacing-md) !important;
  }

  .message-header {
    padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)
      var(--spacing-lg) !important;
  }

  .message-audio-section,
  .message-video-section {
    padding: var(--spacing-lg) var(--spacing-lg) !important;
  }

  .message-text-content,
  .message-documents {
    padding: var(--spacing-lg) !important;
  }

  .message-title {
    font-size: var(--font-size-2xl) !important;
  }

  .documents-grid {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-sm) !important;
  }

  /* 移动端导航样式 */
  .nav-container {
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
  }

  .nav-item {
    justify-content: center !important;
  }

  .nav-link {
    max-width: none !important;
    width: 100% !important;
  }

  .nav-prev .nav-link,
  .nav-next .nav-link {
    text-align: center !important;
  }

  .message-author,
  .message-categories {
    flex-direction: column;
    align-items: flex-start !important;
    gap: var(--spacing-xs);
  }

  /* 平板端适当调整信息内容字体 */
  .message-content-text.wp-content {
    font-size: var(--font-size-lg) !important;
    line-height: 1.7 !important;
  }

  /* 移动端保持WordPress编辑器字体大小类的相对比例 - 使用rem */
  .message-content-text.wp-content .has-small-font-size {
    font-size: 0.75rem !important;
  }

  .message-content-text.wp-content .has-medium-font-size {
    font-size: 1.1rem !important;
  }

  .message-content-text.wp-content .has-large-font-size {
    font-size: 1.5rem !important;
  }

  .message-content-text.wp-content .has-huge-font-size,
  .message-content-text.wp-content .has-extra-large-font-size {
    font-size: 2rem !important;
  }
}

@media screen and (max-width: 480px) {
  .message-title {
    font-size: var(--font-size-xl) !important;
  }

  /* 小屏手机端增大信息内容字体，提升可读性 */
  .message-content-text.wp-content {
    font-size: var(--font-size-lg) !important;
    line-height: 1.6 !important;
  }

  /* 小屏幕端保持WordPress编辑器字体大小类的相对比例 - 使用rem */
  .message-content-text.wp-content .has-small-font-size {
    font-size: 0.8rem !important;
  }

  .message-content-text.wp-content .has-medium-font-size {
    font-size: 1.1rem !important;
  }

  .message-content-text.wp-content .has-large-font-size {
    font-size: 1.4rem !important;
  }

  .message-content-text.wp-content .has-huge-font-size,
  .message-content-text.wp-content .has-extra-large-font-size {
    font-size: 1.8rem !important;
  }

  /* 调整元数据标签字体大小，确保小屏幕下的可读性 */
  .meta-label {
    font-size: var(--font-size-sm) !important;
  }

  .meta-value {
    font-size: var(--font-size-base) !important;
  }

  /* 调整区块标题字体 */
  .section-title {
    font-size: var(--font-size-xl) !important;
  }

  /* 调整标题字体，确保标题层次清晰 */
  .message-content-text h1 {
    font-size: var(--font-size-2xl) !important;
  }

  .message-content-text h2 {
    font-size: var(--font-size-xl) !important;
  }

  .message-content-text h3,
  .message-content-text h4 {
    font-size: var(--font-size-lg) !important;
  }
}

/* 无内容时的样式 */
.no-content {
  text-align: center !important;
  padding: var(--spacing-2xl) !important;
  color: var(--theme-gray-600) !important;
  font-style: italic !important;
}

/* ==========================================================================
   页面布局修复 - 确保所有内容居中显示
   ========================================================================== */

/* 确保主体内容区域始终居中 */
body.message-single,
body.single-message {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 确保页面主容器正确居中 */
.site-main,
.main-content,
.content-area {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 1 !important;
}

/* 防止侧边栏或其他元素影响布局 */
.message-container .sidebar,
.message-container .widget-area {
  display: none !important;
}

/* 响应式优化 */
@media (max-width: 768px) {
  .message-container {
    padding: var(--spacing-lg) var(--spacing-md) !important;
  }

  .message-content-wrapper {
    margin: 0 !important;
    border-radius: var(--border-radius-sm) !important;
  }

  /* 移动端文本对齐优化 */
  .message-content-text {
    font-size: var(--font-size-base) !important; /* 移动端字体稍小 */
    word-break: break-word !important; /* 移动端允许断词 */
    overflow-wrap: break-word !important; /* 确保长词换行 */
  }

  .message-content-text p,
  .message-content-text li {
    text-align: left !important; /* 移动端也使用左对齐 */
    word-break: break-word !important; /* 允许断词 */
    overflow-wrap: break-word !important; /* 长词换行 */
    max-width: 100% !important; /* 确保不超出容器 */
  }
}

/* ==========================================================================
   深色模式适配
   ========================================================================== */
@media (prefers-color-scheme: dark) {
  .message-container {
    background: var(--theme-gray-50) !important;
  }

  .message-content-wrapper {
    background: var(--card-bg) !important;
    border-color: var(--theme-gray-200) !important;
  }

  .message-title {
    color: var(--theme-gray-800) !important;
  }

  .message-meta,
  .message-author,
  .message-date {
    color: var(--theme-gray-400) !important;
  }

  .message-content,
  .message-content p {
    color: var(--theme-gray-600) !important;
  }

  .message-content h1,
  .message-content h2,
  .message-content h3,
  .message-content h4,
  .message-content h5,
  .message-content h6 {
    color: var(--theme-gray-800) !important;
  }

  .message-tags a {
    background: var(--theme-gray-100) !important;
    color: var(--theme-gray-600) !important;
  }

  .message-tags a:hover {
    background: var(--theme-primary) !important;
    color: white !important;
  }

  .message-navigation {
    background: var(--theme-gray-100) !important;
    border-color: var(--theme-gray-200) !important;
  }

  .nav-link {
    background: var(--card-bg) !important;
    color: var(--theme-gray-600) !important;
    border-color: var(--theme-gray-200) !important;
  }

  .nav-link:hover {
    background: var(--theme-primary-50) !important;
    color: var(--theme-primary) !important;
  }

  .nav-direction {
    color: var(--theme-primary) !important;
  }

  .nav-title {
    color: var(--theme-gray-800) !important;
  }
}
