/* Partenaires — dix logos d'origines, de formats et de qualités différents.
   Rien n'est retouché : on leur donne à tous le même cadre, la même hauteur
   utile et un fond neutre, et c'est le cadre qui fait l'homogénéité. */
.ck-home .ck-partners,
.ck-home .ck-partners * { box-sizing: border-box; }

.ck-home .ck-partners {
    --ck-separator-light: #D7D2C6;
    --ck-partner-height: 6.5rem;
    padding-block: clamp(3rem, 8vw, 5.5rem);
    background: var(--ck-ivory);
    color: var(--ck-black);
}
.ck-home .ck-partners__inner { display: grid; gap: clamp(2rem, 5vw, 2.75rem); min-width: 0; }

.ck-home .ck-partners__eyebrow {
    margin: 0 0 .75rem;
    color: var(--ck-text-dark-secondary);
    font: 600 .875rem/1.5 'Chivo', Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ck-home .ck-partners__title {
    margin: 0;
    color: var(--ck-black);
    font: 800 clamp(1.875rem, 7.5vw, 2.5rem)/1.1 'Archivo', Arial, sans-serif;
    letter-spacing: -.015em;
}
.ck-home .ck-partners__lead {
    max-width: 34rem;
    margin: .875rem 0 0;
    color: var(--ck-text-dark-secondary);
    font: 400 1.0625rem/1.6 'Chivo', Arial, sans-serif;
}

/* Mobile : bande défilante au doigt. Pas de carrousel, pas de minuterie, pas
   de script — le navigateur sait déjà faire défiler et s'aimanter. */
.ck-home .ck-partners__list {
    display: flex;
    gap: .75rem;
    min-width: 0;
    margin: 0;
    padding: 0 .25rem .5rem 0;
    overflow-x: auto;
    overflow-y: hidden;
    list-style: none;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.ck-home .ck-partners__list::-webkit-scrollbar { display: none; }
.ck-home .ck-partners__item { flex: 0 0 72vw; min-width: 0; scroll-snap-align: start; }
.ck-home .ck-partners__item:last-child { scroll-snap-align: end; }

/* La carte : un rectangle net, un filet léger, aucun arrondi. */
.ck-home .ck-partner {
    display: block;
    height: 100%;
    padding: 1.5rem 1.25rem;
    border: 1px solid var(--ck-separator-light);
    background: #FFFFFF;
    color: inherit;
    text-decoration: none;
    transition: border-color var(--ck-transition), transform var(--ck-transition);
}
.ck-home .ck-partner__frame {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--ck-partner-height);
}
/* contain + hauteur de zone commune : un logo horizontal, carré ou vertical
   reste entier et à son ratio, sans recadrage ni étirement. */
.ck-home .ck-partner__logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Seules les cartes qui mènent quelque part réagissent. Les autres ne sont ni
   liens ni boutons : elles n'ont ni curseur, ni survol, ni focus. */
.ck-home .ck-partner--link:hover { transform: translateY(-2px); border-color: var(--ck-black); }
.ck-home .ck-partner--link:focus-visible { outline: 3px solid var(--ck-black); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .ck-home .ck-partner--link:hover { transform: none; }
}

/* Les partenaires sans logo exploitable dans l'archive. Le traitement est
   volontairement typographique : il doit se lire comme un choix, pas comme une
   image qui manque. */
.ck-home .ck-partner__wordmark {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    text-align: center;
}
.ck-home .ck-partner__word-kicker {
    color: var(--ck-text-dark-secondary);
    font: 600 .75rem/1.4 'Chivo', Arial, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.ck-home .ck-partner__word-main {
    position: relative;
    padding-bottom: .625rem;
    color: var(--ck-black);
    font: 800 clamp(1.125rem, 3.5vw, 1.375rem)/1.15 'Archivo', Arial, sans-serif;
    letter-spacing: -.01em;
    text-transform: uppercase;
}
.ck-home .ck-partner__word-main::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1.75rem;
    height: 3px;
    background: var(--ck-yellow);
    transform: translateX(-50%);
}

@media (min-width: 768px) {
    /* La bande redevient une grille : deux par ligne, cartes plus hautes.
       Deux colonnes plutôt que trois : dix partenaires font cinq lignes
       pleines, là où trois colonnes laissaient une carte seule en fin de
       grille. */
    .ck-home .ck-partners { --ck-partner-height: 7rem; }
    .ck-home .ck-partners__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        padding: 0;
        overflow: visible;
    }
    .ck-home .ck-partners__item { flex: none; }
    .ck-home .ck-partner { padding: 1.75rem 1.5rem; }
}

@media (min-width: 1150px) {
    /* Cinq par ligne, deux lignes pleines : dix partenaires, aucune carte
       orpheline, et des logos qui restent lisibles. */
    .ck-home .ck-partners { --ck-partner-height: 7.5rem; }
    .ck-home .ck-partners__list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; }
    .ck-home .ck-partners__title { font-size: clamp(2.75rem, 3.6vw, 3.5rem); }
}
