/**
 * BBS - Branduri prezente (carusel decorativ).
 * Animatie pura CSS, fara JS. Loop seamless prin duplicarea listei in HTML.
 *
 * Variabile setate inline pe .bbs-branduri-prezente:
 *   --bbs-bp-viteza    durata animatie (ex: 40s)
 *   --bbs-bp-inaltime  inaltime container logo (ex: 120px)
 */

.bbs-branduri-prezente {
    --bbs-albastru-inchis: #002145;
    --bbs-albastru-deschis: #0073AA;

    width: 100%;
    max-width: 100%;
    margin: 24px 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}

/* Titlu optional deasupra carusel-ului. */
.bbs-branduri-prezente .bbs-bp-titlu {
    text-align: center;
    color: var(--bbs-albastru-inchis);
    font-family: "Baloo 2", system-ui, -apple-system, sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 24px 0;
    padding: 0;
}

/* Wrapper carusel - mascheaza overflow-ul. */
.bbs-branduri-prezente .bbs-bp-carusel {
    width: 100%;
    overflow: hidden;
    position: relative;
    /* Fade margini stanga / dreapta pentru efect smooth in/out. */
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0,
        #000 80px,
        #000 calc(100% - 80px),
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0,
        #000 80px,
        #000 calc(100% - 80px),
        transparent 100%
    );
}

/* Track-ul care contine logo-urile (de doua ori, pentru loop seamless). */
.bbs-branduri-prezente .bbs-bp-track {
    display: flex;
    align-items: center;
    gap: 32px;
    width: max-content;
    animation: bbs-bp-scroll var(--bbs-bp-viteza, 40s) linear infinite;
    will-change: transform;
}

/* Pause la hover (UX: utilizatorul vrea sa se uite mai bine). */
.bbs-branduri-prezente .bbs-bp-carusel:hover .bbs-bp-track {
    animation-play-state: paused;
}

/* Logo individual. */
.bbs-branduri-prezente .bbs-bp-logo {
    flex: 0 0 auto;
    height: var(--bbs-bp-inaltime, 138px);
    width: var(--bbs-bp-inaltime, 138px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.bbs-branduri-prezente .bbs-bp-logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    filter: grayscale(0%);
    transition: filter 0.3s ease;
}

/* Animatia: deplasare de la 0 la -50% (jumatatea track-ului = lista 1 completa). */
@keyframes bbs-bp-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Respecta preferinta utilizatorului pentru reduced motion. */
@media (prefers-reduced-motion: reduce) {
    .bbs-branduri-prezente .bbs-bp-track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }
    .bbs-branduri-prezente .bbs-bp-carusel {
        -webkit-mask-image: none;
        mask-image: none;
    }
}

/* Responsive: logo-uri mai mici pe mobil. */
@media (max-width: 768px) {
    .bbs-branduri-prezente .bbs-bp-titlu {
        font-size: 22px;
        margin-bottom: 16px;
    }
    .bbs-branduri-prezente .bbs-bp-track {
        gap: 20px;
    }
    .bbs-branduri-prezente .bbs-bp-logo {
        height: calc(var(--bbs-bp-inaltime, 138px) * 0.75);
        width: calc(var(--bbs-bp-inaltime, 138px) * 0.75);
        padding: 8px;
    }
}

@media (max-width: 480px) {
    .bbs-branduri-prezente .bbs-bp-titlu {
        font-size: 18px;
    }
    .bbs-branduri-prezente .bbs-bp-track {
        gap: 14px;
    }
    .bbs-branduri-prezente .bbs-bp-logo {
        height: calc(var(--bbs-bp-inaltime, 138px) * 0.6);
        width: calc(var(--bbs-bp-inaltime, 138px) * 0.6);
        padding: 6px;
    }
}
