/* Lumina Publish Carousel */
.lp-carousel-outer { position: relative; }
.lp-carousel-wrap { overflow: hidden; padding: 4px 0 8px; }
.lp-carousel-track { display: flex; gap: 16px; padding: 0 24px; transition: transform 0.42s cubic-bezier(0.25,0.46,0.45,0.94); will-change: transform; cursor: grab; user-select: none; }
.lp-carousel-track.dragging { transition: none; cursor: grabbing; }
.lp-carousel-card { flex: 0 0 280px; background: var(--lp-surface); border-radius: 12px; overflow: hidden; border: 0.5px solid var(--lp-border); transition: transform 0.35s ease, opacity 0.35s ease, border-color 0.35s ease; opacity: 0.7; transform: scale(0.96); }
.lp-carousel-card.active { opacity: 1; transform: scale(1); border-color: rgba(201,168,76,0.5); }
.lp-carousel-img { width: 100%; height: 160px; position: relative; overflow: hidden; background: var(--lp-surface); }
.lp-carousel-img > div { transition: transform 0.5s ease; }
.lp-carousel-card:hover .lp-carousel-img > div { transform: scale(1.04); }
.lp-card-tag { position: absolute; top: 10px; left: 10px; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 10px; border-radius: 3px; font-weight: 600; }
.lp-carousel-btn { display: block; width: 100%; padding: 8px; border: 0.5px solid var(--lp-border); background: transparent; color: var(--lp-muted); font-size: 12px; cursor: pointer; border-radius: 6px; font-family: inherit; transition: all 0.2s; text-decoration: none; text-align: center; }
.lp-carousel-card.active .lp-carousel-btn { border-color: rgba(201,168,76,0.4); color: var(--lp-gold); }
.lp-carousel-btn:hover { background: var(--lp-gold) !important; color: #1a1a1a !important; border-color: var(--lp-gold) !important; }
.lp-carousel-nav { position: absolute; top: 50%; transform: translateY(-70%); width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.9); border: 0.5px solid var(--lp-border); color: var(--lp-text); cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.2s, background 0.2s; z-index: 10; font-size: 18px; }
.lp-carousel-outer:hover .lp-carousel-nav { opacity: 1; }
.lp-carousel-nav:hover { background: var(--lp-gold); color: #1a1a1a; }
.lp-carousel-nav:disabled { opacity: 0.2 !important; pointer-events: none; }
.lp-carousel-prev { left: 8px; }
.lp-carousel-next { right: 8px; }
.lp-carousel-progress { height: 2px; background: rgba(201,168,76,0.15); margin: 10px 24px 0; border-radius: 1px; overflow: hidden; }
.lp-carousel-progress-fill { height: 100%; background: var(--lp-gold); border-radius: 1px; width: 0%; transition: width 0.1s linear; }
.lp-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; height: 8px; }
.lp-carousel-dot { height: 4px; border-radius: 2px; background: rgba(201,168,76,0.25); transition: width 0.35s cubic-bezier(0.25,0.46,0.45,0.94), background 0.35s ease; width: 16px; cursor: pointer; border: none; padding: 0; }
.lp-carousel-dot.active { width: 28px; background: var(--lp-gold); }
