.carousel-container{position:relative;width:100%;max-width:100%;margin:0 auto}.carousel-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.carousel-image-container{position:relative;width:100%;height:500px;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center}.carousel-image{position:relative!important}.carousel-image,.carousel-image-img{width:100%!important;height:100%!important}.carousel-image-img{-o-object-fit:cover!important;object-fit:cover!important;transition:transform .3s ease}.carousel-placeholder{display:flex;align-items:center;justify-content:center;height:500px;background-color:#f3f4f6;color:#6b7280;font-size:1.125rem}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;height:3rem;width:3rem;border-radius:0;border-width:1px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));opacity:.4;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.carousel-arrow:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.carousel-arrow{display:flex;align-items:center;justify-content:center;cursor:pointer}.carousel-arrow-left{left:16px}.carousel-arrow-right{right:16px}.carousel-arrow-icon{height:3rem;width:3rem;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));transition:color .3s ease}.carousel-arrow:hover .carousel-arrow-icon{color:#1f2937}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}.carousel-dot{width:12px;height:12px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;transition:all .3s ease}.carousel-dot:hover{background:rgba(255,255,255,.8);transform:scale(1.2)}.carousel-dot:focus{outline:2px solid #3b82f6;outline-offset:2px}.carousel-dot-active{background:#fff;transform:scale(1.2)}.carousel-counter{position:absolute;top:20px;right:20px;background:rgba(0,0,0,.7);color:#fff;padding:8px 12px;border-radius:20px;font-size:.875rem;font-weight:500;z-index:10}@media(max-width:768px){.carousel-image-container,.carousel-placeholder{height:300px}.carousel-arrow{width:40px;height:40px}.carousel-arrow-left{left:12px}.carousel-arrow-right{right:12px}.carousel-arrow-icon{width:20px;height:20px}.carousel-dots{bottom:16px}.carousel-dot{width:10px;height:10px}.carousel-counter{top:16px;right:16px;padding:6px 10px;font-size:.75rem}}@media(max-width:480px){.carousel-image-container,.carousel-placeholder{height:250px}.carousel-arrow{width:36px;height:36px}.carousel-arrow-left{left:8px}.carousel-arrow-right{right:8px}.carousel-arrow-icon{width:18px;height:18px}}.carousel-container.carousel-height-sm .carousel-image-container,.carousel-container.carousel-height-sm .carousel-placeholder{height:250px}@media(min-width:480px){.carousel-container.carousel-height-sm .carousel-image-container,.carousel-container.carousel-height-sm .carousel-placeholder{height:300px}}@media(min-width:768px){.carousel-container.carousel-height-sm .carousel-image-container,.carousel-container.carousel-height-sm .carousel-placeholder{height:350px}}@media(min-width:1024px){.carousel-container.carousel-height-sm .carousel-image-container,.carousel-container.carousel-height-sm .carousel-placeholder{height:400px}}.carousel-container.carousel-height-md .carousel-image-container,.carousel-container.carousel-height-md .carousel-placeholder{height:300px}@media(min-width:480px){.carousel-container.carousel-height-md .carousel-image-container,.carousel-container.carousel-height-md .carousel-placeholder{height:400px}}@media(min-width:768px){.carousel-container.carousel-height-md .carousel-image-container,.carousel-container.carousel-height-md .carousel-placeholder{height:500px}}@media(min-width:1024px){.carousel-container.carousel-height-md .carousel-image-container,.carousel-container.carousel-height-md .carousel-placeholder{height:600px}}.carousel-container.carousel-height-lg .carousel-image-container,.carousel-container.carousel-height-lg .carousel-placeholder{height:400px}@media(min-width:480px){.carousel-container.carousel-height-lg .carousel-image-container,.carousel-container.carousel-height-lg .carousel-placeholder{height:500px}}@media(min-width:768px){.carousel-container.carousel-height-lg .carousel-image-container,.carousel-container.carousel-height-lg .carousel-placeholder{height:600px}}@media(min-width:1024px){.carousel-container.carousel-height-lg .carousel-image-container,.carousel-container.carousel-height-lg .carousel-placeholder{height:700px}}@media(min-width:1280px){.carousel-container.carousel-height-lg .carousel-image-container,.carousel-container.carousel-height-lg .carousel-placeholder{height:800px}}.carousel-container.carousel-height-xl .carousel-image-container,.carousel-container.carousel-height-xl .carousel-placeholder{height:84vh}.carousel-loading-skeleton{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;animation:shimmer 2s infinite;z-index:5}.carousel-loading-content{display:flex;flex-direction:column;align-items:center;gap:12px}.carousel-loading-spinner{width:48px;height:48px;color:#3b82f6;animation:spin 1s linear infinite}.carousel-loading-text{color:#6b7280;font-size:.875rem;font-weight:500}.carousel-error-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#fef2f2;z-index:5}.carousel-error-text{color:#dc2626;font-size:.875rem;font-weight:500;padding:12px 24px;background-color:#fff;border:1px solid #fecaca;border-radius:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.carousel-loading-spinner{width:40px;height:40px}.carousel-loading-text{font-size:.75rem}.carousel-error-text{font-size:.75rem;padding:10px 20px}}@media(max-width:480px){.carousel-loading-spinner{width:36px;height:36px}.carousel-loading-text{font-size:.7rem}.carousel-error-text{font-size:.7rem;padding:8px 16px}}