/**
 * Oguey Custom — Marquee module v1.3
 *
 * Pattern simple :
 *   - Track flex avec gap uniforme
 *   - Liste plate alternée [text, char, text, char, ...]
 *   - 8 paires (16 enfants) répétées 2× = 32 enfants total
 *   - Animation translateX(0) → translateX(-50%) sur la totalité du track
 *
 * Le character apparaît garantiment APRÈS chaque texte (ordre DOM strict).
 */

.oguey-marquee {
    --_speed: var(--oguey-marquee-speed, 60s);
    --_font-size: var(--oguey-marquee-font-size, 100px);
    --_color: var(--oguey-marquee-color, #143F84);
    --_gap: var(--oguey-marquee-gap, 60px);
    --_character: var(--oguey-marquee-character);

    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 0;
    margin: 0;
    line-height: 1;
}

.oguey-marquee__track {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: var(--_gap);
    width: max-content;
    padding-right: var(--_gap); /* pour le dernier element avant la wrap */
    will-change: transform;
    animation: oguey-marquee-scroll var(--_speed) linear infinite;
}

.oguey-marquee__text {
    font-family: 'Playfair Display SC', 'Playfair Display', Georgia, serif;
    font-weight: 700;
    font-size: var(--_font-size);
    line-height: 1.15;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--_color);
    margin: 0;
    padding: 0;
    white-space: nowrap;
    flex-shrink: 0;
}

.oguey-marquee__character {
    display: block;
    height: calc(var(--_font-size) * 1.1);
    width: auto;
    flex-shrink: 0;
    background-image: var(--_character);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 84 / 124;
}

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

.oguey-marquee--ltr .oguey-marquee__track { animation-direction: reverse; }
.oguey-marquee--slow .oguey-marquee__track { animation-duration: calc(var(--_speed) * 1.6); }
.oguey-marquee--fast .oguey-marquee__track { animation-duration: calc(var(--_speed) * 0.6); }

.oguey-marquee:hover .oguey-marquee__track {
    animation-play-state: paused;
}

.oguey-marquee:not(.oguey-marquee--ready) {
    visibility: hidden;
    height: calc(var(--_font-size) * 1.4);
}

@media (max-width: 1280px) {
    .oguey-marquee {
        --_font-size: clamp(60px, 8vw, var(--oguey-marquee-font-size, 100px));
        --_gap: clamp(28px, 4vw, var(--oguey-marquee-gap, 60px));
    }
}
@media (max-width: 768px) {
    .oguey-marquee {
        --_font-size: clamp(40px, 9vw, 70px);
        --_gap: clamp(20px, 3vw, 36px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .oguey-marquee__track {
        animation: none !important;
        transform: none !important;
    }
}
