/* ── Runtime Carousel (shared component) ── */

/* Container: no border-radius, no margin — fused with page */
.rt-carousel{position:relative;overflow:hidden;aspect-ratio:16/7;}
.rt-carousel-vp{overflow:hidden;height:100%;}
.rt-carousel-track{display:flex;height:100%;transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);}

/* Card */
.rt-c-card{flex-shrink:0;width:100%;height:100%;position:relative;overflow:hidden;cursor:pointer;}
.rt-c-artwork{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.rt-c-artwork img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.rt-c-artwork-emoji{position:absolute;font-size:42px;z-index:2;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.4));letter-spacing:6px;}

/* Info bar — fused gradient, no hard edge */
.rt-c-infobar{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,transparent 100%);}
.rt-c-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#fff;}
.rt-c-text{flex:1;min-width:0;}
.rt-c-cat{font-size:9px;color:rgba(255,255,255,0.5);letter-spacing:0.5px;}
.rt-c-name{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rt-c-desc{font-size:11px;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rt-c-get{background:linear-gradient(135deg,#007AFF,#0055DD);color:#fff;font-size:12px;font-weight:700;padding:5px 16px;border-radius:99px;flex-shrink:0;}

/* Dots */
.rt-c-dots{position:absolute;bottom:8px;right:14px;display:flex;gap:4px;z-index:4;}
.rt-c-dot{width:5px;height:5px;border-radius:99px;background:rgba(255,255,255,0.35);transition:all 0.3s;}
.rt-c-dot.active{width:16px;background:#fff;}
