/* 模板结构兜底样式（template-fallback）
 * 用途：当用户先应用「人大政务风/医院青绿风」模板、再切换到其它普通配色主题时，
 *       为模板遗留在DIY布局中的专用结构提供「中性基础样式」，保证布局不塌陷、面板不堆叠，
 *       实现「主题配色只改颜色、不改样式」。
 * 说明：
 *   1. 本文件仅在非模板主题（即非 gov-rd / hospital-ah）时由 TemplateEngine 条件加载；
 *      因此对模板主题下的既有表现零影响。
 *   2. 仅含布局/显示隐藏/尺寸等结构属性，配色采用中性蓝（#0d6efd），
 *      各主题如需定制颜色可自行在对应主题CSS中追加覆盖。
 * 适配环境：PHP 7.4 ~ 8.2，所有前端页面
 */
/* ===== 通用：模块标题条（标题 + 「更多」链接左右排布） =====
 * 说明：articles 等模块自带 #id 内联样式，此处仅兜底 safe_html / image_carousel 等无内联样式的模块 */
.diy-render-row .al-module-head,
.diy-nested-row .al-module-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    min-height: 28px;
}
.diy-render-row .al-module-head h3,
.diy-nested-row .al-module-head h3 {
    flex: 1;
    min-width: 0;
    margin: 0;
}
.diy-render-row .al-module-head .al-module-more,
.diy-nested-row .al-module-head .al-module-more {
    flex-shrink: 0;
    color: #888;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
}
.diy-render-row .al-module-head .al-module-more:hover,
.diy-nested-row .al-module-head .al-module-more:hover {
    color: #0d6efd;
}

/* ===== 乡镇人大 Tab（人大政务风模板遗留结构） =====
 * 关键：.town-pane 默认隐藏、激活面板才显示，防止12个乡镇面板全部堆叠 */
.module-tabs .town-pane { display: none; }
.module-tabs .town-pane.active { display: block; }
.module-tabs .town-tabs-bar {
    display: flex;
    flex-wrap: nowrap;
    overflow: visible;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 12px;
}
.module-tabs .town-tab {
    position: relative;
    flex-shrink: 0;
    display: inline-block;
    padding: 8px 18px;
    color: #333;
    background: #f8f9fa;
    border: 1px solid #e5e5e5;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.module-tabs .town-tab:hover { color: #0d6efd; }
.module-tabs .town-tab.on { color: #fff; background: #0d6efd; border-color: #0d6efd; }
.module-tabs .town-tab .triangle { display: none; }
.module-tabs .town-tabs-body { min-height: 60px; }
/* 乡镇列表（两列 + 虚线分隔） */
.module-tabs .town-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 14px;
    margin-top: 12px;
}
.module-tabs .town-cols .town-list { margin: 0; padding: 0; }
.module-tabs .town-cols .town-list + .town-list {
    border-left: 1px dashed #e5e5e5;
    padding-left: 14px;
}
.module-tabs .town-list { list-style: none; margin: 8px 0 0; padding: 0; }
.module-tabs .town-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 24px;
    padding: 8px 0;
    border-bottom: 1px dashed #eee;
}
.module-tabs .town-list li a {
    flex: 1;
    min-width: 0;
    color: #333;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.module-tabs .town-list li a:hover { color: #0d6efd; }
.module-tabs .town-list li .date {
    flex-shrink: 0;
    color: #999;
    font-size: 13px;
}

/* ===== 主任之窗 / 人大代表信息库 右侧卡片（人大政务风模板遗留结构） ===== */
.gov-side-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 10px 12px;
    box-sizing: border-box;
}
.gov-side-card .zrzc-t {
    text-align: center;
    background: #0d6efd;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 40px;
    height: 40px;
    letter-spacing: 2px;
    margin-bottom: 10px;
    border-radius: 3px;
    flex-shrink: 0;
}
.gov-side-card .zrzc-c { flex: 1; padding: 2px; }
.gov-side-card .zrzc-c p { margin: 3px 0; font-size: 14px; line-height: 28px; color: #333; }
.gov-side-card .zrzc-c p span { color: #0d6efd; }
.gov-side-card .zrzc-c p.zrzc-name { font-size: 18px; font-weight: 400; }
.gov-side-card .zrzc-c p.zrzc-name a { color: #333; text-decoration: none; }
.gov-side-card .zrzc-c p.zrzc-name a:hover { color: #0d6efd; }
.gov-side-card .zrzc-img { text-align: center; margin-top: 10px; flex-shrink: 0; }
.gov-side-card .zrzc-img a { display: block; }
.gov-side-card .zrzc-img img {
    max-width: 70%;
    border: 1px solid #e5e5e5;
    background: #fff;
    margin: 4px 0;
}
.gov-side-card .zrzc-links { margin-top: 8px; }
.gov-side-card .zrzc-links .indexr-an {
    display: block;
    text-align: center;
    background: #f5f6f8;
    margin-bottom: 10px;
    padding: 14px 0;
    color: #333;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.4;
    transition: background 0.2s;
}
.gov-side-card .zrzc-links .indexr-an:hover { background: #ededed; }
.gov-side-card .zrzc-links .indexr-an .bi { margin-right: 6px; color: inherit; }

/* ===== 嵌套行容器（医院青绿风模板遗留结构） =====
 * 说明：背景/圆角已由各配色主题的 .diy-render-row 提供，此处仅补内边距防模块贴边 */
.diy-nested-row {
    padding: 16px 14px 10px;
}

/* ===== 专家介绍 / 专题专栏轮播（医院青绿风模板遗留结构） =====
 * 说明：卡片/箭头等样式由模块自身内联CSS处理，此处仅补基础内边距防贴边 */
.module-image-carousel.doc-box,
.module-image-carousel.zt-owl {
    padding: 8px 6px 12px;
}
