.gg-servicios-empty {
    padding: 16px;
    background: #fffbeb;
    border-left: 4px solid #FFC800;
    color: #92400e;
    font-size: 0.95rem;
    border-radius: 4px;
}

.gg-servicios-carrusel {
    width: 100%;
    overflow: hidden;
    position: relative;
    cursor: grab;
    touch-action: pan-y;
}

.gg-servicios-carrusel.gg-arrastrando {
    cursor: grabbing;
}

.gg-servicios-carrusel__pista {
    display: flex;
    align-items: center;
    gap: 32px;
    width: max-content;
    animation-name: gg-servicios-carrusel-scroll;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: var(--gg-carrusel-duracion, 30s);
    will-change: transform;
}

.gg-servicios-carrusel:hover .gg-servicios-carrusel__pista,
.gg-servicios-carrusel:focus-within .gg-servicios-carrusel__pista {
    animation-play-state: paused;
}

.gg-servicios-carrusel__pista.gg-js-listo {
    animation: none;
}

@keyframes gg-servicios-carrusel-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.gg-servicios-item {
    flex: 0 0 140px;
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--gg-hover-duracion, 200ms) ease,
                box-shadow var(--gg-hover-duracion, 200ms) ease;
}

/* Los controles del widget (Estilo > "Efecto al pasar el mouse") solo fijan
   variables CSS en .gg-servicios-carrusel; se combinan aquí en un único
   transform por ítem (las Motion Effects nativas de Elementor animarían
   todo el carrusel a la vez, no cada ícono por separado). */
.gg-servicios-item:hover {
    transform: translate(var(--gg-hover-mover-x, 0px), calc(-1 * var(--gg-hover-elevar, 4px)))
               scale(var(--gg-hover-escala, 1));
}

.gg-servicios-item__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-user-drag: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.gg-servicios-item__img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
    -webkit-user-drag: none;
    user-select: none;
    -webkit-touch-callout: none;
}

@media (max-width: 767px) {
    .gg-servicios-item {
        flex-basis: 100px;
        width: 100px;
        height: 100px;
    }

    .gg-servicios-carrusel__pista {
        gap: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gg-servicios-carrusel__pista {
        animation: none;
    }
}
