.carousel-section{text-align:center;padding:0;margin:5px auto;position:relative}.carousel-heading{font-size:2rem;margin-bottom:20px}.carousel-wrapper{position:relative;overflow:hidden}.carousel-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.carousel-slide{flex:0 0 auto;width:250px;margin-right:5px;scroll-snap-align:center}.carousel-image-wrapper{position:relative;overflow:hidden}.carousel-image{width:100%;height:auto;display:block;transition:opacity .2s ease}.carousel-image.hover{position:absolute;top:0;left:0;opacity:0}.carousel-image-wrapper:hover .carousel-image.main{opacity:0}.carousel-image-wrapper:hover .carousel-image.hover{opacity:1}.carousel-title{margin-top:10px;font-size:16px;display:inline-flex;align-items:center;gap:5px}.link-icon{font-size:16px;transition:transform .2s ease}.carousel-slide a:hover .link-icon{transform:translate(3px)}.carousel-progress{height:4px;background-color:#eee;width:100%;margin-top:10px;border-radius:2px;overflow:hidden}.carousel-progress-bar{height:100%;width:0;background-color:#333;transition:width .2s ease}.carousel-fade{position:absolute;top:0;bottom:4px;width:40px;pointer-events:none;z-index:1}.fade-left{left:0;background:linear-gradient(to right,rgba(0,0,0,.6),transparent);display:none}.fade-right{right:0;background:linear-gradient(to left,rgba(0,0,0,.6),transparent)}@media(max-width:768px){.carousel-slide{width:150px}.carousel-title{font-size:14px}}@media(max-width:480px){.carousel-slide{width:150px}.carousel-title{font-size:14px}}
