/* newselastica — com_content component styles (replicates ja_elastica component.css + blog/article) */

/* BLOG FEATURED / CATEGORY */
.com-content #ja-content-main .blog-featured,
.com-content #ja-content-main .blog {
	margin: 0; padding: 0; background: none; border: 0; box-shadow: none;
}

.items-leading { padding: 0; margin: 0; }
.items-leading .leading { padding: 1em 0; }
.items-leading .leading:first-child { padding-top: 0; }
.leading .contentpaneopen { padding: 1.5em; }

.items-row { padding: 0; margin: 0; }
.items-row .item { float: none; width: 100% !important; padding: 0 0 2em 0; }
.blog-item { float: none; width: 100% !important; padding: 0 0 2em 0; }
.items-row .item .contentpaneopen,
.blog-item .contentpaneopen {
	padding: 1em; font-size: 15px;
	background: #FFF; border-top: 1px solid #E6E6E6;
	position: relative; min-height: 0;
}
.items-row .item .contentpaneopen::after,
.blog-item .contentpaneopen::after { content: ""; display: table; clear: both; }

.contentpaneopen { font-size: 15px; }
.contentpaneopen .contentheading { margin: 0 0 18px; padding: 0; font-size: 18px; font-weight: 400; color: #333; line-height: 1.2; }
.item .contentpaneopen { min-height: 0; }

/* ARTICLE */
.item-page {
	background: #FFF; border-top: 1px solid #E6E6E6;
	padding: 1.5em; font-size: 16px; min-height: 1019px;
	position: relative;
}
/* 含"上页/下页"的文章: 加大卡片底部留白, 让分页上方/下方间距对齐旧站截图 (上≈23px, 下≈42px)
   原因: ul.pagenav 在 DOM 中位于正文与反馈表单之前, 只能靠 position:absolute 钉在卡片底边,
   其上方间距只能由 .item-page 的 padding-bottom 撑开 (padding 越大卡片底边越靠下, 分页随之整体下移) */
.item-page:has(ul.pagenav) { padding-bottom: 57px; }
.item-page h2.contentheading { margin: 0 0 1em; }
/* 文章标题字号/行高对齐旧站实测值 (旧站 ja_elastica + T3 base-theme):
   旧站文章标题 = <h2 class="contentheading">, 命中 h1.contentheading,h2.contentheading(0,1,1){font-size:1.55em}
   + base-theme {line-height:1.2}; 旧的 .contentheading{font-size:2.25em}(0,1,0) 被 (0,1,1) 盖掉, 从不生效。
   新站若写 .item-page 前缀会升到 (0,2,0) 反而让 2.25em 生效 → 1200px 实测 36px/行高1.6/换两行 (旧站 24.8px/1.2/单行)。
   故此处显式对齐: font-size:1.55em (16px 基数 → 24.8px), line-height:1.2 (→29.76px)。
   手机端(≤590px)再由 responsive.css 的 .contentheading{font-size:1.2em!important} 降为 19.2px, 与旧站一致 */
.item-page .contentheading { font-size: 1.55em; line-height: 1.2; }

/* ARTICLE INFO */
.article-tools {
	margin: 0; padding: 0;
	font-size: 13.125px; color: #999;
}
dl.article-info { margin: 0 0 6px; padding: 0; width: 90%; font-size: 13.125px; }
dl.article-info dd, dl.article-info dt { margin: 0; padding: 0 5px 0 0; display: inline; }
dl.article-info a { color: #333; border-bottom: 1px solid #EEE; }
dl.article-info span { color: #333; }
dl.article-info dt.article-info-term { display: none; }

/* READMORE — 复刻旧站 p.readmore{ margin:0em !important; } (旧站无 clear:both)
   不能加 clear:both: 否则按钮被强制压到右侧浮动缩略图下方, 正文短时产生大片空白;
   去掉后按钮紧贴正文末尾, 随正文高度上下浮动 (容器靠 ::after{clear:both} 收拢浮动) */
p.readmore { margin: 0 !important; }
p.readmore a {
	background: url(../images/readmore-bg.png) no-repeat right top;
	color: #FFF; display: block; float: left;
	font-size: .85em; line-height: 30px;
	padding: 0 1em; padding-right: 1.5em; text-transform: uppercase;
}
p.readmore a:hover { background-position: right bottom; }

/* PAGINATION */
.pagination.pagination-toolbar {
	margin: 1em 0; position: relative;
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
/* 按钮容器(nav.pagination__wrapper)和右侧跳转框 作为 flex 兄弟 */
.pagination.pagination-toolbar > .pagination__wrapper {
	display: inline-flex; margin: 0;
}
.pagination.pagination-toolbar > .pagination__wrapper ul.pagination {
	list-style: none; margin: 0; padding: 0;
	display: inline-flex; gap: 4px; flex-wrap: wrap;
}
.pagination li { display: inline-block; }
.pagination li a, .pagination li span {
	display: inline-block; padding: 4px 10px;
	border: 1px solid #ddd; background: #fff;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.pagination li a:hover, .pagination li a:focus {
	background: #006599; color: #fff; border-color: #006599;
	text-decoration: none;
}
.pagination li.disabled span:hover { background: #fff; }
.pagination li .active a, .pagination li .active span,
.pagination li.active a, .pagination li.active a:hover {
	background: #006599; color: #fff; border-color: #006599;
}

/* 隐藏旧的 "第 X 页 共 Y 页" counter (用新的 X/Y 替代) */
.counter,
.com-content-category__counter,
.com-content-category-blog__counter,
.com-content-archive__counter { display: none !important; }

/* 右侧: 当前页/总页数 + 跳转 */
.pag-goto {
	margin-left: auto; display: inline-flex; align-items: center; gap: 6px;
	font-size: 13px; color: #666; white-space: nowrap;
}
.pag-counter {
	display: inline-block; padding: 4px 10px;
	border: 1px solid #ddd; background: #f7f7f7;
	font-weight: 600; color: #333;
}
.pag-goto-inner { display: inline-flex; align-items: center; gap: 4px; }
.pag-input {
	width: 56px; padding: 4px 6px;
	border: 1px solid #ddd; border-radius: 2px;
	font-size: 13px; text-align: center;
}
.pag-btn {
	padding: 4px 10px; border: 1px solid #006599; background: #006599; color: #fff;
	cursor: pointer; font-size: 13px; border-radius: 2px;
}
.pag-btn:hover { background: #005580; border-color: #005580; }

/* ARTICLE PAGENAV ("上页 / 下页") — 复刻旧站 ul.pagenav
   来源: T3 base-theme (合并进 t3-assets/css_db12f.css):
     .pagination ul,ul.pagenav{float:left;margin:10px 0;} ul.pagenav{clear:both;}
     .pagination ul li,ul.pagenav li{background:none;display:block;float:left;margin:0;overflow:hidden;padding:0;}
     .pagination ul li span.pagenav,.pagination ul li a.pagenav,ul.pagenav li a{padding:0 5px;}
   + ja_elastica/css/layout.css: ul.pagenav{width:100%;} ul.pagenav .pagenav-next{float:right;}
   链接色 #006599 来自 template.css 的 a{} 全局规则, 与旧站截图实测一致 (旧站截图文字色采样 = #006599)
   markup 由模板覆盖 templates/newselastica/html/plg_content_pagenavigation/default.php 产出 */
ul.pagenav { float: left; clear: both; width: 100%; margin: 10px 0; padding: 0; list-style: none; bottom: 28px; }
ul.pagenav li { background: none; display: block; float: left; margin: 0; overflow: hidden; padding: 0; }
ul.pagenav li a { padding: 0 5px; }
ul.pagenav .pagenav-next { float: right; }

/* ITEMS MORE */
.items-more { border-bottom: 1px solid #ccc; padding: 0 0 5px; }
.items-more h3 { font-size: 125%; }
.items-more ol { margin-left: 20px; }

/* SUB CATEGORIES */
.cat-children { margin: 1em 0; padding: 1.5em; }
.cat-children h3 { margin: 0; }
.cat-children ul li { background: none; border-top: 1px solid #DDD; padding: 1em 0; }

/* TOC */
table.contenttoc { border: 1px solid #ccc; margin: 0 0 1em 1em; }
table.contenttoc td { border-bottom: 1px dotted #ccc; }
table.contenttoc th { background: #f6f6f6; border-bottom: 1px solid #ccc; text-transform: uppercase; }

/* IMAGE FLOAT — 文章详情页与列表页均按旧站规则浮动 (旧站桌面 = 右浮动) */
.img-intro-left, .img-fulltext-left { float: left; margin: 0 1em 1em 0; }
.img-intro-right, .img-fulltext-right { float: right; margin: 0 0 1em 1em; }
.img-intro-none, .img-fulltext-none { display: block; margin: 1em 0; }

/* 列表页/首页缩略图: 浮动容器宽度 40% (左文:右图 = 6:4, 随卡片内宽自适应, 各断点统一)
   宽度百分比必须加在浮动容器上 —— 加在 img 上会因 float 收缩包裹(shrink-to-fit)自引用而失效
   (≤985px 由 responsive.css 改为全宽, 对标旧站 layout-tablet/mobile) */
.blog-item .img-intro-right, .blog-item .img-intro-left,
.blog-featured .img-intro-right, .blog-featured .img-intro-left,
.items-leading .img-intro-right, .items-leading .img-intro-left,
.items-row .img-intro-right, .items-row .img-intro-left {
    width: 40%;
}
/* 容器内图片撑满 40% 栏宽, 保持旧站 315×188 长宽比并归一化非标准尺寸图片 */
.blog-item .img-intro-right img,
.blog-item .img-intro-left img,
.blog-featured .img-intro-right img,
.blog-featured .img-intro-left img,
.items-leading .img-intro-right img,
.items-leading .img-intro-left img,
.items-row .img-intro-right img,
.items-row .img-intro-left img {
    width: 100%; height: auto; aspect-ratio: 315 / 188; object-fit: cover;
}

/* TAGS */
.tags { margin: 1em 0; }

/* SEARCH RESULTS (com_newsearch — 复刻旧站 com_search 结果页) */
.highlight { background: #ffffdd; font-weight: bold; padding: 1px 5px; }

.search .searchintro { margin: 1em 0; }
.search .search-results { margin: 1em 0; }
.search .search-results dt.result-title { font-size: 16px; font-weight: bold; margin-top: 1em; }
.search .search-results dd { margin: 0 0 0.4em 0; }
.search .search-results dd.result-category .small { color: #666; font-size: 13px; }
.search .search-results dd.result-text { line-height: 1.6; }
.search .search-results dd.result-created { color: #666; font-size: 13px; }
.search .search-results dd.result-created .small { color: #666; }
.search fieldset.word label { display: inline-block; margin-right: 0.5em; }
.search fieldset.phrases .phrases-box { float: left; margin-right: 2em; }
.search fieldset.phrases .ordering-box { float: left; }
.search fieldset.phrases legend { font-weight: bold; }
.search .form-limit { clear: both; padding-top: 0.5em; }
.search p.counter { color: #666; font-size: 13px; }
.search div.error { background: #fff3f3; border: 1px solid #ddd; color: #900; padding: 0.6em 1em; }

.tags .label { background: #006599; color: #fff; padding: 2px 8px; border-radius: 3px; font-size: .85em; }

/* EDIT ICONS */
ul.actions { float: right; margin: 0; padding: 0; list-style: none; }
ul.actions li { display: inline-block; margin-left: 5px; }
ul.actions li .icon-edit, ul.actions li .icon-print, ul.actions li .icon-email { cursor: pointer; }

/* SEPARATOR */
.item-separator { display: none; }
