/* ==========================================================================
   ECOSYSTEM — 5 logos
   4 cliquables : gris repos → rouge hover
   Simon Rubinstein : statique (site en construction)
   ========================================================================== */

.section--ecosystem {
    border-top: 1px solid var(--color-line);
    padding-block: var(--sp-7);
}

.ecosystem__list {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-3);
    margin-top: var(--sp-4);
}

@media (min-width: 640px) {
    .ecosystem__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .ecosystem__list {
        grid-template-columns: repeat(5, 1fr);
        gap: var(--sp-2);
    }
}

.ecosystem__item {
    display: flex;
}

.ecosystem__link {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--sp-3);
    padding: var(--sp-5) var(--sp-3);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--color-mute);
    text-decoration: none;
    min-height: 160px;
    transition:
        color var(--dur-base) var(--ease-out-expo),
        border-color var(--dur-base) var(--ease-out-expo),
        transform var(--dur-base) var(--ease-out-expo),
        background-color var(--dur-base) var(--ease-out-expo);
}

.ecosystem__logo {
    width: 100%;
    max-width: 100%;
    height: 72px;
    display: block;
    object-fit: contain;
}

/* Couleurs Warhol distinctes par marque */
.ecosystem__item[data-eco="heygo"]      .ecosystem__link { color: #F48233; }
.ecosystem__item[data-eco="astrids"]    .ecosystem__link { color: #451300; }
.ecosystem__item[data-eco="rubinstein"] .ecosystem__link { color: #54585A; }
.ecosystem__item[data-eco="justsmile"]  .ecosystem__link { color: #ED80B3; }
.ecosystem__item[data-eco="ordopay"]    .ecosystem__link { color: #192643; }

/* Hover : la couleur de marque s'intensifie — pas de switch vers rouge Heyse */
@media (hover: hover) and (pointer: fine) {
    a.ecosystem__link:hover {
        transform: translateY(-3px) skewX(-1deg);
        background: rgba(255, 255, 255, 0.8);
    }
    .ecosystem__item[data-eco="heygo"]      a.ecosystem__link:hover { border-color: #F48233; background: rgba(244, 130, 51, 0.05); }
    .ecosystem__item[data-eco="astrids"]    a.ecosystem__link:hover { border-color: #451300; background: rgba(69, 19, 0, 0.05); }
    .ecosystem__item[data-eco="rubinstein"] a.ecosystem__link:hover { border-color: #54585A; background: rgba(84, 88, 90, 0.05); }
    .ecosystem__item[data-eco="justsmile"]  a.ecosystem__link:hover { border-color: #ED80B3; background: rgba(237, 128, 179, 0.05); }
    .ecosystem__item[data-eco="ordopay"]    a.ecosystem__link:hover { border-color: #192643; background: rgba(25, 38, 67, 0.05); }
}

/* Focus clavier */
a.ecosystem__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
    border-color: currentColor;
}

/* Responsive — tablette */
@media (min-width: 640px) and (max-width: 1023px) {
    .ecosystem__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Desktop large */
@media (min-width: 1024px) {
    .ecosystem__link {
        min-height: 200px;
    }
    .ecosystem__logo {
        height: 80px;
    }
}

/* Mobile — 2 colonnes */
@media (max-width: 639px) {
    .ecosystem__list {
        grid-template-columns: repeat(2, 1fr);
    }
    .ecosystem__link {
        min-height: 130px;
    }
    .ecosystem__logo {
        height: 56px;
    }
}

/* Simon Rubinstein — statique, non cliquable */
.ecosystem__link--static {
    cursor: default;
    opacity: 0.6;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .ecosystem__link {
        transition: none;
    }
    a.ecosystem__link:hover {
        transform: none;
    }
}
