.btn-hccm-slider { display: inline-block; padding: 14px 36px; background-color: #0a4d8c; color: white; border-radius: 30px; text-decoration: none; font-weight: 500; transition: all 0.3s ease; }
.btn-hccm-slider:hover { background-color: #0077B6 !important; color: white !important; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(10, 77, 140, 0.3); }
.btn-hccm-slider-outline { display: inline-block; padding: 14px 36px; background-color: transparent; color: white; border: 2px solid white; border-radius: 30px; text-decoration: none; font-weight: 500; transition: all 0.3s ease; }
.btn-hccm-slider-outline:hover { background-color: white !important; color: #0a4d8c !important; }
.why-choose-card { background: white; padding: 30px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); transition: all 0.3s ease; height: 100%; }
.why-choose-card:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0,0,0,0.12); }
.why-choose-icon { width: 60px; height: 60px; background: linear-gradient(135deg, #0a4d8c 0%, #27aafc 100%); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: white; font-size: 28px; margin-bottom: 20px; }
.solution-card { position: relative; overflow: hidden; border-radius: 12px; height: 280px; }
.solution-card img { width: 100%; height: 100%; object-fit: cover; transition: all 0.5s ease; }
.solution-card:hover img { transform: scale(1.1); }
.solution-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 50%, transparent 100%); padding: 30px 20px 20px; color: white; }
.solution-overlay h4, .solution-overlay p { color: white; }
.solution-overlay h4 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; max-height: 2.8em; }
.solution-overlay p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.case-study-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.08); transition: all 0.3s ease; }
.case-study-card:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0,0,0,0.15); }
.case-study-card img { width: 100%; height: 200px; object-fit: cover; }
.case-study-card h4 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; max-height: 2.8em; }
.case-study-card .text-muted.small { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.download-card { position: relative; background: white; padding: 25px; padding-top: 35px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); display: flex; align-items: center; gap: 20px; transition: all 0.3s ease; overflow: hidden; }
.download-card:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,0,0,0.12); }
.download-icon { position: absolute; top: 0; left: 0; width: 70px; height: 70px; background: #1674cc74; border-radius: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; color: white; font-size: 20px; }
.download-icon i { transform: translate(35%, 35%); }
.resource-card-title { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.resource-card-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.request-quote-section { background: linear-gradient(135deg, #0a4d8c 0%, #1a6db8 100%); padding: 80px 0; }
.cert-badge { background: white; padding: 6px; border-radius: 8px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0,0,0,0.08); }
.cert-badge img { width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center; }
.cert-marquee { overflow: hidden; }
.cert-marquee-track { display: flex; gap: 24px; width: max-content; animation: cert-scroll-left 30s linear infinite; }
.cert-marquee:hover .cert-marquee-track { animation-play-state: paused; }
.cert-marquee-track .cert-item { flex: 0 0 auto; width: 160px; }
@keyframes cert-scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.cert-item .cert-badge { cursor: pointer; transition: transform 0.2s ease; }
.cert-item .cert-badge:hover { transform: scale(1.05); }
.cert-lightbox { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); z-index: 9999; justify-content: center; align-items: center; cursor: zoom-out; }
.cert-lightbox.show { display: flex; }
.cert-lightbox img { max-width: 90%; max-height: 90%; border-radius: 8px; box-shadow: 0 8px 40px rgba(0,0,0,0.5); }
.grid-filter.style-2 li:not(.activeFilter) a:hover { color: #0a4d8c !important; }
.grid-filter.style-2 li.activeFilter a { background-color: #0a4d8c !important; border-color: #0a4d8c !important; }
/* 产品一二级分类分行显示 */
.grid-filter-wrap.huaci-pf-wrap { flex-direction: column; row-gap: 0; }
.grid-filter-wrap.huaci-pf-wrap .huaci-pf-l2 { margin-top: 14px; }
/* 分类项按内容宽度，切换时避免尺寸抖动 */
.grid-filter-wrap.huaci-pf-wrap .grid-filter li { width: auto; flex: 0 0 auto; }
/* 选中项不加粗、不改变内边距，避免宽度/高度变化导致抖动 */
.grid-filter-wrap.huaci-pf-wrap .grid-filter li a { font-weight: 600; }
.grid-filter-wrap.huaci-pf-wrap .grid-filter li.activeFilter a { font-weight: 600; padding-top: 9px; padding-bottom: 9px; margin: 0; }
#portfolio { display: flex !important; flex-wrap: wrap !important; height: auto !important; position: relative !important; }
#portfolio .portfolio-cat-group { display: flex; flex-wrap: wrap; width: 100%; }
#portfolio .portfolio-cat-group > .portfolio-item { padding-left: calc(var(--bs-gutter-x, 0.5rem) * .5); padding-right: calc(var(--bs-gutter-x, 0.5rem) * .5); margin-top: calc(var(--bs-gutter-y, 0) * .5); }
#portfolio .portfolio-item { position: relative !important; left: auto !important; top: auto !important; width: 16.6667% !important; transition: opacity 0.25s ease, transform 0.25s ease; }
@media (max-width: 991.98px) { #portfolio .portfolio-item { width: 33.3333% !important; } }
@media (max-width: 767.98px) { #portfolio .portfolio-item { width: 50% !important; } }
#portfolio .portfolio-image { position: relative; width: 100%; padding-top: 100%; overflow: hidden; }
#portfolio .portfolio-image > a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#portfolio .portfolio-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.5s ease; }
#portfolio .portfolio-item:hover .portfolio-image img { transform: scale(1.08); }
#portfolio .bg-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
#portfolio .portfolio-desc h3 { display: block; font-size: 0.9rem; line-height: 1.4; word-break: break-word; overflow-wrap: break-word; white-space: normal; }
.testimonial-wrapper {
	overflow: hidden;
	width: 100%;
	padding-left: max(24px, calc((100vw - 1320px) / 2));
	padding-right: max(24px, calc((100vw - 1320px) / 2));
}
.testimonial-track {
	display: flex;
	gap: 40px;
	width: max-content;
	animation: scroll-right 40s linear infinite;
}
.testimonial-track .testimonial-card {
	flex-shrink: 0;
	width: 480px;
	background: #fff;
	padding: 24px;
	border-radius: 8px;
}
.testimonial-card .testimonial-img {
	width: 100px;
	height: 130px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	align-self: flex-start;
}
.testimonial-card .testimonial-text {
	color: #666;
	font-size: 14px;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	margin-bottom: 0;
	overflow: hidden;
}
@keyframes scroll-right {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.testimonial-track:hover {
	animation-play-state: paused;
}
@media (max-width: 576px) {
	.slider-caption h2 { font-size: 1.5rem !important; width: 100% !important; max-width: 100% !important; }
	.slider-caption p { font-size: 0.875rem !important; width: 100% !important; max-width: 100% !important; }
	.slider-caption .d-flex { gap: 10px !important; margin-top: 40px !important; }
	.btn-hccm-slider, .btn-hccm-slider-outline { padding: 8px 16px !important; font-size: 0.8rem !important; border-radius: 20px !important; }
}
/* Blog Section - match blog.css */
#blog .card .card-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.4; max-height: 2.8em; }
#blog .card .card-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
