.carousel-container{position:relative;width:100%;overflow:hidden}.carousel-scroller{display:flex;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grab}.carousel-scroller:active{cursor:grabbing}.carousel-scroller::-webkit-scrollbar{display:none}.carousel-slide{flex-shrink:0;display:flex;align-items:stretch}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:white;border:1px solid #e5e7eb;border-radius:.375rem;padding:.5rem;cursor:pointer;transition:all .2s ease;opacity:0}.carousel-container:hover .carousel-nav{opacity:1}.carousel-nav:hover:not(:disabled){background:#f9fafb;transform:translateY(-50%) scale(1.05)}.carousel-nav:disabled{opacity:.3;cursor:not-allowed}.carousel-nav-prev{left:-20px}.carousel-nav-next{right:-20px}.carousel-nav-inside.carousel-nav-prev{left:10px}.carousel-nav-inside.carousel-nav-next{right:10px}.carousel-pagination{display:flex;justify-content:center;align-items:center;margin-top:1rem;gap:.5rem}.carousel-pagination-dots{gap:.25rem}.carousel-pagination-dot{width:8px;height:8px;border-radius:9999px;background:#d1d5db;border:none;padding:0;cursor:pointer;transition:all .3s ease}.carousel-pagination-dot:hover:not(:disabled){background:#9ca3af}.carousel-pagination-dot-active{background:#3b82f6;width:24px;border-radius:4px}.carousel-pagination-dot:disabled{cursor:default}.carousel-pagination-progress{width:100%;height:4px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.carousel-pagination-progress-bar{height:100%;background:#3b82f6;transition:width .3s ease}.carousel-container[data-orientation=vertical] .carousel-scroller{flex-direction:column;overflow-x:hidden;overflow-y:auto}.carousel-container[data-orientation=vertical] .carousel-nav{top:auto;left:50%;transform:translateX(-50%)}.carousel-container[data-orientation=vertical] .carousel-nav-prev{top:-20px}.carousel-container[data-orientation=vertical] .carousel-nav-next{bottom:-20px}@media (min-width:768px){.carousel-nav-prev{left:-50px}.carousel-nav-next{right:-50px}}