/* 党务公开列表默认态与悬停激活态，尺寸对应 Figma 的 1920px 画布。 */
.party-affairs-main { position: relative; width: 1920px; margin: 0 auto; padding: 60px 0 100px; }
/* 中轴线从第一条记录顶部延伸到最后一条记录底部，高度随记录数量自动变化。 */
.party-affairs-main::before { position: absolute; top: 60px; bottom: 196px; left: 400px; width: 1px; content: ""; background: #ddd; }
/* 空提示可能位于嵌套组件内，同时关闭当前容器及外层容器的时间线，保留原有内边距。 */
.party-affairs-main.is-empty::before,
.party-affairs-main:has(.party-affairs-empty)::before { display: none; content: none; }
.party-affairs-item { position: relative; z-index: 1; width: 1220px; height: 100px; margin: 0 0 40px 460px; padding-left: 40px; display: flex; align-items: center; border: 1px solid #ddd; background: #fff; box-sizing: border-box; }
/* 默认态卡片左侧为一条短连接线。 */
.party-affairs-item::before { position: absolute; top: 49px; left: -60px; width: 40px; height: 1px; content: ""; background: #165c91; }
/* 右侧装饰只在悬停激活态显示。 */
/* 右侧装饰只在激活态显示，查看详情文字位于装饰条左侧。 */
.party-affairs-item::after { position: absolute; top: 30px; right: -240px; width: 308px; height: 40px; content: ""; pointer-events: none; opacity: 0; background: url("../images/party-affairs-list-right.png") center / 308px 40px no-repeat; }
.party-affairs-date { position: absolute; right: calc(100% + 100px); width: 90px; color: #333; text-align: right; }
.party-affairs-date strong { display: block; font-size: 30px; font-weight: 400; line-height: 42px; }
.party-affairs-date span { display: block; font-size: 16px; line-height: 22px; }
.party-affairs-item a { position: relative; z-index: 1; color: #333; font-size: 18px; line-height: 25px; }
.party-affairs-detail { position: absolute; top: 0; right: 92px; height: 100%; color: #165c91; font-size: 16px; line-height: 100px; white-space: nowrap; opacity: 0; pointer-events: none; }
/* 悬停态使用 Figma 左侧装饰图、白色日期和蓝色标题。 */
.party-affairs-item:hover,
.party-affairs-item:focus-within { background: #fff; }
.party-affairs-item:hover::before,
.party-affairs-item:focus-within::before { top: 0; left: -460px; width: 420px; height: 100px; background: url("../images/party-affairs-list-left.png") left center / 420px 100px no-repeat; }
.party-affairs-item:hover::after,
.party-affairs-item:focus-within::after { opacity: 1; }
.party-affairs-item:hover .party-affairs-date,
.party-affairs-item:focus-within .party-affairs-date { color: #fff; }
.party-affairs-item:hover a,
.party-affairs-item:focus-within a { color: #165c91; }
.party-affairs-item:hover .party-affairs-detail,
.party-affairs-item:focus-within .party-affairs-detail { opacity: 1; }
.party-affairs-pagination { position: relative; z-index: 1; margin: 60px auto 0; display: flex; align-items: center; justify-content: center; gap: 22px; color: #333; font-size: 16px; }
.party-affairs-pagination a { color: inherit; }
.party-affairs-pagination .current { width: 34px; height: 20px; color: #fff; text-align: center; line-height: 20px; background: #165c91; }
.party-affairs-pagination label { display: flex; align-items: center; gap: 8px; margin-left: 10px; }
.party-affairs-pagination input { width: 80px; height: 36px; padding: 0 8px; border: 1px solid #ddd; box-sizing: border-box; }
.party-affairs-page .site-footer { margin-top: 0; border-top: 6px solid var(--blue); }
/* 手机端按项目规则纵向排列，并隐藏桌面装饰线。 */
html.is-mobile .party-affairs-main { width: auto; margin: 0 16px; padding: 40px 0 56px; }
html.is-mobile .party-affairs-main::before { display: none; }
html.is-mobile .party-affairs-item { width: auto; height: auto; min-height: 84px; margin: 0 0 16px; padding: 18px 16px 18px 112px; }
html.is-mobile .party-affairs-item::before { display: none; }
html.is-mobile .party-affairs-item::after { display: none; }
html.is-mobile .party-affairs-detail { display: none; }
html.is-mobile .party-affairs-item:hover,
html.is-mobile .party-affairs-item:focus-within { background: #fff; }
html.is-mobile .party-affairs-item:hover::before,
html.is-mobile .party-affairs-item:focus-within::before { display: none; }
html.is-mobile .party-affairs-date { left: 16px; right: auto; width: 80px; text-align: left; }
html.is-mobile .party-affairs-date strong { font-size: 24px; line-height: 32px; }
html.is-mobile .party-affairs-date span { font-size: 14px; line-height: 20px; }
html.is-mobile .party-affairs-item a,
html.is-mobile .party-affairs-item:hover a,
html.is-mobile .party-affairs-item:focus-within a { color: #333; font-size: 16px; line-height: 26px; }
html.is-mobile .party-affairs-item:hover .party-affairs-date,
html.is-mobile .party-affairs-item:focus-within .party-affairs-date { color: #333; }
html.is-mobile .party-affairs-pagination { flex-wrap: wrap; gap: 14px; margin-top: 36px; font-size: 14px; }
html.is-mobile .party-affairs-pagination label { width: 100%; justify-content: center; margin-left: 0; }
