/* ═══════════════════════════════════════════════════
   咕咕啦 GglaCraft · WordPress 版补充样式
   （主样式表为 assets/css/style.css，与预览版保持一致）
   ═══════════════════════════════════════════════════ */

/* 最新消息：文章有特色图片时直接显示图片 */
.news-thumb.has-img { padding: 0; overflow: hidden; }
.news-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 动态分类标签默认配色（预览版只有 tag-new/update/notice 三种固定色） */
.news-tag { background: var(--c-primary); }
.news-tag.tag-new { background: var(--c-accent); }
.news-tag.tag-update { background: var(--c-primary); }
.news-tag.tag-notice { background: #FAB005; }

/* WordPress 后台管理栏占位修正：固定导航在登录态下移 */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

/* Wiki 条目正文基础排版（the_content 输出） */
.wiki-section h4 { font-size: 15px; margin: 14px 0 8px; }
.wiki-section img { max-width: 100%; border-radius: var(--radius-sm); }
.wiki-section table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14px; }
.wiki-section th, .wiki-section td { padding: 10px 14px; text-align: left; border-bottom: 2px solid var(--c-border); }
.wiki-section th { background: var(--c-primary-light); color: var(--c-primary-dark); }

/* ═══════════ 文章 / 页面 模板（singular.php） ═══════════ */
/* 头部横幅：标题、分类、日期与正文分块 */
.article-hero {
  padding: 130px 0 34px;
  background: linear-gradient(180deg, var(--c-primary-light), var(--c-bg));
  text-align: center;
}
.article-cat { display: inline-block; margin-bottom: 14px; text-decoration: none; }
.article-title { font-size: clamp(24px, 4vw, 36px); line-height: 1.4; color: var(--c-text); }
.article-meta { margin-top: 10px; font-size: 14px; color: var(--c-muted); }

.article-layout { padding: 34px 0 70px; }
.article-card {
  background: var(--c-card);
  border: 2px solid var(--c-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;              /* 图片等所有内容都限制在卡片框内 */
}
.article-feat img { width: 100%; max-height: 460px; object-fit: cover; display: block; }
.article-foot { text-align: center; margin-top: 26px; }

/* ── 正文排版：与区块编辑器所见一致 ── */
.entry-content {
  padding: 30px clamp(18px, 4vw, 44px) 40px;
  font-size: 16px; line-height: 1.9; color: var(--c-text);
  overflow-wrap: break-word;
}
/* 所有图片限制在卡片内，不超出边框 */
.entry-content img,
.entry-content .wp-block-image img,
.entry-content figure img {
  max-width: 100%; height: auto; border-radius: var(--radius-sm); display: block;
}
.entry-content .alignwide { width: 100%; margin-left: 0; margin-right: 0; }
.entry-content .alignfull { width: 100%; margin-left: 0; margin-right: 0; }
.entry-content .alignleft  { float: left;  margin: 6px 22px 14px 0; max-width: 46%; }
.entry-content .alignright { float: right; margin: 6px 0 14px 22px; max-width: 46%; }
.entry-content .aligncenter { margin-left: auto; margin-right: auto; }
.entry-content::after { content: ""; display: table; clear: both; }   /* 清除图文浮动 */

.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
  color: var(--c-text); line-height: 1.45; margin: 28px 0 12px; clear: both;
}
.entry-content h2 { font-size: 24px; padding-left: 12px; border-left: 5px solid var(--c-primary); }
.entry-content h3 { font-size: 20px; padding-left: 12px; border-left: 5px solid var(--c-accent); }
.entry-content h4 { font-size: 17px; }
.entry-content p { margin: 0 0 16px; }
.entry-content a { color: var(--c-primary-dark); text-decoration: underline; text-decoration-color: var(--c-primary-light); }
.entry-content a:hover { color: var(--c-primary); }
.entry-content ul, .entry-content ol { margin: 0 0 16px; padding-left: 26px; }
.entry-content li { margin-bottom: 6px; }
.entry-content blockquote {
  margin: 20px 0; padding: 16px 22px;
  background: var(--c-primary-light);
  border-left: 5px solid var(--c-primary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: 15px;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content code {
  background: var(--c-accent-light); color: var(--c-primary-dark);
  padding: 2px 8px; border-radius: 8px; font-size: 14px;
}
.entry-content pre {
  background: #3A333C; color: #F3EDF0; padding: 18px 20px;
  border-radius: var(--radius-sm); overflow-x: auto; margin: 20px 0;
}
.entry-content pre code { background: none; color: inherit; padding: 0; }
.entry-content hr { border: none; border-top: 2px dashed var(--c-border); margin: 30px 0; }
.entry-content table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 15px; }
.entry-content th, .entry-content td { padding: 10px 14px; text-align: left; border-bottom: 2px solid var(--c-border); }
.entry-content th { background: var(--c-primary-light); color: var(--c-primary-dark); }
.entry-content figcaption,
.entry-content .wp-element-caption {
  text-align: center; font-size: 13px; color: var(--c-muted); margin-top: 8px;
}
/* 引用块与拉取引用 */
.entry-content .wp-block-quote.is-style-large { font-size: 17px; }
/* 画廊 */
.entry-content .wp-block-gallery { margin: 20px 0; }
.entry-content .blocks-gallery-grid { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; list-style: none; }
.entry-content .blocks-gallery-item { margin: 0; }
/* 按钮 */
.entry-content .wp-block-button__link,
.entry-content .wp-block-button__link:visited {
  background: var(--c-primary); color: #fff;
  border-radius: 999px; padding: 10px 26px; text-decoration: none;
}

/* ── 编辑器调色板 → 前台对应样式（functions.php 中注册的同一组颜色） ── */
.has-gugula-pink-color    { color: #F38BA8; } .has-gugula-pink-background-color    { background-color: #F38BA8; }
.has-gugula-pink-d-color  { color: #DE6C92; } .has-gugula-pink-d-background-color  { background-color: #DE6C92; }
.has-gugula-purple-color  { color: #B197FC; } .has-gugula-purple-background-color  { background-color: #B197FC; }
.has-gugula-purple-d-color{ color: #7E5AF0; } .has-gugula-purple-d-background-color{ background-color: #7E5AF0; }
.has-gugula-green-color   { color: #7BC96F; } .has-gugula-green-background-color   { background-color: #7BC96F; }
.has-gugula-blue-color    { color: #4DABF7; } .has-gugula-blue-background-color    { background-color: #4DABF7; }
.has-gugula-yellow-color  { color: #F0A54A; } .has-gugula-yellow-background-color  { background-color: #F0A54A; }
.has-gugula-text-color    { color: #574A53; } .has-gugula-text-background-color    { background-color: #574A53; }
.has-gugula-muted-color   { color: #A89AA3; } .has-gugula-muted-background-color   { background-color: #A89AA3; }
.has-gugula-white-color   { color: #FFFFFF; } .has-gugula-white-background-color   { background-color: #FFFFFF; }

/* ── QQ 群列表（多群手风琴：每个群独立展开二维码） ── */
.qq-groups {
  display: flex; flex-direction: column; gap: 10px;
  width: 100%;
  max-height: min(52vh, 460px);   /* 群很多时弹窗内滚动，不撑破屏幕 */
  overflow-y: auto;
  padding: 2px 4px 2px 2px;
  scrollbar-width: thin;
}
.qq-groups .qq-num-btn { width: 100%; }
.qq-groups .qq-num-btn span:first-child {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* 只有一个群时恢复单群的紧凑布局 */
.qq-groups:has(.qq-group:only-child) { max-height: none; overflow: visible; }
