/* ===========================================================
   MDC · Carrousel de Logos
   =========================================================== */
.mdc-logos{
    --mdc-gap:40px;
    --mdc-speed:30s;
    --mdc-accent:#b8252e;
    --mdc-primary:#080a0a;
    width:100%;
    position:relative;
}

/* Logo (commun) */
.mdc-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .3s ease, box-shadow .3s ease;
}
.mdc-logo img{
    height:70px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    transition:filter .35s ease, opacity .35s ease, transform .35s ease;
}
.mdc-logos.is-gray .mdc-logo img{ filter:grayscale(100%); }
.mdc-logos.is-gray .mdc-logo:hover img{ filter:grayscale(0); opacity:1 !important; }
.mdc-logo:hover img{ opacity:1 !important; transform:scale(1.04); }

/* Carte optionnelle */
.mdc-logos.has-card .mdc-logo{
    background:#fff;
    border-radius:12px;
    padding:18px 24px;
    box-shadow:0 8px 24px rgba(31,30,143,0.06);
}
.mdc-logos.has-card .mdc-logo:hover{ transform:translateY(-4px); box-shadow:0 14px 32px rgba(31,30,143,0.12); }

/* ===========================================================
   MODE MARQUEE (ruban infini)
   =========================================================== */
.mdc-logos.is-marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mdc-logos-track{
    display:flex;
    align-items:center;
    gap:var(--mdc-gap);
    width:max-content;
    animation:mdcMarquee var(--mdc-speed) linear infinite;
}
.mdc-logos.is-marquee[data-dir="right"] .mdc-logos-track{ animation-direction:reverse; }
.mdc-logos.pause-hover:hover .mdc-logos-track{ animation-play-state:paused; }
.mdc-logos-track .mdc-logo{ flex:0 0 auto; }
@keyframes mdcMarquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(calc(-50% - (var(--mdc-gap) / 2))); }
}

/* ===========================================================
   MODE GRILLE
   =========================================================== */
.mdc-logos-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:var(--mdc-gap);
    align-items:center;
}

/* ===========================================================
   MODE SLIDER
   =========================================================== */
.mdc-logos.is-slider{ display:flex; align-items:center; gap:14px; }
.mdc-logos-viewport{ overflow:hidden; flex:1; }
.mdc-logos-slider{
    display:flex;
    gap:var(--mdc-gap);
    align-items:center;
    transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.mdc-logos-slider .mdc-logo{ flex:0 0 calc((100% - (var(--mdc-gap) * 4)) / 5); }
.mdc-logos-arrow{
    flex:0 0 auto;
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    border:none; border-radius:50%;
    background:var(--mdc-primary); color:#fff;
    cursor:pointer;
    transition:background .3s ease, transform .25s ease;
}
.mdc-logos-arrow:hover{ background:var(--mdc-accent); transform:scale(1.06); }

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:1024px){
    .mdc-logos-grid{ grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:600px){
    .mdc-logos-grid{ grid-template-columns:repeat(2, 1fr); }
    .mdc-logo img{ height:54px; }
    .mdc-logos.is-slider{ gap:8px; }
    .mdc-logos-arrow{ width:38px; height:38px; }
}
