/*
主题样式：门户版式参照星岛环球网三栏结构；配色取客户 Logo 品牌红（#FF0000，导航底色为其加深版）。
正文固定字号字体 + 两端对齐；PC / 平板 / 手机响应式。
*/
:root {
	--xd-blue: #c80000;      /* 导航条 / 版块标题底色 */
	--xd-blue-2: #ff0000;    /* Logo 原色：强调、hover */
	--xd-red: #ff0000;
	--xd-orange: #ef9524;
	--xd-txt: #1a1a1a;
	--xd-txt-2: #6e6e6e;
	--xd-line: #e5e5e5;
	--xd-bg: #f5f8fa;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.65;
	color: var(--xd-txt);
	background: #fff;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--xd-red); }
img { display: block; max-width: 100%; height: auto; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3 { margin: 0; font-weight: 700; }

.xd-wrap { width: 1200px; max-width: 100%; margin: 0 auto; padding: 0 12px; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* ---------------- 顶栏 ---------------- */
.xd-top { border-bottom: 2px solid var(--xd-blue); background: #fff; }
/* 三列：Logo 与站名靠左、日期在版面正中、工具靠右 */
.xd-top__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 14px 0 10px; }
.xd-logo { grid-column: 1; grid-row: 1; justify-self: start; display: flex; align-items: center; gap: 10px; }
.xd-logo__date { grid-column: 2; grid-row: 1; justify-self: center; font-size: 15px; color: var(--xd-txt-2); letter-spacing: 1px; white-space: nowrap; }
.xd-tools { grid-column: 3; grid-row: 1; justify-self: end; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.xd-logo img, .xd-logo .custom-logo { max-height: 78px; width: auto; }
.xd-logo__mark { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 36px; background: var(--xd-blue); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 1px; }
.xd-logo__text { display: inline-flex; flex-direction: column; align-items: stretch; }
.xd-logo__name { font-size: 30px; line-height: 1.2; margin: 0; letter-spacing: 0; text-align: justify; text-align-last: justify; }
.xd-logo__en { font-size: 13px; font-weight: 700; color: #0058a0; line-height: 1.5; letter-spacing: .2px; white-space: nowrap; }
.xd-logo__name a { color: var(--xd-blue); }
/* 副标语相对上面「国际云媒 / 英文」两行居中，不是相对网页居中 */
.xd-logo__sub { font-size: 12px; color: var(--xd-txt-2); letter-spacing: 3px; margin-top: 3px; text-align: center; text-indent: 3px; }

.xd-search { display: flex; border: 1px solid var(--xd-blue); }
.xd-search input { border: 0; outline: 0; padding: 7px 10px; width: 200px; font: inherit; font-size: 13px; }
.xd-search button { border: 0; background: var(--xd-blue); color: #fff; padding: 0 16px; font: inherit; font-size: 13px; cursor: pointer; }

.xd-lang { display: flex; border: 1px solid var(--xd-line); }
.xd-lang a { padding: 6px 12px; font-size: 13px; color: var(--xd-txt-2); }
.xd-lang a + a { border-left: 1px solid var(--xd-line); }
.xd-lang a.on { background: var(--xd-blue); color: #fff; }

/* 导航：区域频道与内容分类合并在同一条红色导航栏，12 列等宽格子对齐 */
.xd-nav { background: var(--xd-blue); }
.xd-nav__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.xd-nav__list { display: contents; }
.xd-nav__list > li { position: relative; min-width: 0; }
.xd-nav__list > li > a {
  display: block; color: #fff; font-size: 15px; text-align: center;
  padding: 10px 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.xd-nav__list > li:hover > a, .xd-nav__list > li.current-menu-item > a, .xd-nav__list > li.current-cat > a { background: var(--xd-red); color: #fff; }
.xd-nav__list .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 150px; background: #fff; border: 1px solid var(--xd-line); z-index: 40; }
.xd-nav__list li:hover .sub-menu { display: block; }
.xd-nav__list .sub-menu a { display: block; padding: 8px 12px; font-size: 13px; color: var(--xd-txt); border-bottom: 1px solid var(--xd-line); }

/* ---------------- 广告位 ---------------- */
.xd-adgroup { margin: 12px 0; }
.xd-adgroup--banner, .xd-adgroup--between { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.xd-adgroup--banner .xd-ad--w2, .xd-adgroup--between .xd-ad--w2 { grid-column: 1 / -1; }
.xd-adgroup--stack { display: flex; flex-direction: column; gap: 12px; }
.xd-adgroup--single { display: block; }
.xd-ad { margin: 0; text-align: center; }
.xd-ad img { margin: 0 auto; width: 100%; height: auto; }
/* 版块间穿插：所有位置同一尺寸，一格 1176×120、拆两格各 582×120；图不符时按比例裁切不变形 */
.xd-adgroup--between .xd-ad img { height: 120px; object-fit: cover; }
@media (max-width: 900px) { .xd-adgroup--between .xd-ad img { height: 90px; } }

/* ---------------- 首屏三栏 ---------------- */
.xd-hero { display: grid; grid-template-columns: 480px 1fr 280px; gap: 16px; padding: 14px 0; align-items: start; }
.xd-hero__left { min-width: 0; }
.xd-layout { display: grid; grid-template-columns: 1fr 300px; gap: 22px; padding: 14px 0; align-items: start; }
.xd-main-col { min-width: 0; }
.xd-side { min-width: 0; }
.xd-side > * + * { margin-top: 14px; }

/* ---------------- 轮播 ---------------- */
.xd-carousel { position: relative; height: 420px; overflow: hidden; background: #000; border: 1px solid var(--xd-line); }
.xd-carousel__slide { position: absolute; inset: 0; display: flex; align-items: flex-end; opacity: 0; transition: opacity .6s; }
.xd-carousel__slide.on { opacity: 1; }
.xd-carousel__thumb, .xd-carousel__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.xd-carousel__cap { position: relative; width: 100%; padding: 40px 14px 12px; background: linear-gradient(transparent, rgba(0,0,0,.8)); color: #fff; font-size: 19px; font-weight: 700; line-height: 1.35; }
.xd-carousel__meta { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; opacity: .85; }
.xd-carousel__tag { position: absolute; left: 0; top: 0; z-index: 3; background: var(--xd-red); color: #fff; font-size: 12px; padding: 3px 9px; }
.xd-carousel__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 30px; height: 46px; border: 0; background: rgba(0,0,0,.3); color: #fff; font-size: 18px; cursor: pointer; }
.xd-carousel__arrow--l { left: 0; }
.xd-carousel__arrow--r { right: 0; }
.xd-carousel__nav { position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; gap: 6px; }
.xd-carousel__nav i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; }
.xd-carousel__nav i.on { background: #fff; }
.xd-carousel img { display: block; }

/* ---------------- 版块 ---------------- */
.xd-block { border: 1px solid var(--xd-line); background: #fff; }
.xd-block__hd { display: flex; align-items: center; padding: 0 12px; border-bottom: 2px solid var(--xd-blue); }
.xd-block__hd h2 { font-size: 18px; padding: 8px 0; color: var(--xd-blue); }
.xd-block__hd h2::before { content: ""; display: inline-block; width: 4px; height: 16px; margin-right: 8px; vertical-align: -2px; background: var(--xd-red); }
.xd-block__more { margin-left: auto; font-size: 12px; color: var(--xd-txt-2); }
.xd-block__bd { padding: 10px 12px; }
.xd-block__empty { color: var(--xd-txt-2); font-size: 13px; }

/* 栏目图片窗口：取该栏目最新发布文章的图片 */
.xd-lead { display: block; margin-bottom: 10px; }
.xd-lead__img { display: block; height: 168px; overflow: hidden; background: var(--xd-bg); }
.xd-lead__img img { width: 100%; height: 100%; object-fit: cover; }
.xd-lead__img--empty { display: flex; align-items: center; justify-content: center; color: #9aa7b4; font-size: 15px; letter-spacing: 2px; background: repeating-linear-gradient(45deg, #f7fafc, #f7fafc 9px, #eef3f8 9px, #eef3f8 18px); }
.xd-lead__t { display: block; font-size: 15px; font-weight: 700; line-height: 1.45; margin-top: 7px; }
.xd-lead:hover .xd-lead__t { color: var(--xd-red); }
.xd-block--picks, .xd-block--related { margin-top: 14px; }

/* ---------------- 列表 ---------------- */
.xd-list li { padding: 7px 0; border-bottom: 1px dashed var(--xd-line); }
.xd-list li:last-child { border-bottom: 0; }
.xd-list a { display: flex; gap: 10px; align-items: flex-start; }
.xd-item__thumb { flex: 0 0 96px; height: 64px; overflow: hidden; background: var(--xd-bg); }
.xd-item__thumb img { width: 100%; height: 100%; object-fit: cover; }
.xd-item__text { flex: 1; min-width: 0; }
.xd-item__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; font-weight: 700; line-height: 1.45; }
.xd-item__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 3px; font-size: 12px; color: var(--xd-txt-2); }
.xd-item__meta { display: block; margin-top: 3px; font-size: 12px; color: #999; }
.xd-list--dot li { position: relative; padding: 6px 0 6px 13px; }
.xd-list--dot li::before { content: ""; position: absolute; left: 0; top: 14px; width: 5px; height: 5px; background: var(--xd-blue-2); }
.xd-list--dot li:first-child::before { background: var(--xd-red); }
.xd-list--dot .xd-item__title { font-size: 14px; font-weight: 400; -webkit-line-clamp: 1; }
.xd-list--big > li:first-child .xd-item__title { font-size: 17px; -webkit-line-clamp: 3; }
.xd-list--page li { padding: 14px 0; }
.xd-list--page .xd-item__thumb { flex-basis: 150px; height: 96px; }
.xd-list--page .xd-item__title { font-size: 17px; }

/* ---------------- 栅格版块 ---------------- */
.xd-grid { display: grid; gap: 16px; margin-top: 14px; }
.xd-grid--2 { grid-template-columns: 1fr 1fr; }
.xd-grid--3 { grid-template-columns: repeat(3, 1fr); }
.xd-grid > .xd-block { min-width: 0; }

/* ---------------- 侧栏组件 ---------------- */
.xd-widget__title { font-size: 17px; color: var(--xd-blue); border-bottom: 2px solid var(--xd-blue); padding-bottom: 6px; margin-bottom: 8px; }
.xd-widget__title span::before { content: ""; display: inline-block; width: 4px; height: 15px; margin-right: 8px; vertical-align: -2px; background: var(--xd-red); }
.xd-widget { margin-bottom: 16px; }

.xd-ticker { height: 216px; overflow: hidden; position: relative; }
.xd-ticker__track { position: absolute; inset: 0; animation: xd-roll 22s linear infinite; }
.xd-ticker:hover .xd-ticker__track { animation-play-state: paused; }
@keyframes xd-roll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.xd-ticker a { display: block; padding: 7px 12px; border-bottom: 1px dashed var(--xd-line); font-size: 13px; }
.xd-ticker a em { display: block; font-style: normal; font-size: 11px; color: #999; }

.xd-rank { counter-reset: xdr; }
.xd-rank li { counter-increment: xdr; position: relative; padding: 8px 12px 8px 40px; border-bottom: 1px dashed var(--xd-line); font-size: 13px; }
.xd-rank li:last-child { border-bottom: 0; }
.xd-rank li::before { content: counter(xdr); position: absolute; left: 12px; top: 9px; width: 18px; height: 18px; background: var(--xd-txt-2); color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center; }
.xd-rank li:nth-child(-n+3)::before { background: var(--xd-red); }

/* ---------------- 文章内视频播放器 ---------------- */
.xd-video { margin: 16px 0; }
.xd-video video { width: 100%; max-height: 520px; background: #000; }
.xd-video--embed { position: relative; padding-top: 56.25%; }
.xd-video--embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------------- 文章页 ---------------- */
.xd-crumb { font-size: 13px; color: var(--xd-txt-2); padding: 6px 0; }
.xd-page-title { font-size: 22px; color: var(--xd-blue); border-bottom: 2px solid var(--xd-blue); padding: 6px 0 8px; margin-bottom: 6px; }
.xd-single__title { font-size: 28px; line-height: 1.4; margin: 6px 0 10px; }
.xd-single__meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; color: var(--xd-txt-2); border-bottom: 1px solid var(--xd-line); padding-bottom: 10px; margin-bottom: 6px; }
.xd-single__cover { margin: 14px 0; }
.xd-single__body { font-size: 17px; line-height: 2; }

/* 固定排版：正文两端对齐（需求 4） */
.xd-content { font-size: 17px; line-height: 2; text-align: justify; }
.xd-content p { margin: 14px 0; text-align: justify; }
.xd-content h2 { font-size: 22px; margin: 22px 0 10px; }
.xd-content h3 { font-size: 19px; margin: 20px 0 8px; }
.xd-content img { margin: 14px auto; }
.xd-content figure { margin: 16px 0; }
.xd-content figcaption { font-size: 12px; color: var(--xd-txt-2); text-align: center; margin-top: 4px; }
.xd-content a { color: var(--xd-blue-2); text-decoration: underline; }
.xd-content ul { list-style: disc inside; margin: 12px 0; }
.xd-content ol { list-style: decimal inside; margin: 12px 0; }
.xd-content blockquote { margin: 16px 0; padding: 10px 14px; background: var(--xd-bg); border-left: 4px solid var(--xd-orange); }
.xd-content table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 15px; }
.xd-content th, .xd-content td { border: 1px solid var(--xd-line); padding: 7px 10px; }
.xd-content th { background: var(--xd-bg); }

.xd-prevnext { display: flex; justify-content: space-between; gap: 14px; font-size: 13px; color: var(--xd-txt-2); border-top: 1px solid var(--xd-line); margin-top: 16px; padding-top: 12px; }
.xd-pagenav { margin: 16px 0; text-align: center; }
.xd-subcats { padding: 6px 0 10px; font-size: 13px; color: var(--xd-txt-2); }
.xd-chip { display: inline-block; margin: 2px 6px 2px 0; padding: 3px 10px; border: 1px solid var(--xd-line); font-size: 13px; color: var(--xd-txt-2); }
.xd-chip.on, .xd-chip:hover { border-color: var(--xd-blue); color: var(--xd-blue); }
.xd-catdesc { font-size: 13px; color: var(--xd-txt-2); margin-bottom: 8px; }

.pagination, .xd-pagination { display: flex; gap: 6px; justify-content: center; margin: 20px 0; flex-wrap: wrap; }
.page-numbers { display: inline-block; padding: 6px 12px; border: 1px solid var(--xd-line); font-size: 13px; }
span.page-numbers.current { background: var(--xd-blue); border-color: var(--xd-blue); color: #fff; }

/* ---------------- 页脚 ---------------- */
.xd-foot { background: var(--xd-bg); border-top: 3px solid var(--xd-blue); margin-top: 20px; padding: 18px 0; font-size: 12px; color: var(--xd-txt-2); }
.xd-foot__disclaim { text-align: justify; line-height: 1.8; border-top: 1px dashed #d5dbe2; padding-top: 10px; margin: 0 0 8px; }
.xd-foot__copy { text-align: center; margin: 0; color: #999; }
.xd-foot__nav { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.xd-foot__nav ul { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

/* ---------------- 响应式 ---------------- */
@media (max-width: 1200px) {
	.xd-hero { grid-template-columns: 1fr 300px; }
	.xd-hero > .xd-block:nth-child(2) { grid-column: 1; }
}
@media (max-width: 900px) {
	.xd-top__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
	.xd-logo, .xd-tools, .xd-logo__date { grid-column: auto; grid-row: auto; justify-self: auto; }
	.xd-logo__date { order: 3; width: 100%; font-size: 13px; }
	.xd-hero, .xd-layout { grid-template-columns: 1fr; }
	.xd-grid--2, .xd-grid--3 { grid-template-columns: 1fr 1fr; }
	.xd-carousel { height: 220px; }
	.xd-carousel__cap { font-size: 16px; }
	.xd-nav__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.xd-nav__list > li > a { padding: 9px 3px; font-size: 13px; }
	.xd-search input { width: 140px; }
	.xd-logo__name { font-size: 19px; letter-spacing: 1px; }
	.xd-logo img { max-height: 42px; }
	.xd-single__title { font-size: 21px; }
	.xd-content, .xd-single__body { font-size: 16px; line-height: 1.85; }
	.xd-tools { width: 100%; margin-left: 0; }
	.xd-search { flex: 1; }
	.xd-list--page .xd-item__thumb { flex-basis: 110px; height: 74px; }
}
@media (max-width: 520px) {
	.xd-grid--2, .xd-grid--3 { grid-template-columns: 1fr; }
	.xd-top__bar { padding: 10px 0 8px; }
	.xd-logo__sub { display: none; }
}

.xd-foot__cite { text-align: justify; line-height: 1.8; margin: 0 0 8px; color: var(--xd-txt); }
.xd-foot__cite a { color: inherit; text-decoration: none; }

/* 首页报头带（集团旗下报纸头版，可关闭不留白） */
.xd-paper { display: block; margin: 12px 0 0; border: 1px solid var(--xd-line); background: #fff; line-height: 0; }
.xd-paper img { width: 100%; height: auto; display: block; }
.xd-paper:hover { border-color: var(--xd-blue-2); }
@media (max-width: 900px) { .xd-paper { margin-top: 8px; } }
