/* ===== 合作院校 Partnership 页面样式 ===== */

.ptn-wrap { padding: 5px 0 50px; }

.ptn-head { text-align: center; margin-bottom: 40px; }
.ptn-head h1 { font-size: 32px; color: #222; font-weight: 600; }
.ptn-sub { margin-top: 10px; color: #999; font-size: 14px; }
.ptn-sub span { color: #2b6cb8; }

/* ===== 国家分组：标题 + logo 卡片墙 ===== */
.partnersAllCon { margin-bottom: 42px; }

.partnersAllTitle {
	font-size: 20px;
	font-weight: 600;
	color: #222;
	padding-bottom: 12px;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.partnersAll_ul { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }

.partnersAll_ul li a {
	display: block;
	background: #fff;
	border: 1px solid #ececec;
	padding: 20px 14px 16px;
	text-align: center;
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
.partnersAll_ul li a:hover {
	border-color: #2b6cb8;
	box-shadow: 0 4px 14px rgba(43, 108, 184, .12);
}

.partnersAll_img {
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.partnersAll_img img { max-width: 100%; max-height: 90px; }

.partnersAll_inT {
	font-size: 14px;
	font-weight: 400;
	color: #444;
	line-height: 1.5;
	min-height: 42px;
}

/* ===== 详情页 ===== */
.ptn-detail { display: flex; gap: 40px; padding-top: 10px; }
.ptn-detail-logo {
	flex: 0 0 260px;
	border: 1px solid #ececec;
	background: #fff;
	padding: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ptn-detail-logo img { max-width: 100%; max-height: 160px; }
.ptn-detail-info { flex: 1; }
.ptn-detail-info h2 { font-size: 26px; color: #222; margin-bottom: 18px; }
.ptn-detail-info .ptn-desc { font-size: 15px; color: #555; line-height: 1.9; text-align: justify; }
.ptn-detail-link { margin-top: 22px; font-size: 14px; }
.ptn-detail-link a { color: #2b6cb8; }
.ptn-back {
	display: inline-block;
	margin-top: 36px;
	font-size: 14px;
	color: #555;
	text-decoration: none;
	padding-bottom: 2px;
	border-bottom: 2px solid transparent;
}
.ptn-back:hover { color: #2b6cb8; border-bottom-color: #2b6cb8; }

/* 内页容器：900px，与站内内页内容宽度一致 */
.ptnD-wrap { width: 900px; margin: 0 auto; padding: 20px 0 40px; }
.ptn-detail-info h2 { margin-bottom: 12px; }
.ptn-meta { font-size: 15px; color: #777; margin-bottom: 10px; }
.ptnD-content { margin-top: 34px; }
.ptnD-content p { font-size: 15px; color: #555; line-height: 1.9; text-align: justify; margin-bottom: 12px; }

/* ===== 世界地图 + 国家定位浮层（复刻参考站 nation-tip 效果） ===== */
.ptn-map { position: relative; margin-bottom: 50px; }
.ptn-map > img { width: 100%; display: block; }

/* 定位圆点：数字即该国合作大学数量 */
.nation-tip {
	position: absolute;
	text-align: center;
	background: rgba(255, 102, 0, 0.8);
	border-radius: 50%;
	width: 25px;
	height: 25px;
	font-size: 14px;
	line-height: 25px;
	cursor: default;
	color: #fff;
}

/* 悬停显示浮层：国家名 + 大学列表 */
.nation-tip:hover .tipsCon { display: block; animation: ptnFadeIn 0.3s ease-in-out; }
.nation-tip .tipsCon {
	display: none;
	text-align: left;
	background-color: #1E2021;
	padding: 10px;
	width: 150px;
	height: 150px;
	overflow-y: auto;
	border-radius: 3px;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
	position: absolute;
	right: -70px;
	top: 25px; /* 紧贴圆点下沿，不留空隙，否则鼠标移过去 :hover 会断开 */
	color: #fff;
	font-size: 13px;
	line-height: 1.4;
	z-index: 99;
}
/* 悬停过渡桥：圆点 → 弹层的隐形通道，保证鼠标斜向移动时 hover 不断开 */
.nation-tip .tipsCon:after {
	content: '';
	position: absolute;
	top: -25px;
	left: 50%;
	margin-left: -20px;
	width: 40px;
	height: 30px; /* 上探到圆点下方、下探进弹层内部，形成无缝衔接 */
}
.nation-tip .tipsCon:before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-bottom-color: #1E2021;
	right: 10px;
	top: -12px;
}
.ptn-map .partnerTitle { font-size: 16px; font-weight: 400; margin: 0 0 10px; }
.nation-tip .partnerlist { padding: 0; margin: 0; list-style: none; }
.nation-tip .partnerlist li { padding: 2px 0; }
.nation-tip .partnerlist li a { color: #fff; }
.nation-tip .partnerlist li a:hover { text-decoration: underline; }

@keyframes ptnFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ===== 响应式 ===== */
@media (max-width: 1200px) {
	.partnersAll_ul { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 992px) {
	.partnersAll_ul { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
	.partnersAll_ul { grid-template-columns: repeat(2, 1fr); }
	.ptn-detail { flex-direction: column; gap: 20px; }
	.ptn-detail-logo { flex: none; }
}

/* 小屏时地图横向滚动，保证浮层可读 */
@media (max-width: 768px) {
	.ptn-map-wrap { overflow-x: auto; }
	.ptn-map { min-width: 900px; margin-bottom: 30px; }
	.ptnD-wrap { width: auto; padding: 10px 15px 30px; }
	.ptn-detail { flex-direction: column; gap: 20px; }
}
