.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; }
.stat-item { display: flex; align-items: center; gap: 10px; }
.stat-icon { width: 38px; height: 38px; border-radius: 10px; background: #eef4fb; color: #0a4d8c; display: flex; align-items: center; justify-content: center; font-size: 17px; flex-shrink: 0; }
.stat-value { font-weight: 700; font-size: 1.05rem; color: #0a4d8c; line-height: 1.2; }
.stat-label { font-size: 0.75rem; color: #8a99ab; }
.activity-section { position: relative; overflow: hidden; }
.activity-header { position: relative; z-index: 1; }
.activity-gallery { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; position: relative; z-index: 1; }
.activity-item { position: relative; overflow: hidden; border-radius: 8px; cursor: zoom-in; border: 1px solid rgba(10,30,60,0.06); box-shadow: 0 3px 10px rgba(10,30,60,0.06); background: #e6edf5; display: block; aspect-ratio: 4 / 3; text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.activity-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.activity-item:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(10,30,60,0.14); }
.activity-item:hover img { transform: scale(1.08); }
.activity-overlay { position: absolute; inset: 0; z-index: 2; background: linear-gradient(to top, rgba(10,30,60,0.9) 0%, rgba(10,30,60,0.4) 42%, transparent 74%); display: flex; flex-direction: column; justify-content: flex-end; padding: 10px; opacity: 0; transform: translateY(10px); transition: opacity 0.3s ease, transform 0.3s ease; }
.activity-item:hover .activity-overlay { opacity: 1; transform: translateY(0); }
.activity-caption { color: #fff; font-size: 0.7rem; font-weight: 500; line-height: 1.35; }
.activity-zoom { position: absolute; top: 12px; right: 12px; z-index: 3; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,0.25); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.85rem; opacity: 0; cursor: zoom-in; transition: opacity 0.3s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease; }
.activity-item:hover .activity-zoom { opacity: 1; }
.activity-zoom:hover { background: rgba(255,255,255,0.92); color: #0a4d8c; transform: scale(1.15); }
.activity-zoom:active { transform: scale(1); }
.activity-lightbox { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.92); z-index: 9999; justify-content: center; align-items: center; cursor: zoom-out; padding: 30px; }
.activity-lightbox.show { display: flex; }
.activity-lightbox img { max-width: 92%; max-height: 86%; border-radius: 10px; box-shadow: 0 12px 50px rgba(0,0,0,0.7); }
.activity-lightbox .activity-lightbox-caption { position: absolute; bottom: 26px; left: 0; right: 0; text-align: center; color: #fff; font-size: 1rem; font-weight: 500; padding: 0 24px; }
@media (max-width: 991.98px) { .activity-gallery { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575.98px) { .activity-gallery { grid-template-columns: repeat(2, 1fr); } }
.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: 14px 20px; border-radius: 10px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0,0,0,0.08); height: 300px; }
.cert-badge img { width: auto; height: auto; max-width: 420px; max-height: 100%; object-fit: contain; 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: auto; }
@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 a { background: #eef4fb; }
.grid-filter.style-2 li:not(.activeFilter) a:hover { background: #dcebfa; color: #0a4d8c !important; }
.grid-filter.style-2 li.activeFilter a { background-color: #0a4d8c !important; border-color: #0a4d8c !important; box-shadow: 0 4px 14px rgba(10,77,140,0.35); }
/* 产品一二级分类分行显示 */
.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; }
@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; }
}
/* Trademark Notice Marquee */
.notice-marquee { position: relative; z-index: 2; overflow: hidden; background-color: #0a4d8c; color: #fff; font-size: 1.5rem; line-height: 1.6; padding: 15px 0; }
.notice-marquee-track { display: inline-block; white-space: nowrap; animation: notice-scroll 30s linear infinite; will-change: transform; }
.notice-marquee:hover .notice-marquee-track { animation-play-state: paused; }
.notice-group { display: inline-flex; align-items: center; vertical-align: middle; }
.notice-group i { color: #ffc107; margin-right: 2px; font-size: 1.5rem; }
.notice-group span { padding: 0 60px; font-weight: 500; letter-spacing: 0.3px; }
.notice-group .notice-label { color: #ff3b3b; font-weight: 700; margin-right: 0; padding: 0; }
@keyframes notice-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* 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; }
