/* ═══════════════════════════════════════════════════════════
   MOXABUILDER VXP — MARQUEE MODÜLÜ (Premium++++ Enterprise)
   Klasik / Sonsuz Çift Şerit / Eğik Şerit varyantları.
   Rich text + çok dilli + metin animasyonu + Motion/Binding uyumu.
   ═══════════════════════════════════════════════════════════ */

/* ── Modül kapsayıcı ── */
.pb-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.pb-marquee--empty {
    justify-content: center;
    min-height: 48px;
}

.pb-marquee-empty-msg {
    padding: 1rem 1.5rem;
    color: #94a3b8;
    font-size: 0.875rem;
}

/* ── Sonsuz akış izi (default + marquee-inf) ── */
.pb-marquee-inf__track {
    display: flex;
    align-items: center;
    width: max-content;
    min-width: 100%;
    animation: pb-marquee-shift linear infinite;
    will-change: transform;
}

.pb-marquee-inf__track--reverse,
.pb-marquee--reverse .pb-marquee-inf__track {
    animation-direction: reverse;
}

.pb-marquee--default {
    padding: 0.75rem 0;
}

.pb-marquee--inf {
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 0;
}

/* Çift satır (double_row) — tek/çift satır fark etmeksizin dikey dizilim */
.pb-marquee--multi {
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 0;
}

.pb-marquee-inf__row {
    width: 100%;
}

/* ── Kenar yumuşatma (mask fade) ── */
.pb-marquee__fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 12%;
    pointer-events: none;
    z-index: 2;
}

.pb-marquee__fade--l {
    left: 0;
    background: linear-gradient(90deg, var(--pb-marquee-fade, #0b1220) 0%, transparent 100%);
}

.pb-marquee__fade--r {
    right: 0;
    background: linear-gradient(270deg, var(--pb-marquee-fade, #0b1220) 0%, transparent 100%);
}

/* ── Şerit öğeleri (Module > Child > Child Element) ── */
.pb-marquee-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1;
}

.pb-marquee-item--upper {
    text-transform: uppercase;
}

.pb-marquee-item--ls {
    letter-spacing: 0.28em;
}

.pb-marquee-item--xs .pb-marquee-text { font-size: 0.7rem; }
.pb-marquee-item--sm .pb-marquee-text { font-size: 0.875rem; }
.pb-marquee-item--base .pb-marquee-text { font-size: 1rem; }
.pb-marquee-item--lg .pb-marquee-text { font-size: 1.25rem; }
.pb-marquee-item--xl .pb-marquee-text { font-size: 1.5rem; }
.pb-marquee-item--2xl .pb-marquee-text { font-size: 2rem; }
.pb-marquee-item--3xl .pb-marquee-text { font-size: 2.5rem; }

.pb-marquee-text {
    display: inline;
    font-weight: 700;
}

.pb-marquee-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pb-marquee-img {
    height: 1.75em;
    width: auto;
    max-height: 3.5rem;
    object-fit: contain;
    display: inline-block;
    flex-shrink: 0;
}

.pb-marquee-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2em 0.6em;
    border-radius: 999px;
    font-size: 0.65em;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #fff;
    background: var(--pb-marquee-badge, #c9a227);
    flex-shrink: 0;
}

.pb-marquee-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 800;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid currentColor;
    flex-shrink: 0;
    transition: opacity 0.2s ease;
}

.pb-marquee-link:hover {
    opacity: 0.75;
}

.pb-marquee-sep {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    user-select: none;
}

/* ── Hover'da duraklat ── */
.pb-marquee[data-marquee-pause="1"]:hover .pb-marquee-inf__track,
.pb-marquee[data-marquee-pause="1"]:hover .pb-marquee-tilted__track {
    animation-play-state: paused;
}

/* ── Eğik şerit (tilted) ── */
.pb-marquee--tilted {
    flex-direction: column;
    gap: 0.75rem;
    padding: 2rem 0;
}

.pb-marquee-tilted__row {
    position: relative;
    transform: rotate(calc(-1 * var(--pb-marquee-tilt, 3.5deg)));
    width: 100%;
}

.pb-marquee-tilted__row--b {
    transform: rotate(var(--pb-marquee-tilt, 3.5deg));
}

.pb-marquee-tilted__track {
    display: flex;
    align-items: center;
    width: max-content;
    min-width: 100%;
    animation: pb-marquee-shift linear infinite;
    will-change: transform;
}

.pb-marquee-tilted__track--reverse {
    animation-direction: reverse;
}

/* ── Animasyon keyframes ── */
@keyframes pb-marquee-shift {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-33.333%);
    }
}

/* ── Reduced motion güvenliği ── */
@media (prefers-reduced-motion: reduce) {
    .pb-marquee-inf__track,
    .pb-marquee-tilted__track {
        animation: none !important;
        flex-wrap: wrap;
        width: 100%;
        gap: 1rem;
    }
}
