/* ==========================================================================
   CERTIFICACIONES (a color)
   ========================================================================== */
.vxm-certifications {
    padding: var(--vxm-space-xl) 0;
    background: var(--vxm-white);
    border-top: 1px solid var(--vxm-gray-200);
}

.vxm-certifications__title {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--vxm-primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--vxm-space-xl);
}

.vxm-certifications__grid {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: var(--vxm-space-xl);
    padding: var(--vxm-space-md) 0;
}


.vxm-cert-item {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--vxm-transition);
}

.vxm-cert-item:hover {
    transform: scale(1.08);
}

.vxm-cert-item img {
    max-height: 130px;
    width: auto;
    object-fit: contain;
    transition: all var(--vxm-transition);
}

/* 3 logos: el del medio grande */
.vxm-certifications__grid .vxm-cert-item:nth-child(1) img,
.vxm-certifications__grid .vxm-cert-item:nth-last-child(1) img {
    max-height: 110px;
    opacity: 0.8;
}

.vxm-certifications__grid .vxm-cert-item:nth-child(2) img {
    max-height: 150px;
    opacity: 1;
}

/* 4 logos: los 2 del medio grandes */
.vxm-certifications__grid:has(> :nth-child(4)) .vxm-cert-item:nth-child(2) img,
.vxm-certifications__grid:has(> :nth-child(4)) .vxm-cert-item:nth-child(3) img {
    max-height: 150px;
    opacity: 1;
}

.vxm-certifications__grid:has(> :nth-child(4)) .vxm-cert-item:nth-child(1) img,
.vxm-certifications__grid:has(> :nth-child(4)) .vxm-cert-item:nth-child(4) img {
    max-height: 65px;
    opacity: 0.8;
}

@media (max-width: 768px) {
    .vxm-certifications__grid {
        flex-wrap: wrap;
        gap: var(--vxm-space-lg);
    }

    .vxm-certifications__grid .vxm-cert-item img,
    .vxm-certifications__grid .vxm-cert-item:nth-child(n) img {
        max-height: 60px;
        opacity: 1;
    }
}

/* ==========================================================================
   ALIANZAS (grises, color en hover)
   ========================================================================== */
.vxm-alliances {
    padding: var(--vxm-space-lg) 0 var(--vxm-space-xl);
    background: var(--vxm-white);
    overflow: hidden;
}

.vxm-alliances__title {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--vxm-primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--vxm-space-lg);
}

.vxm-alliances__carousel {
    position: relative;
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}

.vxm-alliances__track {
    display: flex;
    align-items: center;
    gap: 60px;
    animation: vxmScrollLogos 25s linear infinite;
    width: max-content;
}

.vxm-alliances__track:hover {
    animation-play-state: paused;
}

@keyframes vxmScrollLogos {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.vxm-alliances__grid {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--vxm-space-xl);
}

.vxm-alliance-item {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--vxm-transition);
}

.vxm-alliance-item img {
    max-height: 55px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.5);
    transition: all var(--vxm-transition);
}

.vxm-alliance-item:hover img {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.08);
}