/* ===== 样式基线 ===== */
:root {
	--primary: #2DC3B6;
	/* 主色 青绿 */
	--blue: #4A8FF7;
	/* 辅色 蓝 */
	--green: #22C9A1;
	/* 辅色 绿 */
	--orange: #FF9A4D;
	/* 辅色 橙 */
	--red: #FF6B7A;
	/* 辅色 红 */
	--bg: #F3F4F6;
	/* 页面底 */
	--card: #FFFFFF;
	--t1: #1A1A1A;
	--t2: #4A4F5A;
	--t3: #8A8F99;
	--r-card: 16px;
	--r-icon: 14px;
	--r-btn: 20px;
}

/* ==================================================================
   WeUI+ 隔离层（新增，必须放在 WeUI+ 之后、本页其它样式之前）
   作用：抵消 WeUI+ 的全局重置，保证切换前后视觉完全一致。
   本页不使用任何 .weui-* 类，所以只需处理两类风险：
	 ① html/body/img 等元素级全局重置
	 ② .card / .grid / .item / .ic / .footer 等通用类名被 WeUI+ 同名占用
   ================================================================== */
html,
body {
	margin: 0 !important;
	padding: 0 !important;
	background: var(--bg) !important;
	color: var(--t1) !important;
	overflow-x: hidden !important;
}

body {
	font-family: -apple-system, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif !important;
	line-height: 1.4 !important;
}

/* 防 img/svg 被强制 max-width:100% 或 display 改掉 */
.phone img,
.phone svg {
	max-width: none !important;
}

/* 通用类名提权：用 .phone 前缀压过 WeUI+ 可能存在的同名规则 */
.phone .card {
	border: 0;
	background: var(--card);
	margin: 12px 14px 0;
	border-radius: var(--r-card);
	padding: 15px 14px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .04);
}

.phone .grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 18px;
}

.phone .grid .item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	transition: transform .15s, opacity .15s;
}

.phone .grid .ic {
	width: 50px;
	height: 50px;
	border-radius: var(--r-icon);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 12px rgba(0, 0, 0, .08);
}

.phone .footer {
	text-align: center;
	padding: 28px 0 20px;
	color: var(--t3);
	font-size: 11px;
	line-height: 1.9;
	background: transparent;
	border: 0;
}

/* ===================== /WeUI+ 隔离层 ===================== */

* {
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent
}

html,
body {
	margin: 0;
	padding: 0;
	background: var(--bg);
	color: var(--t1);
	overflow-x: hidden;
	font-family: -apple-system, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif
}

/* ===== ① 顶部校医院横幅 ===== */
.hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(120deg, #EAF6F5 0%, #F3FBF9 45%, #FFFFFF 100%);
	margin: 12px 14px;
	border-radius: 12px;
}

.hero-inner {
	position: relative;
	padding: 12px 14px;
}

.hero-logo {
	display: block;
	width: 100%;
	height: auto
}

/* ===== ② 两栏入口 ===== */
.entry-wrap {
	display: flex;
	gap: 12px;
	margin: 12px 14px 0
}

.entry {
	flex: 1;
	min-width: 0;
	background: var(--card);
	border-radius: var(--r-card);
	padding: 15px 13px;
	display: flex;
	align-items: center;
	gap: 11px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .04);
	transition: transform .15s, background .15s;
	cursor: pointer;
	overflow: hidden
}

.entry:active {
	background: #F7F8FA;
	transform: scale(.975)
}

.entry-ic {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: var(--r-icon);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 12px rgba(0, 0, 0, .08)
}

.entry-txt {
	flex: 1;
	min-width: 0;
	overflow: hidden
}

.entry-txt .t {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--t1);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

.entry-txt .s {
	display: block;
	margin-top: 4px;
	font-size: 10px;
	color: var(--t3);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

/* ===== 通用白卡（宫格 / 公告） ===== */
.card {
	background: var(--card);
	margin: 12px 14px 0;
	border-radius: var(--r-card);
	padding: 15px 14px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .04)
}

.sec-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px
}

.sec-title {
	font-size: 15px;
	font-weight: 700;
	color: var(--t1);
	display: flex;
	align-items: center;
	gap: 8px
}

.sec-title .bar {
	width: 3px;
	height: 14px;
	background: var(--primary);
	border-radius: 2px
}

.sec-more {
	font-size: 12px;
	color: var(--t3);
	cursor: pointer
}

/* ===== ③ 服务宫格 ===== */
.grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 18px
}

.grid .item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	transition: transform .15s, opacity .15s
}

.grid .item:active {
	opacity: .6;
	transform: scale(.93)
}

.grid .ic {
	width: 50px;
	height: 50px;
	border-radius: var(--r-icon);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 12px rgba(0, 0, 0, .08)
}

.grid .lbl {
	font-size: 12px;
	color: var(--t1);
	text-align: center;
	line-height: 1.2
}

.entry-ic svg {
	width: 23px;
	height: 23px
}

.entry-ic img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: var(--r-icon);
}

.grid .ic svg {
	width: 24px;
	height: 24px
}

.grid .ic img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: var(--r-icon);
}

/* ===== ④ 医院公告 ===== */
.notice-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 4px 0;
	cursor: pointer;
	transition: background .15s;
	border-radius: 8px
}

.notice-item:active {
	background: #F7F8FA
}

.notice-body {
	flex: 1;
	min-width: 0
}

.notice-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--t1);
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.notice-time {
	font-size: 11px;
	color: var(--t3);
	margin-top: 7px
}

.notice-thumb {
	width: 88px;
	height: 64px;
	border-radius: 8px;
	object-fit: cover;
	flex-shrink: 0;
	background: #EEF0F3
}

/* ===== ⑤ 页脚 ===== */
.footer {
	text-align: center;
	padding: 28px 0 20px;
	color: var(--t3);
	font-size: 11px;
	line-height: 1.9
}

.footer .f1 {
	color: var(--t2);
	font-size: 12px;
	margin-bottom: 2px
}