/* Feature — Public price page: stock-style ribbon (buy-price movers). Loaded only by public/prices/index.blade.php, after public-prices.css. */

/* ── Stock-style ribbon (buy-price movers) ── */
.price-ticker {
    display: flex;
    align-items: stretch;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    background: var(--bg-elevated);
    overflow: hidden;
}

.price-ticker__title {
    display: flex;
    align-items: center;
    padding: 0 0.875rem;
    background: var(--secondary);
    /* intentional: white label fixed on the constant slate */
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
}

.price-ticker__viewport {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.price-ticker__track {
    display: flex;
    width: max-content;
    animation: price-ticker-scroll 40s linear infinite;
}

.price-ticker--paused .price-ticker__track,
.price-ticker__viewport:hover .price-ticker__track,
.price-ticker__viewport:focus-within .price-ticker__track {
    animation-play-state: paused;
}

.price-ticker__list {
    display: flex;
    min-width: 100%;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.price-ticker__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-right: 1px solid var(--border-color);
    font-size: var(--fs-sm);
    white-space: nowrap;
}

.price-ticker__name {
    font-weight: var(--fw-semibold);
}

.price-ticker__price {
    font-weight: var(--fw-bold);
    color: var(--text-primary);
}

.price-ticker__toggle {
    flex-shrink: 0;
    padding: 0 0.875rem;
    border: 0;
    border-left: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    cursor: pointer;
}

.price-ticker__toggle:hover {
    color: var(--primary);
}

@keyframes price-ticker-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* No motion: the ribbon stays still and the viewport scrolls by hand. The
   duplicated (aria-hidden) copy is dropped so nothing repeats. */
@media (prefers-reduced-motion: reduce) {
    .price-ticker__track {
        animation: none;
    }

    .price-ticker__viewport {
        overflow-x: auto;
    }

    .price-ticker__list[aria-hidden="true"],
    .price-ticker__toggle {
        display: none;
    }
}


.price-ticker__price.money-value {
    color: var(--text-primary);
}

/* Dark parity of the ribbon (same lift as the cards: see public-prices.css). */
.dark .price-ticker {
    border-color: color-mix(in srgb, var(--text-secondary) 55%, var(--border-color));
    background: var(--bg-secondary);
}
