@import url(https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap);

/* ==========================================================
 * DBC · Logos — Marquee infini avec grayscale + mask
 * ========================================================== */

.dbc-logos {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --dbc-logos-mask: #ffffff;
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    width: 100%;
}

/* ============ HEADER ============ */
.dbc-logos__header {
    text-align: center;
    margin-bottom: 36px;
    padding: 0 24px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.dbc-logos__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 12px;
    color: #0d4899;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dbc-logos__eyebrow-line {
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, #f49826, #e25312);
    border-radius: 2px;
}

.dbc-logos__title {
    margin: 0;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 700;
    color: #475569;
}

/* ============ MARQUEE (defile infini) ============ */
.dbc-logos__marquee {
    display: flex;
    overflow: hidden;
    /* Mask gradient sur les bords pour fondu */
    mask-image: linear-gradient(
        90deg,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
    );
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
    );
}

.dbc-logos__track {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 60px;
    padding: 0 30px;
    animation-name: dbcLogosScroll;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: 30s;
    will-change: transform;
}

/* Direction inverse (vers droite) */
.dbc-logos--reverse .dbc-logos__track {
    animation-direction: reverse;
}

/* Pause au hover */
.dbc-logos--pause-hover:hover .dbc-logos__track {
    animation-play-state: paused;
}

@keyframes dbcLogosScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
}

/* ============ ITEM (1 logo) ============ */
/* Chaque logo occupe une "case" de taille fixe (largeur ET hauteur),
   l'image est contrainte à l'intérieur en object-fit: contain.
   => tous les logos paraissent harmonisés quelle que soit leur forme
   (large, haut, carré), sans débordement ni coupure. */
.dbc-logos__item {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 90px;
    padding: 0 10px;
    box-sizing: border-box;
}

.dbc-logos__item img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    transition: filter 0.4s ease, opacity 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Mode grayscale → couleur au hover */
.dbc-logos--grayscale .dbc-logos__item img {
    filter: grayscale(100%);
    opacity: 0.55;
}

.dbc-logos--grayscale .dbc-logos__item img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.08);
}

/* Si le logo est dans un lien */
.dbc-logos__item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}
.dbc-logos__item a img { max-height: 100%; max-width: 100%; }

/* ============ RESPONSIVE ============ */
@media (max-width: 640px) {
    .dbc-logos { padding: 40px 0; }
    .dbc-logos__header { margin-bottom: 24px; }
    .dbc-logos__item { width: 130px; height: 64px; }
    .dbc-logos__marquee {
        mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dbc-logos__track {
        animation: none !important;
    }
    .dbc-logos__marquee {
        overflow-x: auto;
        scrollbar-width: thin;
    }
}

/* ============ FONTS DEFAULTS ============ */
.dbc-logos__eyebrow,
.dbc-logos__title { font-family: 'Sora', -apple-system, BlinkMacSystemFont, sans-serif; }
