.tictacode-carousel-wrapper{position:relative;width:100%;box-sizing:border-box;user-select:none;-webkit-user-select:none;touch-action:pan-y}.tictacode-carousel-viewport{position:relative;width:100%;overflow:hidden}.tictacode-carousel-track{display:flex;width:100%;box-sizing:border-box;transition:transform var(--transition-speed,.4s) cubic-bezier(.25,1,.5,1);will-change:transform}.tictacode-carousel-slide{flex:0 0 calc(100% / var(--slides-per-view, 1));max-width:calc(100% / var(--slides-per-view, 1));box-sizing:border-box;padding:0 calc(var(--gap, 16px) / 2)}.tictacode-carousel-slide-media{position:relative;display:block;width:100%;aspect-ratio:var(--aspect-ratio,16/9);overflow:hidden;background-color:#f1f5f9}.tictacode-carousel-img{width:100%;height:100%;object-fit:var(--object-fit,cover);display:block;transition:transform .4s ease}.tictacode-carousel-centered .tictacode-carousel-viewport{padding:0 var(--center-pad,60px)}.tictacode-carousel-centered .tictacode-carousel-slide{flex:0 0 calc(75% / var(--slides-per-view, 1));max-width:calc(75% / var(--slides-per-view, 1));padding:0 10px}.tictacode-carousel-zoom .tictacode-carousel-slide-media:hover .tictacode-carousel-img{transform:scale(var(--zoom-scale,1.08))}.tictacode-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;border:none;outline:none;cursor:pointer;transition:background-color .2s ease,opacity .2s ease,transform .2s ease}.tictacode-carousel-arrow:hover{transform:translateY(-50%) scale(1.05)}.tictacode-carousel-arrow.disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.tictacode-carousel-arrow-prev{left:12px}.tictacode-carousel-arrow-next{right:12px}.tictacode-carousel-dots{display:flex;align-items:center;justify-content:center;margin-top:16px;gap:8px}.tictacode-carousel-dot{border:none;padding:0;margin:0;border-radius:50%;cursor:pointer;transition:background-color .25s ease,transform .25s ease}.tictacode-carousel-dot.is-active{transform:scale(1.25)}.tictacode-carousel-placeholder{padding:40px 20px;text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:14px}