/* ==========================================================
   LAL ALIADOS PRO · DIVI 5
   Base estructural. Los valores de diseño se generan desde
   los controles del módulo mediante ModuleStyles.
========================================================== */


/* El contenedor nativo de Divi ocupa toda la columna; el ancho máximo
   se aplica al shell interno y puede centrarse de forma real. */
.lal_d5_aliados_carousel {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
}

.lal-d5-allies {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
}

/* Marco interno: aquí vive el ancho máximo configurable.
   El elemento directo dentro de Divi sigue ocupando 100%, evitando
   que el Flex Row deje espacio libre a la derecha en el Builder. */
.lal-d5-frame {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.lal-d5-stage {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.lal-d5-allies .swiper {
    width: 100%;
    overflow: hidden;
}

.lal-d5-allies .swiper-wrapper {
    align-items: stretch;
}

.lal-d5-allies .swiper-slide {
    height: auto;
    min-width: 0;
    box-sizing: border-box;
}

.lal-d5-aliado-card {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    overflow: hidden;
    transition:
        transform .28s cubic-bezier(.22,.61,.36,1),
        border-color .28s ease,
        box-shadow .28s ease;
}

.lal-d5-aliado-logo {
    display: block;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    margin: 0 auto;
    transition:
        filter .28s ease,
        opacity .28s ease,
        transform .28s cubic-bezier(.22,.61,.36,1);
}

.lal-d5-logo-placeholder {
    font-family: Poppins, Arial, sans-serif;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #8c8782;
    text-align: center;
}

.lal-hover-black_n_white .lal-d5-aliado-logo {
    filter: grayscale(100%);
    opacity: .72;
}

.lal-hover-fade .lal-d5-aliado-logo {
    opacity: .72;
}

@media (hover: hover) {
    .lal-d5-aliado-card:hover {
        transform: translateY(-3px);
    }

    .lal-hover-black_n_white .lal-d5-aliado-card:hover .lal-d5-aliado-logo {
        filter: grayscale(0%);
        opacity: 1;
    }

    .lal-hover-zoom_in .lal-d5-aliado-card:hover .lal-d5-aliado-logo {
        transform: scale(1.035);
    }

    .lal-hover-fade .lal-d5-aliado-card:hover .lal-d5-aliado-logo {
        opacity: 1;
    }
}

/* Flechas: el icono es un glyph de Divi, no el pseudo-elemento de Swiper. */
.lal-d5-arrow {
    position: absolute;
    z-index: 8;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    margin: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        opacity .25s ease;
}

.lal-d5-prev { left: 0; }
.lal-d5-next { right: 0; }

.lal-d5-arrow::after,
.lal-d5-arrow.swiper-button-prev::after,
.lal-d5-arrow.swiper-button-next::after {
    content: none !important;
    display: none !important;
}

/* Swiper 12 usa SVG para navegación por defecto. El módulo usa sus propios
   iconos Divi, por lo que cualquier SVG de navegación residual se oculta. */
.lal-d5-arrow > .swiper-navigation-icon,
.lal-d5-arrow > svg.swiper-navigation-icon {
    display: none !important;
}

.lal-d5-arrow-glyph {
    display: block;
    font-style: normal;
    line-height: 1;
    width: 1em;
    height: 1em;
    text-align: center;
    transition: color .25s ease;
}

.lal-d5-arrow.swiper-button-disabled {
    opacity: .28;
    cursor: default;
}

@media (hover: hover) {
    .lal-d5-arrow:not(.swiper-button-disabled):hover {
        transform: translateY(-50%) scale(1.02);
    }
}

.lal-d5-pagination.swiper-pagination {
    position: static;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.lal-d5-pagination .swiper-pagination-bullet {
    margin: 0 !important;
    border-radius: 999px;
    opacity: 1;
    transition: width .22s ease, background .22s ease;
}

@media (prefers-reduced-motion: reduce) {
    .lal-d5-aliado-card,
    .lal-d5-aliado-logo,
    .lal-d5-arrow,
    .lal-d5-pagination .swiper-pagination-bullet {
        transition: none !important;
    }
}
