/* ===================================================================
   重庆大渡口仁同肛肠医院 · rentong 模板 · 全站唯一样式表 v2
   说明：本文件替代 style.css / common.css / media.css / seo-pro.css
        / home-clean.css / theme.css 六份，避免与旧 wx 样式冲突。
   =================================================================== */

/* ---------- 1. 变量与色板 ---------- */
:root{
	--c-primary:#185fa5;
	--c-primary-d:#124b85;
	--c-primary-l:#0e7cc4;
	--c-cta:#d85a30;
	--c-cta-d:#bf4a24;
	--c-bg:#f5f9fc;
	--c-bg-2:#eef4fa;
	--c-line:#e3eaf2;
	--c-text:#1f2d3d;
	--c-text2:#5a6b7c;
	--c-text3:#8a97a6;
	--r:8px;
	--r-sm:6px;
	--shadow:0 2px 12px rgba(24,95,165,.08);
	--shadow-h:0 8px 24px rgba(24,95,165,.16);
	--w:1200px;
}

/* ---------- 2. Reset ---------- */
*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
	font:14px/1.7 "Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
	color:var(--c-text);background:#fff;
}
ul,ol{list-style:none;}
a{color:inherit;text-decoration:none;transition:color .2s;}
a:hover{color:var(--c-primary);}
img{border:0;max-width:100%;vertical-align:middle;}
h1,h2,h3,h4,h5{font-weight:600;line-height:1.4;}
em,i{font-style:normal;}
input,button,textarea{font-family:inherit;outline:none;}
table{max-width:100%;border-collapse:collapse;}
.rt-clr{clear:both;height:0;overflow:hidden;}
.rt-wrap{width:var(--w);margin:0 auto;}
.rt-hide{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* ---------- 3. 通用按钮 ---------- */
.rt-btn{
	display:inline-block;padding:0 22px;height:42px;line-height:42px;
	background:var(--c-cta);color:#fff;border-radius:var(--r-sm);
	font-size:15px;text-align:center;transition:.2s;border:0;cursor:pointer;
}
.rt-btn:hover{background:var(--c-cta-d);color:#fff;}
.rt-btn-blue{background:var(--c-primary);}
.rt-btn-blue:hover{background:var(--c-primary-d);color:#fff;}
.rt-btn-ghost{
	display:inline-block;padding:0 22px;height:42px;line-height:40px;
	border:1px solid var(--c-primary);color:var(--c-primary);
	border-radius:var(--r-sm);font-size:15px;background:#fff;
}
.rt-btn-ghost:hover{background:var(--c-primary);color:#fff;}

/* ---------- 4. 顶部信息条 ---------- */
.rt-topbar{background:var(--c-primary-d);color:#dce8f5;font-size:13px;}
.rt-tb-in{width:var(--w);margin:0 auto;height:36px;display:flex;align-items:center;justify-content:space-between;}
.rt-tb-le{display:flex;align-items:center;gap:18px;}
.rt-tb-item{display:inline-flex;align-items:center;gap:5px;}
.rt-tb-item .iconfont{font-size:14px;}
.rt-tb-tel{color:#ffd9c4;font-weight:600;font-size:14px;letter-spacing:.5px;}
.rt-tb-tel:hover{color:#fff;}
.rt-tb-ri{display:flex;gap:14px;}
.rt-tb-link{color:#dce8f5;}
.rt-tb-link:hover{color:#fff;}
.rt-tb-yuyue{
	background:var(--c-cta);color:#fff;padding:2px 12px;border-radius:12px;
}
.rt-tb-yuyue:hover{background:var(--c-cta-d);color:#fff;}

/* ---------- 5. 头部与主导航 ---------- */
.rt-header{background:#fff;box-shadow:var(--shadow);position:relative;z-index:60;}
.rt-hd-in{width:var(--w);margin:0 auto;height:88px;display:flex;align-items:center;justify-content:space-between;}
.rt-logo a{display:flex;align-items:center;gap:10px;}
.rt-logo img{height:44px;width:auto;display:block;}
.rt-logo-txt{font-size:16px;color:var(--c-primary);font-weight:700;letter-spacing:.5px;line-height:1.2;white-space:nowrap;}
.rt-logo-txt small{display:block;font-size:11px;color:var(--c-text3);font-weight:400;letter-spacing:1px;}

.rt-nav{display:flex;align-items:center;flex-shrink:0;}
.rt-nav>ul{display:flex;}
.rt-nav>ul>li{position:relative;}
.rt-nav>ul>li>a{
	display:block;padding:0 12px;height:88px;line-height:88px;
	font-size:15px;color:var(--c-text);position:relative;white-space:nowrap;
}
.rt-nav>ul>li>a:hover,.rt-nav>ul>li.on>a{color:var(--c-primary);}
.rt-nav>ul>li.on>a::after{
	content:"";position:absolute;left:16px;right:16px;bottom:0;
	height:3px;background:var(--c-primary);border-radius:2px;
}
/* 有下拉的项：右侧留出箭头空间，箭头与文字保持间距 */
.rt-nav>ul>li.has-sub>a{padding-right:26px;}
.rt-nav>ul>li.has-sub>a::before{
	content:"";position:absolute;right:12px;top:50%;margin-top:-2px;
	border:4px solid transparent;border-top-color:var(--c-text3);
}
.rt-nav>ul>li.has-sub:hover>a::before{border-top-color:var(--c-primary);}

/* 下拉菜单 */
.rt-sub{
	position:absolute;left:50%;top:88px;transform:translateX(-50%);
	background:#fff;border:1px solid var(--c-line);border-top:2px solid var(--c-primary);
	box-shadow:var(--shadow-h);border-radius:0 0 var(--r) var(--r);
	padding:16px 18px;min-width:520px;display:none;z-index:80;
}
.rt-nav>ul>li:hover .rt-sub{display:block;}
.rt-sub-cols{display:flex;gap:14px;flex-wrap:wrap;}
.rt-sub-col{width:150px;}
.rt-sub-tit{
	display:block;font-size:14px;font-weight:600;color:var(--c-primary);
	padding-bottom:6px;margin-bottom:6px;border-bottom:1px dashed var(--c-line);
}
.rt-sub-link{display:block;font-size:13px;color:var(--c-text2);line-height:2;padding-left:2px;}
.rt-sub-link:hover{color:var(--c-primary);}
.rt-sub--scroll{max-height:400px;overflow-y:auto;}

/* 移动端头部 / 抽屉（桌面端隐藏） */
.rt-mheader{display:none;}
.rt-drawer,.rt-drawer-mask{display:none;}

/* ---------- 6. 首页轮播 ---------- */
.rt-banner{background:var(--c-bg-2);}
.rt-banner .swiper-container{width:100%;height:420px;overflow:hidden;}
.rt-banner .swiper-slide{height:420px;}
.rt-bimg{
	width:100%;height:100%;background-position:center center;
	background-size:cover;background-repeat:no-repeat;
}
.rt-banner .swiper-button-prev,.rt-banner .swiper-button-next{
	width:40px;height:60px;background:rgba(0,0,0,.28);border-radius:var(--r-sm);
}
.rt-banner .swiper-button-prev::after,.rt-banner .swiper-button-next::after{font-size:18px;color:#fff;}

/* ---------- 7. 内页头图 + 面包屑 ---------- */
.rt-pbanner{
	background:linear-gradient(120deg,var(--c-primary) 0%,var(--c-primary-l) 100%);
	color:#fff;padding:34px 0 30px;
}
.rt-pbanner h1{font-size:26px;font-weight:600;}
.rt-crumb{font-size:13px;color:#cfe2f5;margin-top:8px;}
.rt-crumb a{color:#cfe2f5;}
.rt-crumb a:hover{color:#fff;}
.rt-crumb .sep{margin:0 6px;opacity:.7;}

/* ---------- 8. 通用小节标题 ---------- */
.rt-sec{padding:52px 0;}
.rt-sec--gray{background:var(--c-bg);}
.rt-sec-head{text-align:center;margin-bottom:30px;position:relative;}
.rt-sec-head h2{font-size:26px;color:var(--c-text);}
.rt-sec-head h2::after{
	content:"";display:block;width:46px;height:3px;background:var(--c-primary);
	margin:12px auto 0;border-radius:2px;
}
.rt-sec-head p{color:var(--c-text2);font-size:14px;margin-top:12px;}
.rt-more{
	position:absolute;right:0;top:6px;font-size:13px;color:var(--c-text3);
}
.rt-more:hover{color:var(--c-primary);}

/* ---------- 9. 首页：品牌定位 hero ---------- */
.rt-hero{
	background:linear-gradient(180deg,#fff 0%,var(--c-bg) 100%);
	padding:46px 0 40px;
}
.rt-hero-in{display:flex;align-items:center;justify-content:space-between;gap:40px;}
.rt-hero-text{flex:1;min-width:0;}
.rt-hero-tag{
	display:inline-block;background:rgba(24,95,165,.1);color:var(--c-primary);
	font-size:13px;padding:4px 12px;border-radius:14px;margin-bottom:14px;
}
.rt-hero-text h1{font-size:32px;color:var(--c-primary-d);letter-spacing:1px;}
.rt-hero-desc{color:var(--c-text2);font-size:15px;margin-top:12px;line-height:1.9;}
.rt-hero-points{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
.rt-hero-points li{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r-sm);
	padding:6px 14px;font-size:13px;color:var(--c-text2);
}
.rt-hero-cta{width:280px;text-align:center;background:#fff;border:1px solid var(--c-line);
	border-radius:var(--r);padding:24px 20px;box-shadow:var(--shadow);}
.rt-hero-cta .rt-cta-tel{
	display:block;font-size:26px;color:var(--c-cta);font-weight:700;letter-spacing:.5px;
}
.rt-hero-cta .rt-cta-tel .iconfont{font-size:20px;margin-right:4px;}
.rt-hero-cta .rt-btn{margin-top:14px;width:100%;}
.rt-cta-note{font-size:12px;color:var(--c-text3);margin-top:12px;}

/* ---------- 10. 首页：快捷入口 ---------- */
.rt-quick{padding:26px 0 8px;}
.rt-quick-list{display:flex;gap:16px;}
.rt-quick-list li{flex:1;}
.rt-quick-list a{
	display:flex;align-items:center;gap:12px;background:#fff;
	border:1px solid var(--c-line);border-radius:var(--r);padding:16px 18px;
	box-shadow:var(--shadow);transition:.2s;
}
.rt-quick-list a:hover{border-color:var(--c-primary);box-shadow:var(--shadow-h);transform:translateY(-2px);}
.rt-qi-icon{
	width:44px;height:44px;flex:0 0 44px;border-radius:50%;
	background:var(--c-bg-2);color:var(--c-primary);
	display:flex;align-items:center;justify-content:center;
}
.rt-qi-icon .iconfont{font-size:22px;}
.rt-qi-name{font-size:16px;color:var(--c-text);}
.rt-qi-sub{display:block;font-size:12px;color:var(--c-text3);margin-top:2px;}

/* ---------- 11. 首页：诊疗科室 ---------- */
.rt-dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.rt-dept-card{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	padding:20px 18px;transition:.2s;display:flex;flex-direction:column;
}
.rt-dept-card:hover{border-color:var(--c-primary);box-shadow:var(--shadow-h);transform:translateY(-2px);}
.rt-dept-card h3{font-size:17px;}
.rt-dept-card h3 a{color:var(--c-text);}
.rt-dept-card h3 a:hover{color:var(--c-primary);}
.rt-dept-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px;}
.rt-dept-tags a{
	display:block;background:var(--c-bg);border:1px solid var(--c-line);
	border-radius:14px;padding:4px 12px;font-size:13px;color:var(--c-text2);
}
.rt-dept-tags a:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}
.rt-dept-desc{font-size:13px;color:var(--c-text3);line-height:1.8;margin:12px 0 14px;min-height:56px;}
.rt-dept-more{margin-top:auto;font-size:13px;color:var(--c-primary);}

/* ---------- 12. 首页：医师团队 ---------- */
.rt-doc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.rt-doc-card{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	overflow:hidden;text-align:center;transition:.2s;
}
.rt-doc-card:hover{box-shadow:var(--shadow-h);transform:translateY(-2px);}
.rt-doc-img{height:214px;background:var(--c-bg-2) center/cover no-repeat;overflow:hidden;}
.rt-doc-img img{width:100%;height:214px;object-fit:cover;}
.rt-doc-name{font-size:16px;padding:12px 6px 2px;}
.rt-doc-title{font-size:13px;color:var(--c-text2);padding-bottom:14px;}

/* ---------- 13. 首页：医院优势 ---------- */
.rt-adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.rt-adv-grid li{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	padding:26px 20px;text-align:center;
}
.rt-adv-icon{
	width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
	background:var(--c-bg-2);color:var(--c-primary);
	display:flex;align-items:center;justify-content:center;
}
.rt-adv-icon .iconfont{font-size:26px;}
.rt-adv-grid h3{font-size:16px;margin-bottom:8px;}
.rt-adv-grid p{font-size:13px;color:var(--c-text2);line-height:1.8;}

/* ---------- 14. 首页：健康科普 ---------- */
.rt-news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.rt-news-col{background:#fff;border:1px solid var(--c-line);border-radius:var(--r);padding:20px 22px;}
.rt-news-col h3{font-size:17px;padding-bottom:12px;border-bottom:1px solid var(--c-line);}
.rt-news-col h3 a{color:var(--c-primary);}
.rt-news-col ul{margin-top:6px;}
.rt-news-col li a{
	display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--c-line);align-items:flex-start;
}
.rt-news-col li:last-child a{border-bottom:0;}
.rt-nw-img{
	width:110px;height:74px;flex:0 0 110px;border-radius:var(--r-sm);
	background:var(--c-bg-2) center/cover no-repeat;overflow:hidden;
}
.rt-nw-img img{width:110px;height:74px;object-fit:cover;}
.rt-nw-txt{flex:1;min-width:0;}
.rt-nt{display:block;font-size:14px;line-height:1.6;color:var(--c-text);}
.rt-news-col li a:hover .rt-nt{color:var(--c-primary);}
.rt-nd{display:block;font-size:12px;color:var(--c-text3);margin-top:6px;}

/* ---------- 15. 首页：公益慈善 ---------- */
.rt-charity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rt-charity-card{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	padding:28px 22px;text-align:center;
}
.rt-cg-icon{
	width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
	background:var(--c-bg-2);color:var(--c-primary);
	display:flex;align-items:center;justify-content:center;
}
.rt-cg-icon .iconfont{font-size:26px;}
.rt-charity-card h3{font-size:16px;margin-bottom:8px;}
.rt-charity-card p{font-size:13px;color:var(--c-text2);line-height:1.8;}

/* ---------- 16. 首页：预约转化条 ---------- */
.rt-ctabar{background:var(--c-primary);color:#fff;padding:32px 0;}
.rt-ctabar-in{display:flex;align-items:center;justify-content:space-between;gap:30px;}
.rt-ctabar h3{font-size:22px;font-weight:600;}
.rt-ctabar p{font-size:14px;color:#cfe2f5;margin-top:6px;}
.rt-ctabar-ri{display:flex;align-items:center;gap:14px;}
.rt-ctabar-ri .rt-tel-big{font-size:24px;font-weight:700;color:#ffd9c4;letter-spacing:.5px;}
.rt-ctabar-ri .rt-btn{background:#fff;color:var(--c-primary);}
.rt-ctabar-ri .rt-btn:hover{background:var(--c-bg-2);color:var(--c-primary-d);}

/* ---------- 17. 内页：病种索引 ---------- */
.rt-dis{padding:28px 0 0;}
.rt-dis-cards{display:flex;flex-wrap:wrap;gap:10px;}
.rt-dis-card{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r-sm);
	padding:8px 16px;font-size:14px;color:var(--c-text2);
}
.rt-dis-card:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}

/* ---------- 18. 内页：主体 + 侧栏 ---------- */
.rt-main{width:var(--w);margin:0 auto;padding:28px 0 50px;display:flex;gap:24px;align-items:flex-start;}
.rt-main-box{flex:1;min-width:0;background:#fff;border:1px solid var(--c-line);border-radius:var(--r);padding:24px 26px;}
.rt-main-title{font-size:20px;padding-bottom:14px;border-bottom:1px solid var(--c-line);margin-bottom:6px;}
.rt-news-list li{padding:18px 0;border-bottom:1px dashed var(--c-line);}
.rt-news-list li:last-child{border-bottom:0;}
.rt-news-list li a{display:flex;gap:16px;align-items:flex-start;}
.rt-nimg{
	width:170px;height:118px;flex:0 0 170px;border-radius:var(--r-sm);
	background:var(--c-bg-2) center/cover no-repeat;overflow:hidden;
}
.rt-nimg img{width:170px;height:118px;object-fit:cover;}
.rt-ntext{flex:1;min-width:0;}
.rt-ntext h3{font-size:17px;line-height:1.5;}
.rt-news-list li a:hover h3{color:var(--c-primary);}
.rt-nst{display:block;font-size:13px;color:var(--c-text2);margin-top:8px;line-height:1.7;}
.rt-nmeta{display:block;font-size:12px;color:var(--c-text3);margin-top:10px;}

/* 侧栏 */
.rt-side{width:300px;flex:0 0 300px;}
.rt-card{background:#fff;border:1px solid var(--c-line);border-radius:var(--r);padding:20px;margin-bottom:16px;}
.rt-card h3{font-size:16px;padding-bottom:12px;border-bottom:1px solid var(--c-line);margin-bottom:12px;}
.rt-card--yuyue{background:linear-gradient(160deg,var(--c-primary) 0%,var(--c-primary-l) 100%);border:0;color:#fff;}
.rt-card--yuyue h3{color:#fff;border-bottom-color:rgba(255,255,255,.25);}
.rt-card--yuyue p{font-size:13px;color:#dce8f5;margin-bottom:14px;}
.rt-side-btn{display:block;height:40px;line-height:40px;text-align:center;background:#fff;color:var(--c-primary);border-radius:var(--r-sm);font-size:15px;}
.rt-side-btn:hover{background:var(--c-bg-2);color:var(--c-primary-d);}
.rt-side-tel{
	display:block;margin-top:10px;height:40px;line-height:40px;text-align:center;
	border:1px solid rgba(255,255,255,.6);border-radius:var(--r-sm);color:#fff;font-size:16px;font-weight:600;
}
.rt-side-tel:hover{background:rgba(255,255,255,.14);color:#fff;}
.rt-side-news li{padding:8px 0;border-bottom:1px dashed var(--c-line);font-size:13px;line-height:1.6;}
.rt-side-news li:last-child{border-bottom:0;}
.rt-side-cats{display:flex;flex-wrap:wrap;gap:8px;}
.rt-side-cats a{
	display:block;padding:5px 12px;background:var(--c-bg);border:1px solid var(--c-line);
	border-radius:14px;font-size:13px;color:var(--c-text2);
}
.rt-side-cats a:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}

/* 分页 */
.rt-page{padding:26px 0 6px;text-align:center;}
.rt-page a,.rt-page span{
	display:inline-block;min-width:34px;height:34px;line-height:32px;padding:0 10px;
	margin:0 3px;border:1px solid var(--c-line);border-radius:var(--r-sm);
	font-size:13px;color:var(--c-text2);background:#fff;
}
.rt-page a:hover{border-color:var(--c-primary);color:var(--c-primary);}
.rt-page .current,.rt-page span.current{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}

/* ---------- 19. 内容页 ---------- */
.rt-art-head{padding-bottom:16px;border-bottom:1px solid var(--c-line);}
.rt-art-head h1{font-size:24px;line-height:1.5;}
.rt-art-meta{font-size:13px;color:var(--c-text3);margin-top:12px;display:flex;gap:20px;flex-wrap:wrap;}
.rt-art-body{padding:22px 0 10px;font-size:15px;line-height:2;color:#2b3a4a;}
.rt-art-body p{margin-bottom:16px;}
.rt-art-body img{max-width:100%;height:auto;margin:10px auto;display:block;}
.rt-art-body h2,.rt-art-body h3{font-size:18px;margin:22px 0 12px;color:var(--c-primary-d);}
.rt-art-body ul{padding-left:20px;margin-bottom:16px;}
.rt-art-body li{list-style:disc;line-height:1.9;}
.rt-art-body a{color:var(--c-primary-l);text-decoration:underline;}
.rt-art-tip{
	background:var(--c-bg);border-left:3px solid var(--c-primary);
	padding:14px 16px;font-size:13px;color:var(--c-text2);border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.rt-prevnext{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px;color:var(--c-text2);}
.rt-prevnext a{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rt-prevnext a:hover{color:var(--c-primary);}

/* ---------- 20. 医师列表（doctor 模块） ---------- */
.rt-doc-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.rt-doc-item{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	overflow:hidden;display:flex;flex-direction:column;
}
.rt-doc-item:hover{box-shadow:var(--shadow-h);}
.rt-doc-item .rt-doc-img{height:260px;}
.rt-doc-item .rt-doc-img img{height:260px;}
.rt-doc-info{padding:14px 16px 18px;}
.rt-doc-info h3{font-size:17px;}
.rt-doc-info h3 span{font-size:13px;color:var(--c-primary);margin-left:8px;font-weight:400;}
.rt-doc-sc{font-size:13px;color:var(--c-text2);line-height:1.7;margin-top:8px;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- 21. 搜索页 ---------- */
.rt-search-form{display:flex;gap:10px;margin:16px 0 22px;}
.rt-search-form input{
	flex:1;height:42px;border:1px solid var(--c-line);border-radius:var(--r-sm);
	padding:0 14px;font-size:14px;
}
.rt-search-form input:focus{border-color:var(--c-primary);}
.rt-search-form button{
	height:42px;padding:0 26px;background:var(--c-primary);color:#fff;border:0;
	border-radius:var(--r-sm);font-size:15px;cursor:pointer;
}
.rt-search-form button:hover{background:var(--c-primary-d);}
.rt-null{padding:40px 0;text-align:center;color:var(--c-text3);font-size:14px;}

/* ---------- 22. 404 ---------- */
.rt-msgbox{padding:70px 0;text-align:center;}
.rt-msg-num{font-size:76px;color:var(--c-primary);font-weight:700;letter-spacing:4px;}
.rt-msgbox h2{font-size:22px;margin:10px 0 10px;}
.rt-msgbox p{color:var(--c-text2);margin-bottom:24px;}
.rt-msg-actions{display:flex;gap:12px;justify-content:center;}

/* ---------- 23. 页脚 ---------- */
.rt-footer{background:#123a63;color:#b9cde2;font-size:13px;}
.rt-fwrap{width:var(--w);margin:0 auto;padding:40px 0 26px;display:flex;gap:40px;}
.rt-fcol{flex:1;min-width:0;}
.rt-fcol h4{font-size:15px;color:#fff;margin-bottom:14px;font-weight:600;}
.rt-fcol a{display:block;line-height:2.1;color:#b9cde2;}
.rt-fcol a:hover{color:#fff;}
.rt-fcontact{flex:1.4;}
.rt-faddr{line-height:2.1;}
.rt-faddr b{color:#fff;font-size:18px;font-weight:600;letter-spacing:.5px;}
.rt-fsocial{display:flex;gap:10px;margin-top:14px;}
.rt-fsocial a{
	width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);
	display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;
}
.rt-fsocial a:hover{background:var(--c-primary-l);color:#fff;}
.rt-fbottom{background:#0e3054;padding:18px 0;}
.rt-fbottom-in{width:var(--w);margin:0 auto;font-size:12px;color:#8fb0cf;line-height:1.9;}
.rt-fbottom-in a{color:#8fb0cf;}
.rt-fbottom-in a:hover{color:#fff;}
.rt-adno{display:inline-block;margin-left:10px;}
.rt-fnote{border-top:1px solid rgba(255,255,255,.1);margin-top:10px;padding-top:10px;color:#7fa0c0;}

/* ---------- 24. 右侧悬浮栏 ---------- */
.rt-float{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:90;display:block;}
.rt-float ul li{
	width:58px;min-height:58px;background:#fff;border:1px solid var(--c-line);
	border-radius:var(--r-sm);margin-bottom:6px;text-align:center;transition:.2s;
}
.rt-float ul li:hover{background:var(--c-primary);border-color:var(--c-primary);}
.rt-float ul li a{display:block;padding:9px 2px 6px;color:var(--c-text2);font-size:12px;line-height:1.3;}
.rt-float ul li .iconfont{display:block;font-size:19px;color:var(--c-primary);margin-bottom:3px;}
.rt-float ul li:hover a,.rt-float ul li:hover .iconfont{color:#fff;}
.rt-float ul li.rt-f-back{background:var(--c-primary);border-color:var(--c-primary);}
.rt-float ul li.rt-f-back .iconfont{color:#fff;}
/* 悬浮栏二维码弹层详见第 29 节 */

/* ---------- 25. 底部 sticky 预约条（桌面滚动后出现） ---------- */
.rt-sticky{
	position:fixed;left:0;right:0;bottom:0;background:rgba(24,95,165,.97);
	color:#fff;z-index:95;transform:translateY(100%);transition:transform .3s;display:none;
}
.rt-sticky.show{transform:translateY(0);}
.rt-sticky-in{width:var(--w);margin:0 auto;height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.rt-sticky p{font-size:15px;}
.rt-sticky-ri{display:flex;align-items:center;gap:12px;}
.rt-sticky-tel{font-size:20px;font-weight:700;color:#ffd9c4;letter-spacing:.5px;}
.rt-sticky .rt-btn{height:36px;line-height:36px;background:#fff;color:var(--c-primary);}
.rt-sticky .rt-btn:hover{background:var(--c-bg-2);color:var(--c-primary-d);}

/* ---------- 26. 移动端底部工具栏 ---------- */
.rt-mbar{display:none;}

/* ---------- 27. 响应式 ---------- */
@media (max-width:1240px){
	:root{--w:100%;}
	.rt-wrap,.rt-tb-in,.rt-hd-in,.rt-main,.rt-fwrap,.rt-fbottom-in,.rt-sticky-in{width:96%;padding-left:0;padding-right:0;}
	.rt-fwrap,.rt-fbottom-in{width:96%;}
}
@media (max-width:992px){
	/* 移动端隐藏整块 PC 头部（含 PC logo），避免出现两个 logo */
	.rt-header{display:none;}
	.rt-nav,.rt-topbar .rt-tb-ri{display:none;}
	.rt-mheader{display:block;background:#fff;box-shadow:var(--shadow);position:relative;z-index:70;}
	.rt-mh-in{width:96%;margin:0 auto;height:56px;display:flex;align-items:center;justify-content:space-between;}
	.rt-mlogo{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--c-primary);font-weight:700;}
	.rt-mlogo img{height:34px;}
	.rt-burger{
		width:40px;height:34px;border:0;background:transparent;cursor:pointer;
		display:flex;flex-direction:column;justify-content:space-between;padding:7px 4px;
	}
	.rt-burger span{display:block;height:2px;background:var(--c-primary);border-radius:2px;}
	.rt-drawer{
		display:block;position:fixed;top:0;right:0;bottom:0;width:78%;max-width:320px;background:#fff;
		z-index:120;transform:translateX(100%);transition:transform .28s;overflow-y:auto;
		box-shadow:-4px 0 20px rgba(0,0,0,.12);padding:20px 18px 40px;
	}
	.rt-drawer.open{transform:translateX(0);}
	.rt-drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:110;display:none;}
	.rt-drawer-mask.open{display:block;}
	.rt-drawer h4{font-size:16px;color:var(--c-primary);margin-bottom:10px;}
	.rt-drawer ul{margin-bottom:18px;}
	.rt-drawer li a{display:block;padding:10px 0;border-bottom:1px solid var(--c-line);font-size:15px;}
	.rt-drawer .rt-drawer-sub{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 12px;}
	.rt-drawer .rt-drawer-sub a{font-size:13px;color:var(--c-text2);background:var(--c-bg);
		border:1px solid var(--c-line);border-radius:14px;padding:5px 12px;border-bottom:1px solid var(--c-line);}
	.rt-hero-in{flex-direction:column;align-items:stretch;gap:22px;}
	.rt-hero-text h1{font-size:26px;}
	.rt-hero-cta{width:100%;}
	.rt-dept-grid{grid-template-columns:repeat(2,1fr);}
	.rt-doc-grid{grid-template-columns:repeat(3,1fr);}
	.rt-adv-grid{grid-template-columns:repeat(2,1fr);}
	.rt-news-grid{grid-template-columns:1fr;}
	.rt-charity-grid{grid-template-columns:1fr;}
	.rt-doc-list{grid-template-columns:repeat(2,1fr);}
	.rt-main{flex-direction:column;}
	.rt-side{width:100%;flex:none;}
	.rt-banner .swiper-container,.rt-banner .swiper-slide{height:220px;}
	.rt-float{display:none!important;}
	.rt-sticky{display:none!important;}
	.rt-mbar{
		display:block;position:fixed;left:0;right:0;bottom:0;z-index:100;
		background:#fff;border-top:1px solid var(--c-line);
	}
	.rt-mbar-in{display:flex;}
	.rt-mbar a{
		flex:1;height:52px;display:flex;flex-direction:column;align-items:center;
		justify-content:center;gap:2px;font-size:12px;color:var(--c-text2);
	}
	.rt-mbar a .iconfont{font-size:19px;color:var(--c-primary);}
	.rt-mbar a.rt-mb-yuyue{background:var(--c-cta);color:#fff;}
	.rt-mbar a.rt-mb-yuyue .iconfont{color:#fff;}
	body{padding-bottom:52px;}
	.rt-fwrap{flex-direction:column;gap:22px;}
}
@media (max-width:600px){
	.rt-hero-text h1{font-size:22px;}
	.rt-dept-grid{grid-template-columns:1fr;}
	.rt-doc-grid{grid-template-columns:repeat(2,1fr);}
	.rt-adv-grid{grid-template-columns:1fr;}
	.rt-doc-list{grid-template-columns:repeat(2,1fr);}
	.rt-quick-list{flex-wrap:wrap;}
	.rt-quick-list li{flex:1 1 46%;}
	.rt-news-list li a{flex-direction:column;}
	.rt-nimg{width:100%;height:180px;flex:none;}
	.rt-nimg img{width:100%;height:180px;}
	.rt-pbanner h1{font-size:20px;}
	.rt-sec{padding:34px 0;}
	.rt-sec-head h2{font-size:21px;}
	.rt-ctabar-in{flex-direction:column;text-align:center;}
	.rt-ctabar-ri{flex-direction:column;gap:10px;}
}

/* ===================================================================
   28. 表单页（迅睿系统表单壳：portlet + bootstrap 栅格 + mt 控件）
   说明：/yuyue/ 等自定义表单页主体由系统输出，类名固定不可改，
        这里用纯 CSS 重建视觉，避免依赖后台 admin.min.css。
   =================================================================== */
body.form-page{background:var(--c-bg);}
.form-page .page-wrapper-row,
.form-page .page-wrapper-middle,
.form-page .page-content,
.form-page .container,
.form-page .page-content-inner{width:100%;max-width:100%;padding:0;margin:0;background:none;}

.form-page .page-content-inner{width:var(--w);max-width:96%;margin:0 auto;padding:30px 0 50px;}
.form-page .portlet.light{
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	box-shadow:var(--shadow);overflow:hidden;
}
/* 系统标题与页面大标题重复，隐藏（顶部 rt-pbanner 已显示） */
.form-page .portlet-title{display:none;}
.form-page .portlet-body{padding:28px 32px 8px;}
.form-page .portlet-body.form{padding:8px 32px 28px;background:none;border:0;box-shadow:none;}

/* 表单行：替代 bootstrap col-md-2 / col-md-10 栅格 */
.form-page .form-group{
	display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;padding:0;border:0;
}
.form-page .form-group > .control-label.col-md-2,
.form-page .form-group > label.col-md-2{
	flex:0 0 96px;width:96px;min-width:96px;text-align:right;
	font-size:14px;color:var(--c-text2);line-height:38px;padding:0;float:none;
}
.form-page .form-group > .col-md-10,
.form-page .form-group > div.col-md-10{flex:1 1 auto;min-width:0;padding:0;float:none;width:auto;}
.form-page .required{color:#e34d4d;margin-right:2px;font-weight:700;}

/* 控件 */
.form-page .form-control,
.form-page input[type=text],
.form-page input[type=tel],
.form-page select,
.form-page textarea{
	display:block;width:100%;max-width:420px;height:38px;padding:0 12px;
	border:1px solid var(--c-line);border-radius:var(--r-sm);background:#fff;
	font-size:14px;color:var(--c-text);transition:border-color .2s,box-shadow .2s;
}
.form-page textarea{height:96px;padding:8px 12px;line-height:1.7;max-width:560px;}
.form-page input:focus,.form-page select:focus,.form-page textarea:focus{
	border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(24,95,165,.1);
}
.form-page .help-block{display:block;margin-top:6px;font-size:12px;color:var(--c-text3);}

/* 日期控件 */
.form-page .input-group{display:flex;align-items:stretch;max-width:420px;}
.form-page .input-group .form-control{border-radius:var(--r-sm) 0 0 var(--r-sm);}
.form-page .input-group-btn{flex:0 0 auto;}
.form-page .input-group-btn .btn.default{
	height:38px;line-height:38px;padding:0 12px;border:1px solid var(--c-line);
	border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--c-bg-2);
	color:var(--c-text2);cursor:pointer;
}
.form-page .input-group-btn .date-set,.form-page .fa{font-style:normal;}

/* 多选 / 单选（mt-checkbox / mt-radio） */
.form-page .mt-checkbox-inline,
.form-page .mt-radio-inline{display:flex;flex-wrap:wrap;gap:10px;}
.form-page .mt-checkbox,.form-page .mt-radio{
	position:relative;display:inline-flex;align-items:center;gap:6px;
	padding:7px 14px;border:1px solid var(--c-line);border-radius:20px;
	background:#fff;font-size:13px;color:var(--c-text2);cursor:pointer;transition:.2s;
}
.form-page .mt-checkbox:hover,.form-page .mt-radio:hover{border-color:var(--c-primary-l);color:var(--c-primary);}
.form-page .mt-checkbox input,.form-page .mt-radio input{
	position:relative;width:14px;height:14px;margin:0;cursor:pointer;opacity:1;accent-color:var(--c-primary);
}
.form-page .mt-checkbox > span,.form-page .mt-radio > span{display:none;}
.form-page .mt-checkbox:has(input:checked),.form-page .mt-radio:has(input:checked){
	border-color:var(--c-primary);background:var(--c-bg-2);color:var(--c-primary);font-weight:600;
}

/* 提交区 */
.form-page .form-actions{display:flex;justify-content:center;padding-top:6px;}
.form-page .form-actions .btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	min-width:180px;height:44px;padding:0 34px;border:0;border-radius:var(--r-sm);
	background:var(--c-cta);color:#fff;font-size:16px;letter-spacing:1px;cursor:pointer;transition:.2s;
}
.form-page .form-actions .btn:hover{background:var(--c-cta-d);}
/* fontawesome 未加载，隐藏空图标避免占位 */
.form-page .btn .fa,.form-page .input-group-btn .fa{display:none;}

/* ===================================================================
   29. 微信二维码弹层（页脚按钮 + 悬浮栏共用）
   =================================================================== */
.rt-wxpop{
	position:absolute;z-index:120;width:132px;padding:8px;background:#fff;
	border:1px solid var(--c-line);border-radius:var(--r);box-shadow:var(--shadow-h);
	display:none;
}
.rt-wxpop img{width:100%;display:block;border-radius:4px;}
.rt-wxpop::after{
	content:"";position:absolute;width:10px;height:10px;background:#fff;
	border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line);
}
.rt-wxpop p{margin-top:6px;font-size:12px;color:var(--c-text2);text-align:center;line-height:1.4;}

/* 悬浮栏：向左弹出 */
.rt-float .rt-f-wx .rt-wxpop{right:66px;top:-24px;}
.rt-float .rt-f-wx .rt-wxpop::after{right:-6px;top:34px;transform:rotate(-45deg);}
.rt-float .rt-f-wx:hover .rt-wxpop{display:block;}

/* 页脚：向上弹出 */
.rt-fsocial{position:relative;}
.rt-fwx{position:relative;}
.rt-fwx .rt-wxpop{left:50%;bottom:48px;transform:translateX(-50%);display:none;}
.rt-fwx .rt-wxpop::after{left:50%;bottom:-6px;margin-left:-5px;transform:rotate(45deg);}
.rt-fwx:hover .rt-wxpop{display:block;}
.rt-fwx.open .rt-wxpop{display:block;}

/* form 页（预约页）页脚微信 */
.rt-form-wx{display:flex;justify-content:center;gap:26px;padding:18px 0 4px;}
.rt-form-wx a{display:inline-flex;align-items:center;gap:6px;color:var(--c-text2);font-size:14px;}
.rt-form-wx a:hover{color:var(--c-primary);}

/* open 状态（点击触发，兼容移动端无 hover） */
.rt-f-wx.open .rt-wxpop{display:block;}

/* ---------- 30. 表单页底部联系区 ---------- */
.form-page .rt-form-contact{background:#fff;border-top:1px solid var(--c-line);margin-top:10px;}
.form-page .rt-fc-in{width:var(--w);max-width:96%;margin:0 auto;padding:22px 0;}
.form-page .rt-fc-tip{text-align:center;color:var(--c-text2);font-size:14px;margin-bottom:12px;}

/* ---------- 31. 表单页移动端适配 ---------- */
@media (max-width:600px){
	.form-page .page-content-inner{padding:18px 0 30px;}
	.form-page .portlet-body,
	.form-page .portlet-body.form{padding:18px 16px;}
	.form-page .form-group{flex-direction:column;gap:6px;}
	.form-page .form-group > .control-label.col-md-2,
	.form-page .form-group > label.col-md-2{
		flex:auto;width:auto;min-width:0;text-align:left;line-height:1.6;
	}
	.form-page .form-control,
	.form-page input[type=text],
	.form-page input[type=tel],
	.form-page select,
	.form-page textarea,
	.form-page .input-group{max-width:100%;}
	.form-page .mt-checkbox,.form-page .mt-radio{padding:8px 12px;font-size:13px;}
	.form-page .form-actions .btn{width:100%;}
}

/* ---------- 32. 日期/时间控件弹出层（bootstrap dropdown CSS 未加载，需自建） ---------- */
.form-page .input-group{position:relative;}
.datetimepicker.dropdown-menu,
.datepicker.dropdown-menu{
	position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;
	min-width:230px;padding:8px;margin:2px 0 0;list-style:none;
	background:#fff;border:1px solid var(--c-line);border-radius:var(--r);
	box-shadow:var(--shadow-h);font-size:13px;
}
.datetimepicker.dropdown-menu.open,.datepicker.dropdown-menu.open{display:block;}
.datetimepicker table,.datepicker table{width:100%;border-collapse:collapse;}
.datetimepicker th,.datepicker th,
.datetimepicker td,.datepicker td{
	padding:6px 4px;text-align:center;font-weight:400;font-size:13px;color:var(--c-text);
}
.datetimepicker th.switch,.datepicker th.switch{font-weight:600;color:var(--c-text);}
.datetimepicker th.prev,.datetimepicker th.next,
.datepicker th.prev,.datepicker th.next{color:var(--c-primary);cursor:pointer;font-weight:600;}
.datetimepicker td.day:hover,.datepicker td.day:hover{background:var(--c-bg-2);border-radius:4px;cursor:pointer;}
.datetimepicker td.active,.datepicker td.active{background:var(--c-primary);color:#fff;border-radius:4px;}
.datetimepicker td.old,.datetimepicker td.new,
.datepicker td.old,.datepicker td.new{color:var(--c-text3);}
.datetimepicker td.today{background:var(--c-bg-2);border-radius:4px;}
.datetimepicker .datetimepicker-hours td,.datetimepicker .datetimepicker-minutes td{padding:5px;}
.datetimepicker-dropdown-bottom-right:before,
.datetimepicker-dropdown-bottom-right:after,
.datetimepicker-dropdown-bottom-left:before,
.datetimepicker-dropdown-bottom-left:after{display:none;}

/* ---------- 33. 表单校验错误态 ---------- */
.form-page .form-group.rt-err .form-control,
.form-page .form-group.rt-err input,
.form-page .form-group.rt-err textarea,
.form-page .form-group.rt-err select{border-color:#e34d4d;background:#fff8f8;}
.form-page .rt-errtip{display:block;margin-top:6px;font-size:12px;color:#e34d4d;}
