/* ========== 服务环绕轨道布局（独立样式） ========== */

/* 外层容器 */
.ways-to-improve-section {
	position: relative;
	padding: 60px 0;
	overflow: hidden;
}

.ways-to-improve-section::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: radial-gradient(circle at center, rgba(17, 95, 173, 0.03) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.ways-to-improve-section .container {
	position: relative;
	z-index: 1;
}

/* 环绕轨道主容器 */
.service-orbit {
	position: relative;
	width: 900px;
	height: 650px;
	margin: 40px auto 0;
	transform: scaleY(0.65);
	transform-origin: center center;
}

/* 中心内容 */
.service-orbit-center {
	position: absolute;
	left: 50%;
	top: 40%;
	transform: translate(-50%, -50%) scaleY(1.54);
	width: 360px;
	z-index: 2;
	text-align: center;
}

.service-orbit-center img {
	width: 100%;
	height: auto;
	display: block;
}

.service-orbit-center-bar {
	position: absolute;
	left: 50%;
	bottom: -20px;
	transform: translateX(-50%);
	background: #fff;
	color: #115FAD;
	padding: 12px 24px;
	border-radius: 30px;
	font-size: 14px;
	white-space: nowrap;
	z-index: 3;
	border: 2px solid #115FAD;
	box-shadow: 0 4px 15px rgba(17, 95, 173, 0.15);
}

/* 轨道环 */
.service-orbit-ring {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0;
	height: 0;
	z-index: 1;
}

/* 轨道标签 */
.service-orbit-tag {
	position: absolute;
	left: 0;
	top: 0;
	--radius: 380px;
	animation: tag-orbit 60s linear infinite;
	cursor: pointer;
	z-index: 3;
}

.service-orbit-tag .tag-inner {
	width: 180px;
	background: #fff;
	padding: 14px 20px;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(17, 95, 173, 0.12);
	transition: all 0.3s ease;
	transform: scaleY(1.54);
	text-align: center;
	border: 1px solid rgba(17, 95, 173, 0.08);
}

.service-orbit-tag .tag-name {
	font-size: 14px;
	color: #115FAD;
	font-weight: 600;
	white-space: nowrap;
	transition: all 0.3s ease;
}

.service-orbit-tag .tag-desc {
	display: none;
	max-width: 240px;
	padding-top: 10px;
	margin-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 12px;
	line-height: 1.6;
	color: #fff;
	white-space: normal;
	text-align: left;
}

/* hover效果 */
.service-orbit:hover .service-orbit-tag {
	animation-play-state: paused;
}

.service-orbit-tag:hover {
	z-index: 100;
}

.service-orbit-tag:hover .tag-inner {
	background: #115FAD;
	transform: scaleY(1.54) scale(1.08);
	box-shadow: 0 8px 30px rgba(17, 95, 173, 0.35);
}

.service-orbit-tag:hover .tag-name {
	color: #fff;
}

.service-orbit-tag:hover .tag-desc {
	display: block;
}

/* 旋转动画 */
@keyframes tag-orbit {
	from {
		transform: translate(-50%, -50%) rotate(var(--angle)) translateX(var(--radius)) rotate(calc(-1 * var(--angle)));
	}
	to {
		transform: translate(-50%, -50%) rotate(calc(var(--angle) + 360deg)) translateX(var(--radius)) rotate(calc(-1 * var(--angle) - 360deg));
	}
}

/* 入场动画 */
.service-orbit {
	opacity: 0;
	transform: scaleY(0.65) scale(0.9);
	transition: opacity 1s ease, transform 1s ease;
}

.ways-to-improve-section.in-view .service-orbit {
	opacity: 1;
	transform: scaleY(0.65) scale(1);
}

/* 响应式适配 */
@media (max-width: 991px) {
	.service-orbit {
		width: 700px;
		height: 520px;
	}
	
	.service-orbit-center {
		width: 280px;
	}
	
	.service-orbit-tag {
		--radius: 300px;
	}
	
	.service-orbit-tag .tag-inner {
		width: 150px;
		padding: 10px 14px;
	}
	
	.service-orbit-tag .tag-name {
		font-size: 12px;
	}
	
	.service-orbit-center-bar {
		font-size: 12px;
		padding: 10px 16px;
	}
}

@media (max-width: 768px) {
	.ways-to-improve-section {
		padding: 40px 0;
	}
	
	.service-orbit {
		width: 100%;
		max-width: 320px;
		height: 320px;
		transform: none;
		transform-origin: center center;
		margin-top: 30px;
	}
	
	.ways-to-improve-section.in-view .service-orbit {
		transform: none;
	}
	
	.service-orbit-center {
		width: 150px;
		transform: translate(-50%, -50%);
	}
	
	.service-orbit-center-bar {
		transform: translateX(-50%) scale(0.85);
		bottom: -10px;
		padding: 8px 12px;
		font-size: 11px;
	}
	
	.service-orbit-tag {
		--radius: 120px;
	}
	
	.service-orbit-tag .tag-inner {
		width: 110px;
		padding: 6px 8px;
		transform: none;
		border-radius: 8px;
	}
	
	.service-orbit-tag .tag-name {
		font-size: 11px;
		white-space: normal;
		word-break: break-word;
		line-height: 1.3;
	}
	
	.service-orbit-tag .tag-desc {
		max-width: 110px;
		font-size: 10px;
		line-height: 1.3;
		white-space: normal;
		word-break: break-word;
		padding-top: 6px;
		margin-top: 6px;
	}
	
	.service-orbit-tag:hover .tag-inner {
		transform: scale(1.05);
	}
}
