.card-carousel { position: relative; width: 100%; } .carousel-swiper { width: 100%; } .slide { position: relative; transition: transform 0.3s ease; padding: 0 0; display: flex; align-items: center; justify-content: center; } .slide.inactive { transform: translateX(0); } .slide.active .card-image { border-radius: 16rpx; } .slide.inactive .card-image { filter: blur(0px); } .card { position: relative; overflow: hidden; } .active-card { width: 100%; } .side-card { width: 100%; transition: all 0.3s ease; } .slide.inactive .side-card { } .card-image { width: 100%; display: block; } .mask { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.25); pointer-events: none; transition: opacity 0.3s ease; } .mask.show { opacity: 1; } .mask.hide { opacity: 0; } .indicators { position: absolute; width: 100%; left: 0; display: flex; align-items: center; justify-content: center; gap: 8rpx; } .dot { width: 12rpx; height: 12rpx; border-radius: 50%; background: rgba(255,255,255,0.6); } .dot.active { background: #ffffff; } .online-exhibition { position: absolute; left: 0; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; transition: opacity 0.3s ease; } .online-exhibition.show { opacity: 1; pointer-events: none; } .online-exhibition.hide { opacity: 0; pointer-events: none; } .online-icon { width: 80rpx; height: 80rpx; margin-bottom: 12rpx; } .online-text { font-size: 28rpx; color: #fff; }