/*
 Theme Name: Dominion Global
 Theme URI: https://www.dominion-global.com
 Description: Dominion Global Theme
 Author: Aitor Sola
 Author URI: https://www.dominion-global.com
 Author Name: Aitor Sola
 Author mail: aitor.sola@dominion-global.com
 Template: Divi
 Version: 1.1.9
*/
 
/* =========================================
   VARIABLES
========================================= */

:root {
    --header-altura: 70px;
    --menu-primer-nivel: 560px;
    --menu-segundo-nivel: 480px;
    --azul-dominion: #005ff9;
    --azul-dominion-hover: #0058dc;
    --azul-texto: #0868f5;
    --texto-oscuro: #25334a;
    --blanco: #ffffff;
	--gdt:#9B9BE5;
	--gde:#6FDDBE;
	--dom:#005FF9;
}


/* GDT - GDE */
/*Categorizacion casos exito*/
.gdt .categoria-cuadro {
	border-color: var(--gdt);
}
.gde .categoria-cuadro {
	border-color: var(--gde);
}
/* =========================================
   ESTADO GENERAL
========================================= */

html,
body {
    margin: 0;
}

body.no-scroll {
    overflow: hidden !important;
}


/*  INICIO HEADER SOLO HOME */
/* ==================================================
   HEADER HOME TRANSPARENTE SOLO EN SCROLL 0
   Requiere que JavaScript anada la clase .header-home-top
   al #header-principal cuando body tenga .home y scrollY sea 0.
================================================== */
.et_pb_column:has(#header-principal.header-home-top) {
min-height: 0 !important;
}
/* Transiciones del header normal y del estado inicial de la home */
#header-principal {
    transition:
        background-color 0.3s ease,
        padding 0.3s ease,
        box-shadow 0.3s ease;
}

#header-principal .header-logo img {
    transition:
        height 0.3s ease,
        transform 0.3s ease;
}

#boton-menu,
.header-lang .btn-idioma {
    transition:
        width 0.3s ease,
        height 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease,
        border-radius 0.3s ease;
}

/* ==================================================
   HOME ARRIBA DEL TODO
================================================== */

body.home #header-principal.header-home-top {
    background-color: transparent;
    box-shadow: none;
    padding-top: 38px;
    padding-bottom: 20px;
}

body.home #header-principal.header-home-top .header-container {
    min-height: 72px;
}

body.home #header-principal.header-home-top .header-logo img {
    height: 52px;
}

/* ==================================================
   BOTON DEL MENU CIRCULAR AZUL
================================================== */
body > .btn-cerrar-nivel {
    position: fixed !important;

    top: 28px !important;

    left: calc(
        var(--menu-primer-nivel) +
        var(--menu-segundo-nivel) -
        14px
    ) !important;

    z-index: 2147483647 !important;

    display: none;

    width: 32px;
    height: 32px;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background-color: #0868f5 !important;
    background-image: none !important;

    opacity: 1 !important;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.25);

    cursor: pointer;
}

body > .btn-cerrar-nivel.visible {
    display: block !important;
}

body > .btn-cerrar-nivel span {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 12px;
    height: 2px;

    background-color: #ffffff;
    opacity: 1;
}

body > .btn-cerrar-nivel span:first-child {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

body > .btn-cerrar-nivel span:last-child {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}

body > .btn-cerrar-nivel:hover {
    background-color: #0058dc !important;
}

body > .btn-cerrar-nivel:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}
body.home #header-principal.header-home-top #boton-menu {
    width: 72px;
    height: 72px;
    padding: 0;
    border-radius: 50%;
    background-color: #0868f5;
    box-shadow: none;
	    padding-top: 8px !important;
}

body.home #header-principal.header-home-top #boton-menu .linea {
    width: 24px;
    height: 2px;
}

body.home #header-principal.header-home-top #boton-menu .menu-text {
    margin-top: 3px;
    color: #ffffff;
    font-size: 8px;
    line-height: 1;
    letter-spacing: 1px;
}

body.home #header-principal.header-home-top #boton-menu:hover {
    background-color: #0058dc;
}

/* ==================================================
   BOTON DE IDIOMA CIRCULAR
================================================== */

body.home #header-principal.header-home-top .header-lang .btn-idioma {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 46px;
    height: 46px;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    color: #ffffff;
    background-color: rgba(0, 20, 35, 0.18);
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
}

body.home #header-principal.header-home-top .header-lang .btn-idioma::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin-top: -3px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
}

body.home #header-principal.header-home-top .header-lang .btn-idioma:hover {
    border-color: #ffffff;
    background-color: rgba(0, 20, 35, 0.35);
}

/* ==================================================
   POSICIONES EN LA HOME
================================================== */

body.home #header-principal.header-home-top .header-right-actions {
    align-items: center;
    gap: 190px;
}

body.home #header-principal.header-home-top .header-menu {
    margin-right: 0;
}

/* Mantener visible el boton circular si el menu se abre arriba */
body.home.menu-abierto #header-principal.header-home-top #boton-menu {
    background-color: #0868f5;
}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 980px) {
    body.home #header-principal.header-home-top {
        padding-top: 22px;
    }

    body.home #header-principal.header-home-top .header-right-actions {
        gap: 35px;
    }

    body.home #header-principal.header-home-top #boton-menu {
        width: 62px;
        height: 62px;
    }

    body.home #header-principal.header-home-top .header-lang .btn-idioma {
        width: 42px;
        height: 42px;
    }
}

/* ==================================================
   MOVIL
================================================== */

@media (max-width: 767px) {
    body.home #header-principal.header-home-top {
        padding: 18px;
    }

    body.home #header-principal.header-home-top .header-logo img {
        height: 40px;
    }

    body.home #header-principal.header-home-top .header-right-actions {
        gap: 15px;
    }

    body.home #header-principal.header-home-top #boton-menu {
        width: 54px;
        height: 54px;
    }

    body.home #header-principal.header-home-top .header-lang .btn-idioma {
        width: 38px;
        height: 38px;
        font-size: 8px;
    }
}

/* FIN HEADER SOLO HOME */

/* =========================================
   CABECERA SUPERIOR
========================================= */

#header-principal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
    background-color: #005ff9;
    padding: 4px 40px;
    box-sizing: border-box;
}

.header-container {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 66px;
    max-width: 1400px;
    margin: 0 auto;
}

.header-logo img {
    display: block;
    width: auto;
    height: 50px;
}

.header-right-actions {
    display: flex;
    align-items: center;
    gap: 0;
}

.header-menu {
    margin-right: 200px;
}

.header-lang a {
    color: #ffffff;
    text-decoration: none;
}


/* =========================================
   BOTÃƒÆ’Ã¢â‚¬Å“N HAMBURGUESA
========================================= */

#boton-menu {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 8px;
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer;
}

#boton-menu .linea {
    display: block;
    width: 30px;
    height: 3px;
    background-color: #ffffff;
    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}

#boton-menu .menu-text {
    margin-top: 3px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
}


/* =========================================
   CAPA OSCURA SOBRE LA PÃƒÆ’Ã‚ÂGINA
========================================= */

.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 99996;
    visibility: hidden;
    opacity: 0;
    background: rgba(0, 24, 40, 0.56);
    backdrop-filter: blur(1.5px);
    transition:
        opacity 0.35s ease,
        visibility 0s linear 0.35s;
}

body.menu-abierto .menu-overlay {
    visibility: visible;
    opacity: 1;
    transition:
        opacity 0.35s ease,
        visibility 0s linear 0s;
}


/* =========================================
   PRIMER NIVEL: PANEL AZUL
========================================= */

#menu-principal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99998;

    display: flex;
    flex-direction: column;

    width: var(--menu-primer-nivel);
    height: 100dvh;
    min-height: 100vh;

    padding:
34px
        16px
        24px
        34px;

    box-sizing: border-box;
    overflow: visible;

    color: var(--blanco);
    background-color: var(--azul-dominion);

    transform: translateX(0);
    transition: transform 0.42s cubic-bezier(0.77, 0, 0.175, 1);
}

#menu-principal.oculto {
    transform: translateX(
        calc(
            -1 * (
                var(--menu-primer-nivel) +
                var(--menu-segundo-nivel) +
                40px
            )
        )
    );
}


/*
 * El contenido del primer nivel puede desplazarse
 * sin desplazar el pie inferior.
 */

.menu-contenido-principal {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 34px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color:
        rgba(255, 255, 255, 0.45)
        transparent;
}

.menu-contenido-principal::-webkit-scrollbar {
    width: 5px;
}

.menu-contenido-principal::-webkit-scrollbar-track {
    background: transparent;
}

.menu-contenido-principal::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.45);
}


/* =========================================
   LOGO DEL PANEL
========================================= */

.menu-panel-logo {
    flex: 0 0 auto;
    padding: 0 7px;
}

.menu-panel-logo img {
    display: block;
    width: auto;
    max-width: 110px;
    height: 52px;
    object-fit: contain;
    object-position: left center;
}


/* =========================================
   LISTA DE PRIMER NIVEL
========================================= */

#menu-principal ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/*
 * Solo los li del primer nivel.
 * No afecta a los li del panel blanco.
 */

#menu-principal
.menu-contenido-principal
> ul
> li {
    margin: 0;
    padding: 0;
}

#menu-principal
.menu-contenido-principal
> ul
> li
> a {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    min-height: 21px;
    padding: 14px 7px;

    box-sizing: border-box;
    text-decoration: none;

    color: #ffffff;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 400;

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        background-color 0.2s ease;
}

#menu-principal
.menu-contenido-principal
> ul
> li
> a:hover {
    color: #ffffff;
    opacity: 0.82;
    transform: none;
}

#menu-principal
.menu-contenido-principal
> ul
> li.submenu-activo
> a {
    background: rgba(255, 255, 255, 0.1);
    font-weight: 600;
}

.flechita-menu {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    color: rgba(255, 255, 255, 0.8);
}


/* =========================================
   SEGUNDO NIVEL: PANEL BLANCO
========================================= */

#menu-principal .sub-menu {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    z-index: 2;

    display: block;

    width: var(--menu-segundo-nivel);
    height: 100%;

    padding: 34px 16px 24px;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;

    visibility: hidden;
    opacity: 0;

    background: #ffffff;
    box-shadow: 16px 0 30px rgba(0, 25, 65, 0.15);

    transform: translateX(-20px);
    pointer-events: none;

    transition:
        opacity 0.3s ease,
        transform 0.38s cubic-bezier(0.77, 0, 0.175, 1),
        visibility 0s linear 0.38s;
}

#menu-principal .sub-menu.desplegado {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;

    transition:
        opacity 0.3s ease,
        transform 0.38s cubic-bezier(0.77, 0, 0.175, 1),
        visibility 0s linear 0s;
}


/* =========================================
   CABECERA DEL SEGUNDO NIVEL
========================================= */

#menu-principal
.sub-menu
> .cabecera-submenu {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    min-height: 26px;
    margin: 0 0 14px;
    padding: 0 34px 0 0;

    color: var(--azul-texto);
}

.titulo-submenu {
    color: var(--azul-texto);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}


/* =========================================
   BOTÃƒÆ’Ã¢â‚¬Å“N CERRAR NIVEL SECUNDARIO
========================================= */

.btn-cerrar-nivel {
    position: absolute;
    top: -8px;
    right: -36px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--azul-dominion);
    cursor: pointer;
    z-index: 99997;
}

.btn-cerrar-nivel span {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 1.5px;

    background: #ffffff;
}

.btn-cerrar-nivel span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.btn-cerrar-nivel span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.btn-cerrar-nivel:hover {
    background: var(--azul-dominion-hover);
}


/* =========================================
   ENLACES DEL SEGUNDO NIVEL
========================================= */

#menu-principal
.sub-menu
> li:not(.cabecera-submenu) {
    margin: 0 0 10px;
    padding: 0;
}

#menu-principal
.sub-menu
> li:not(.cabecera-submenu)
> a {
    display: block;

    min-height: 38px;
    padding: 10px 12px;

    border-radius: 3px;
    box-sizing: border-box;

    color: var(--texto-oscuro);
    background-color: #f2f6fa;

    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
    text-decoration: none;

    transform: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

#menu-principal
.sub-menu
> li:not(.cabecera-submenu)
> a:hover {
    color: #ffffff;
    background-color: var(--azul-dominion);
    transform: none;
}


#menu-principal .sub-menu > li:not(.cabecera-submenu):not(:has(> .menu-item-imagen-wrap)) > a:hover {
    max-width: 100%;
}


/* =========================================
   PIE DEL PANEL AZUL
========================================= */

.menu-zona-inferior {
    flex: 0 0 auto;
    padding: 20px 0 0;
}

.menu-primario-footer {
    display: flex;
    align-items: center;
    gap: 22px;

    margin: 0 !important;
    padding: 0 0 10px !important;
}

.menu-primario-footer li {
    margin: 0 !important;
}

#menu-principal .menu-primario-footer li a {
    padding: 0;
    color: #ffffff;
    font-size: 12px !important;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
}

.menu-inferior-separador {
    position: relative;
    padding-top: 9px;
    border-top: 1px solid rgba(255, 255, 255, 0.85);
}

.menu-primario-idiomas {
    display: flex;
    align-items: center;
    justify-content: left;
    gap: 20px;
    margin: 0 !important;
    padding: 0 !important;
}

.menu-primario-idiomas li {
    margin: 0 !important;
}

#menu-principal .menu-primario-idiomas a {
    display: block;
    padding: 0;

    color: #ffffff;
    font-size: 10px !important;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;

    opacity: 0.7;
}

#menu-principal .menu-primario-idiomas a.activo,
#menu-principal .menu-primario-idiomas a:hover {
    opacity: 1;
}


/* =========================================
   CERRAR MENÃƒÆ’Ã…Â¡ PRINCIPAL
========================================= */

.cerrar-menu-principal {
    display: none;
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;

    width: 32px;
    height: 32px;
    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;

    background: transparent;
    cursor: pointer;
}

.cerrar-menu-principal span {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 14px;
    height: 1.5px;

    background: #ffffff;
}

.cerrar-menu-principal span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.cerrar-menu-principal span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}
/* ==================================================
   ELEMENTOS DEL SEGUNDO NIVEL
================================================== */

#menu-principal .sub-menu > li:not(.cabecera-submenu) {
    position: relative;
    margin: 0 0 10px;
    padding: 0;
    overflow: hidden;
    border-radius: 4px;
}


/* ==================================================
   ELEMENTOS QUE NO TIENEN IMAGEN
================================================== */

#menu-principal
.sub-menu
> li:not(.cabecera-submenu):not(:has(> .menu-item-imagen-wrap))
> a {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 90%;
    min-height: 48px;
    padding: 10px 14px;
    box-sizing: border-box;
    border-radius: 4px;
    color: #25334a;
    background: #f2f6fa;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
    text-decoration: none;
    transform: none;
    transition:
        color 0.25s ease,
        background-color 0.25s ease;
}

#menu-principal
.sub-menu
> li:not(.cabecera-submenu):not(:has(> .menu-item-imagen-wrap))
> a:hover {
    max-width:100%;
}

/* Hover sin imagen */
#menu-principal
.sub-menu
> li:not(.cabecera-submenu):not(:has(> .menu-item-imagen-wrap))
> a:hover {
    color: #0868f5;
    background: #e7effa;
    transform: none;
}
#menu-principal .sub-menu > li:not(.cabecera-submenu):not(:has(> .menu-item-imagen-wrap)) > a {
    max-width: 90%;
    transition: max-width 0.5s ease;
}

#menu-principal .sub-menu > li:not(.cabecera-submenu):not(:has(> .menu-item-imagen-wrap)) > a:hover {
    max-width: 100%;
}

/* ==================================================
   ELEMENTOS QUE SÃƒÆ’Ã‚Â TIENEN IMAGEN
================================================== */

#menu-principal
.sub-menu
> li:not(.cabecera-submenu):has(> .menu-item-imagen-wrap) {
    min-height: 48px;
    padding-left: 0px;
    max-width: 90%;
    transition: max-width 0.5s ease;
}

#menu-principal .sub-menu > li:not(.cabecera-submenu):has(> .menu-item-imagen-wrap):hover {
    max-width: 100%;
    transition: max-width 0.5s ease;
}

/* Contenedor de la imagen */
#menu-principal
.sub-menu
> li:not(.cabecera-submenu)
> .menu-item-imagen-wrap {
    display: block;
    width: 100%;
    height: 80px;
    margin: 0;
    overflow: hidden;
    border-radius: 4px;
}

/* Imagen */
#menu-principal
.sub-menu
> li:not(.cabecera-submenu)
.menu-item-imagen-nivel-2 {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;

    object-fit: cover;
    object-position: center;

    transition:
        transform 0.3s ease,
        filter 0.3s ease;
}

/* Texto superpuesto solamente cuando existe imagen */
#menu-principal
.sub-menu
> li:not(.cabecera-submenu):has(> .menu-item-imagen-wrap)
> a {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 80px;
    padding: 10px 14px 10px 18px;
    box-sizing: border-box;
    border-radius: 4px;
    color: #ffffff;

    /* Velo muy ligero */
    background: rgba(0, 25, 50, 0.18);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 600;
    text-decoration: none;
    transform: none;
    transition: background-color 0.25s ease;
}

/* Velo ligeramente mÃƒÆ’Ã‚Â¡s visible en hover */
#menu-principal
.sub-menu
> li:not(.cabecera-submenu):has(> .menu-item-imagen-wrap):hover
> a {
    color: #ffffff;
    background: rgba(0, 25, 50, 0.28);
    transform: none;
}


/* ==================================================
   BARRA MORADA: HOVER Y ESTADO ACTIVO
================================================== */

#menu-principal
.sub-menu
> li:not(.cabecera-submenu)::before {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 4;

    width: 5px;

    background-color: #005ff9;

    opacity: 0;
    transform: scaleY(0);
    transform-origin: center;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

/* Hover */
#menu-principal
.sub-menu
> li:not(.cabecera-submenu):hover::before {
    opacity: 1;
    transform: scaleY(1);
}

/* PÃƒÆ’Ã‚Â¡gina activa */
#menu-principal .sub-menu > li.current-menu-item::before,
#menu-principal .sub-menu > li.current_page_item::before,
#menu-principal .sub-menu > li.current-menu-ancestor::before,
#menu-principal .sub-menu > li.current_page_ancestor::before {
    opacity: 1;
    transform: scaleY(1);
}


/* ==================================================
   EFECTO SUAVE SOBRE LA IMAGEN
================================================== */

#menu-principal
.sub-menu
> li:not(.cabecera-submenu):has(> .menu-item-imagen-wrap):hover
.menu-item-imagen-nivel-2 {
    transform: scale(1.02);
    filter: brightness(0.96);
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 980px) {
    :root {
        --menu-primer-nivel: 280px;
        --menu-segundo-nivel: 280px;
    }

    #header-principal {
        padding-right: 24px;
        padding-left: 24px;
    }

    .header-menu {
        margin-right: 50px;
    }
}


/* =========================================
   MÃƒÆ’Ã¢â‚¬Å“VIL
========================================= */

@media (max-width: 767px) {
    :root {
        --menu-primer-nivel: 100vw;
        --menu-segundo-nivel: 100vw;
    }

    #header-principal {
        padding: 4px 18px;
    }

    .header-logo img {
        height: 34px;
    }

    .header-menu {
        margin-right: 20px;
    }

    #menu-principal {
        width: 100vw;
        padding:
            25px
            22px
            24px;
        overflow: hidden;
    }

    #menu-principal.oculto {
        transform: translateX(-105%);
    }

    .cerrar-menu-principal {
        display: block;
    }

    .menu-contenido-principal {
        margin-top: 28px;
    }

    #menu-principal .sub-menu {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;

        width: 100vw;
        height: 100%;

        padding:
            32px
            22px
            30px;

        transform: translateX(105%);
        box-shadow: none;
    }

    #menu-principal .sub-menu.desplegado {
        transform: translateX(0);
    }

    #menu-principal
    .sub-menu
    > .cabecera-submenu {
        min-height: 45px;
        margin-bottom: 25px;
    }

    .titulo-submenu {
        font-size: 12px;
    }

    .btn-cerrar-nivel {
        top: 0;
        right: 0;
        width: 34px;
        height: 34px;
    }
}

/* ========================================== */
/* 1. GLOBALES Y OVERRIDES                    */
/* ========================================== */
body {
    font-family: 'Barlow', sans-serif;
}

.et_fixed_nav.et_show_nav #page-container {
    padding-top: 0;
    /*margin-top: -70px !important;*/
}

strong{
	font-weight:500 !important;
}

ul > li{
	margin-bottom: 5px;
}


/* menu new */

@media (min-width: 981px) {
    .menu-hamburguesa .et_pb_menu__menu {
        display: none !important;
    }
    .menu-hamburguesa .et_mobile_nav_menu {
        display: block !important;
    }
}
/* Forzar que el desplegable mÃƒÆ’Ã‚Â³vil ocupe el 100% del ancho de la pantalla */
.menu-hamburguesa .et_mobile_menu {
    position: fixed !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important; /* Elimina bordes redondeados si los hubiera */
}

/* Opcional: Centrar los enlaces de texto si no quieres que queden pegados a la izquierda */
.menu-hamburguesa-siempre .et_mobile_menu li a {
    text-align: center; 
}

/* ========================================== */
/* 5. COMPONENTES EXTERNOS Y ESTADOS          */
/* ========================================== */
body .modulo-hero-slider a {
    z-index: 1;
}

body .modulo-hero-slider a:hover {
    background: none;
    transform: translateY(-5px);
}

body .modulo-hero-slider a:after {
    height: 24px;
}

body.no-scroll {
    overflow: hidden !important; 
}

#et-main-area {
    transition: filter 0.4s ease;
    filter: brightness(1) blur(0px);
}

body.no-scroll #et-main-area, 
body.no-scroll .header-right-actions, 
body.no-scroll .header-logo {
    pointer-events: none; 
    filter: brightness(0.4) blur(2px); 
}

/* ========================================== */
/* 6. MEDIA QUERIES                           */
/* ========================================== */

/* ========================================== */
/* ESTILOS BLOG DOMINION (MAGAZINE)           */
/* ========================================== */

#modulo-articulos .dg-post-tags {
    border: 1px solid #0345bf;
    color: #141414;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.5px;
    line-height: 18px;
    text-align: center;
    text-transform: uppercase;
    height: 22px;
    margin: 10px 0;
    width: max-content;
    margin-bottom: 25px;
    transition: background-color .5s ease, border-color .5s ease;
}
#modulo-articulos .dg-post-tags a{
    color:#141414;
    padding: 1px 8px;
    text-transform: uppercase;
    transition: color .5s ease;
}

#modulo-articulos .dg-post-tags:hover{
    background: #005ff9;
    border:1px solid #005ff9;
}
#modulo-articulos .dg-post-tags a:hover{
    color:#fff;
}

#modulo-articulos .dg-post-category a{
    color:#0345bf;
    text-transform: uppercase;
    font-weight:400;
    letter-spacing: 2px;
    font-size:12px;
    width:max-content;
    display: inline-block;
    position: relative;
    text-decoration: none;
    transition: color .5s ease;

}

#modulo-articulos .dg-post-category a:hover{
    color: #141414;
}

#modulo-articulos .dg-post-date{
    margin-top: 12px;
    color: #757575;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .5px;
    text-transform: uppercase;
}

#modulo-articulos .modulo-blog-destacado .post-content-inner {
    display:none;
}

#modulo-articulos .modulo-blog-destacado .et_pb_image_container {
    overflow: hidden;
    margin:0;
}

#modulo-articulos .modulo-blog-destacado .et_pb_image_container img{
    object-fit: cover;
    max-height: 260px;
    width: 100%;
    height: 260px;
    margin: auto;
    display: block;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .5s ease, filter .5s ease;
}
#modulo-articulos .modulo-blog-destacado .et_pb_image_container img:hover{
    transform: scale(1.08);
    filter: contrast(1.03);
}

/* Eliminar el margen superior por defecto que aÃƒÆ’Ã‚Â±ade Divi */
#modulo-articulos .modulo-blog-destacado .et_pb_post,
#modulo-articulos .modulo-blog-lista .et_pb_post {
    margin-bottom: 30px;
}

/* 1. ESTILO DE LA ETIQUETA EN CAJA ("NOTICIAS") */
/* Divi agrupa las categorÃƒÆ’Ã‚Â­as en la clase .post-meta. Le damos formato de botÃƒÆ’Ã‚Â³n */
#modulo-articulos .modulo-blog-destacado .post-meta a,
#modulo-articulos .modulo-blog-lista .post-meta a {
    border: 1px solid #005ff9; /* Azul Dominion */
    color: #005ff9 !important;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 12px;
}

#modulo-articulos .modulo-blog-destacado .post-meta a:hover,
#modulo-articulos .modulo-blog-lista .post-meta a:hover {
    background: #005ff9;
    color: #fff !important;
}

/* Ocultar elementos meta que no quieres (ej. fecha, autor) si los tienes activados */
/* Descomenta si necesitas ocultarlos por CSS en lugar de por el mÃƒÆ’Ã‚Â³dulo */
/* .post-meta .published, .post-meta .author { display: none; } */

/* 2. ESTILO DE LOS TÃƒÆ’Ã‚ÂTULOS */
#modulo-articulos .modulo-blog-destacado h2.entry-title,
#modulo-articulos .modulo-blog-lista h2.entry-title {
    font-size: 24px; /* Ajusta segÃƒÆ’Ã‚Âºn necesites */
    line-height: 1.3em;
    font-weight: 600;
    color: #141414;
    margin-bottom: 15px;
}
#modulo-articulos .modulo-blog-destacado h2.entry-title a:hover,
#modulo-articulos .modulo-blog-lista h2.entry-title a:hover {
    color:#0345bf;
}

#modulo-articulos .modulo-blog-lista h2.entry-title {
    font-size: 18px; /* Un poco mÃƒÆ’Ã‚Â¡s pequeÃƒÆ’Ã‚Â±o para los secundarios */
}

/* 3. LÃƒÆ’Ã‚ÂNEAS SEPARADORAS EN LA COLUMNA DERECHA */
#modulo-articulos .modulo-blog-lista .et_pb_post {
    border-bottom: 1px solid #eaeaea; /* LÃƒÆ’Ã‚Â­nea gris muy suave */
    padding-bottom: 25px;
}

/* Quitar la lÃƒÆ’Ã‚Â­nea al ÃƒÆ’Ã‚Âºltimo elemento para que quede limpio */
#modulo-articulos .modulo-blog-lista .et_pb_post:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* 4. EXTRACTO (TEXTO RESUMEN) EN LA LISTA */
#modulo-articulos .modulo-blog-lista .post-content p {
    font-size: 16px;
    line-height: 1.6em;
    color: #555;
    margin-top: 20px;
}

#modulo-articulos .modulo-blog-lista article, #modulo-articulos .modulo-blog-destacado article {
    border:none;
    padding: 0;
}

#modulo-articulos .modulo-blog-lista article{
    padding:0;
}

#modulo-articulos .pagination{
    display:none;
}


/* Aseguramos que la lÃƒÆ’Ã‚Â­nea se posicione relativa a cada bloque de texto */
#modulo-cifras .et_flex_column .et_pb_module {
    position: relative !important;
    overflow: visible !important;
}

@media(min-width: 992px) {
    #modulo-cifras .et_flex_column .et_pb_module:not(:last-child)::after {
        content: '';
        position: absolute;
        right: -15px; 
        top: 0; 
        height: 100%; 
        width: 3px; 
        background-color: #005ff9; 
    }
}
/* Opcional: Ocultar las lÃƒÆ’Ã‚Â­neas en mÃƒÆ’Ã‚Â³viles si los bloques se ponen uno debajo del otro */
@media (max-width: 767px) {
    #modulo-cifras .et_pb_column_6 .et_pb_module:not(:last-child)::after {
        display: none;
    }
}

#modulo-hero .et_pb_fullwidth_header_container{
    width:100%;
    max-width:1200px;
}

#modulo-hero .header-image {
    overflow: hidden;
}

#modulo-hero .header-image img {
    display: block;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .5s ease, filter .5s ease;
}

#modulo-hero .header-image:hover img{
    transform: scale(1.08);
    filter: contrast(1.03);
}


 #modulo-hero .button-middle{
    position: absolute;
    top: calc(50% - 50px);
    right: calc(50% - 50px);
    width: 130px;
    height: 130px;
    z-index: 4;
    border-radius: 50%;
     transition: right 0.3s ease-in-out, transform .5s ease, filter .5s ease;
 }
 #modulo-hero .et_pb_fullwidth_header .header-image{
    margin-left:0;
    margin-right:0;
 }

 /* HERO ALT */


 #modulo-hero-alt .et_pb_fullwidth_header_container{
    width:100%;
    max-width:1200px;
}

#modulo-hero-alt .header-image {
    overflow: hidden;
}
#modulo-hero-alt .header-content-container{
	height:100%;
}

#modulo-hero-alt .header-image img {
    display: block;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .5s ease, filter .5s ease;
}

#modulo-hero-alt .header-image:hover img{
    transform: scale(1.08);
    filter: contrast(1.03);
}


 #modulo-hero-alt .button-middle{
    position: absolute;
    top: calc(50% - 50px);
    right: calc(50% - 70px);
    width: 130px;
    height: 130px;
    z-index: 4;
    border-radius: 50%;
     transition: right 0.3s ease-in-out, transform .5s ease, filter .5s ease;
 }

 #modulo-hero-alt .et_pb_fullwidth_header.et_pb_header_with_image .et_pb_fullwidth_header_container.right .header-content{
    margin-left:0;
}



#menu-cabecera{
    margin-left:50px;
}
 #menu-cabecera-lista{
    display:flex;
 }
  #menu-cabecera-lista li{
    margin-left:10px;
  }
 #menu-cabecera-lista li a{
    color:#fff;
    font-size:18px;
    font-weight:400;
 }

 #modulo-slider-fullwidth .et_pb_image:where(.et_flex_module)>.et_pb_image_wrap{
    width:100%;

 }
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide{
    padding:0;

 }
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text{
    display:flex;
    justify-content:center;
     align-items:center;
     position:relative;
     flex-direction:column;
     padding: 60px;
 }

  #modulo-slider-fullwidth .et_pb_slider .et_pb_slide img{
    width:100%;
    height:600px;
 }

  #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .categoria-item{
    display:flex;
    flex-direction:wrap;
    align-items:center;
 }
   #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .categoria-item img{
    width:12px;
    height:12px;
   }
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner{
    height:calc(100% - 60px);
        min-width: 100%;
 }
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > *:nth-child(1) {
  margin-bottom:30px;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > *:nth-child(2) {
  margin-bottom:20px;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .casos-item {
    position: absolute;
    bottom: 0;
     left: 0;
     transition: transform 0.3s ease-in-out;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .casos-item a {
     color: #fff;
     transition: color 0.3s ease-in-out;
	 font-weight:500;
 }
#modulo-slider-fullwidth .et-pb-controllers {
    display: none;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .casos-item a::after {
    content: '\f061';
    font-family: FontAwesome !important;
    margin-left: 10px;
    line-height: 1em !important;
     color: currentColor;
     transition: color 0.3s ease-in-out;
    font-weight: 900;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .categoria-item .separador {margin: 0 5px 0 0;}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .categoria-item * {
font-size:14px;
letter-spacing: 1px;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .categoria-item img {
margin-right:5px;
}
 #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .diapositiva-item {
   bottom: 50px;
   position:absolute;
    margin-left: 19px;
}
#modulo-slider-fullwidth .et_pb_bg_layout_dark .et_pb_slide_description {
text-shadow:none;
}
#modulo-slider-fullwidth .et-pb-slider-arrows a{
    opacity:1;
    left:50px;
    right: unset;
    top:unset;
    bottom: 140px;
}
#modulo-slider-fullwidth .et-pb-slider-arrows a:before{
    font-size:24px;
}
#modulo-slider-fullwidth .et-pb-slider-arrows a.et-pb-arrow-next{
    margin-left:70px;
}

#modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner > .casos-item:hover {
    transform: translateX(10px);
    opacity: 0.7;
}
@media (min-width:992px) {
     #modulo-hero-alt .et_pb_fullwidth_header_container.right{
    flex-flow:row;
}
     #modulo-hero .button-middle:hover{
    right: calc(50% - 70px);
 }
  #modulo-hero-alt .button-middle:hover{
    right: calc(50% - 90px);
 }
 
}
@media (max-width: 992px) {
    #modulo-hero .header-image,
    #modulo-hero-alt .header-image{
        padding-left:20px;
        padding-right:20px;
        margin:0;
    }
    #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text{
        padding:60px 20px;
    }
    #modulo-slider-fullwidth .et-pb-slider-arrows a{
        left:10px;
        bottom:110px;
    }
    #modulo-cifras .et_pb_column_6 .et_pb_module:not(:last-child)::after{
        content: unset;
    }
    #modulo-hero .et_pb_fullwidth_header.et_pb_header_with_image .et_pb_fullwidth_header_container.right .header-content,
    #modulo-hero-alt .et_pb_fullwidth_header.et_pb_header_with_image .et_pb_fullwidth_header_container.right .header-content{
        margin: 0;
        padding-right: 20px;
        padding-left: 20px;
    }
    .et_pb_fullwidth_header{
        padding:0;
    }
    .et_pb_section{
        padding: 20px 0;
    }
    #modulo-hero .button-middle{
        bottom: -38px;
        width: 70px;
        right: 0;
        height: 70px;
        top: unset;
    }
    #modulo-hero-alt .button-middle{
        bottom: -20px;
        right: 0;
        width: 70px;
        height: 70px;
        top: unset;
    }
  #modulo-slider-fullwidth .et_pb_slider .et_pb_slide img{
    display:none;
  }
  #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner{
    height:400px;
  }
  .et-pb-controllers{
    display:none;
  }
}
@media (max-width: 500px) {
  #modulo-slider-fullwidth .et_pb_slider .et_pb_slide .et_pb_text_inner{
    height:500px;
  }
}

#modulo-contactanos .contactanos-enlace{
    border:1px solid #fff;
    background:#fff;
    font-size: 16px;
    padding:20px 35px;
    font-weight:500;
    color:#141414;
/* AÃƒÂ±adido para que el hover sea suave */
    transition: all 0.3s ease-in-out; 
    cursor: pointer;
    
    /* Opcional: Para centrar bien el texto y el icono si estÃƒÂ¡n en lÃƒÂ­nea */
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

#modulo-contactanos .contactanos-enlace:hover {
    background: transparent;
    color: #fff;
}


#modulo-contactanos .contactanos-enlace img {
    transition: filter 0.3s ease-in-out;
}

/* Al hacer hover en el botÃƒÂ³n, aplicamos el filtro al PNG */
#modulo-contactanos .contactanos-enlace:hover img {
    /* brightness(0) convierte el azul en negro absoluto */
    /* invert(1) invierte ese negro y lo convierte en blanco puro */
    filter: brightness(0) invert(1);
}

#modulo-contactanos .et_pb_text_inner p:first-child{
    margin-bottom:30px;
}

#modulo-contactanos .contactanos-enlace img{
    width: 14px;
    height: 19px;
    margin-left: 10px;
}
#modulo-contactanos .contactanos-enlace.bocadillo {
    display: flex;
    align-items: center;
    place-self: flex-start;
    padding: 12px 22px;
}


#modulo-contactanos .contactanos-enlace.bocadillo:hover {
  background-color: transparent;
  border: 1px solid white;
  color: white;
}

#modulo-contactanos .contactanos-enlace.bocadillo {
  transition: all 0.3s ease;
}

#modulo-contactanos .contactanos-enlace.bocadillo img {
  transition: filter 0.3s ease;
}


#modulo-contactanos .imagen-perfil{
	    border-radius: 50%;
	padding-bottom:8px;
}

#modulo-contactanos .contactanos-enlace.bocadillo:hover img {
  filter: brightness(0) invert(1); 
}

#modulo-contactanos .contactanos-enlace.bocadillo img{
	width:20px;
}

/* MODULO DE DESCARGAS */   

#modulo-descargas p.subtitulo-corporativo{
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #141414;
    font-weight:400;
    margin-bottom:30px;
}
#modulo-descargas h2.titulo-corporativo{
    font-size: 20px;
    line-height: 32px;
    color: #000;
    margin-bottom: 10px;
}
#modulo-descargas .descarga-pdf-container{
    display:flex;
    align-items:center;
}
#modulo-descargas .descarga-pdf-container img{
    width:40px;
    margin-right:20px;
    transition: transform 0.3s ease, filter 0.3s ease;
    will-change: transform;
}
#modulo-descargas .descarga-pdf-container img:hover{
    transform: translateY(-6px);
  filter: drop-shadow(0px 8px 5px rgba(0, 0, 0, 0.15));
}

#modulo-descargas .descarga-pdf-container .info-descarga p{
    padding-bottom:0;
}
#modulo-descargas .descarga-pdf-container p{
    padding-bottom:0;
    color:#141414;
    font-size:16px;
    font-weight:400;
}
#modulo-descargas .descarga-pdf-container p.tamano-pdf{
    color:#757575;
}
/* =======================================================
   1. ESTILOS DE TEXTOS Y CIFRAS (Tu cÃ³digo original)
======================================================= */
#modulo-carousel-linea-temporal .item .descripcion h2 {
    font-size: 30px;
    line-height: 40px;
    font-weight: 500;
    margin-bottom: 30px;
}

#modulo-carousel-linea-temporal .item .descripcion {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#modulo-carousel-linea-temporal .item .descripcion a {
    color: #ffffff;
    transition: opacity 0.25s ease, text-decoration-color 0.25s ease;
}

#modulo-carousel-linea-temporal .item .descripcion a:hover,
#modulo-carousel-linea-temporal .item .descripcion a:focus {
    color: #ffffff;
    opacity: 0.75;
    text-decoration-color: #ffffff;
}

#modulo-carousel-linea-temporal .item .descripcion p {
    font-size: 16px;
    line-height: 16px;
    font-weight: 500;
}

#modulo-carousel-linea-temporal .item .et_pb_slide_content {
    display: flex;
}

#modulo-carousel-linea-temporal .item .descripcion, 
#modulo-carousel-linea-temporal .item .cifras {
    width: 50%;
    display: flex;
    flex-direction: column;
}

#modulo-carousel-linea-temporal .item .cifras {
    align-items: flex-end;
}

#modulo-carousel-linea-temporal .item .cifras span {
    font-weight: 200;
    font-size: 175px;
    line-height: 150px;
    color: #fff;
    min-width: 300px;
}

#modulo-carousel-linea-temporal .item .cifras .cifra-uno, 
#modulo-carousel-linea-temporal .item .cifras .cifra-dos {
    float: right;
}

#modulo-carousel-linea-temporal .item .cifras .cifra-uno {
    margin-right: 100px;
}

/* =======================================================
   2. CONTROLES DEL CAROUSEL (LÃ­nea de tiempo)
======================================================= */
/* Contenedor principal de la botonera */
#modulo-carousel-linea-temporal .et-pb-controllers {
    background: #005ff9;
    height: 60px;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 100px 0 50px !important;
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    overflow: visible !important;
}

/* Eliminamos lÃ­neas globales antiguas */
#modulo-carousel-linea-temporal .et-pb-controllers::before {
    display: none !important;
}

/* Configuramos los enlaces */
#modulo-carousel-linea-temporal .et-pb-controllers a {
    display: flex !important;
    align-items: center;
    background: none !important;
    border: none !important; 
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important; 
    color: transparent !important;
    position: relative !important;
    overflow: visible !important;
}

/* Las lÃ­neas crecen ocupando el hueco */
#modulo-carousel-linea-temporal .et-pb-controllers a:not(:last-child) {
    flex: 1; 
}

/* EL CÃRCULO: Se construye con ::before */
#modulo-carousel-linea-temporal .et-pb-controllers a::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: transparent !important; /* Lo mantenemos transparente */
    flex-shrink: 0; 
}

/* CÃRCULO ACTIVO: Lo mantenemos transparente segÃºn lo solicitado */
#modulo-carousel-linea-temporal .et-pb-controllers a.et-pb-active-control::before {
    background: #fff !important;
    box-sizing: border-box; /* Mantiene el tamaÃ±o total fijo en 16px */
    padding: 3px; /* Define el grosor del "hueco" transparente */
    background-clip: content-box !important; /* Obliga al color de fondo a pintarse solo en el centro, respetando el padding */
}

/* LA LÃNEA: Se construye con ::after */
#modulo-carousel-linea-temporal .et-pb-controllers a:not(:last-child)::after {
    content: "";
    display: block;
    height: 1px;
    background-color: #ffffff;
    opacity: 0.5;
    flex-grow: 1; 
    margin-left: 10px;  
    margin-right: 10px; 
}

/* =======================================================
   3. FECHAS INYECTADAS (CorrecciÃ³n de visibilidad)
======================================================= */
/* Estilo base del texto (Oculto) */
/* Estilo base del texto (Oculto) */
#modulo-carousel-linea-temporal .et-pb-controllers a .fecha-punto {
    position: absolute;
     /* Cambiado a inline-block */
    
    /* FORZAMOS EL ANCHO PARA EVITAR EL 0x18 */
    bottom: 100%;
    transform: translateX(-50%);
    font-size: 11px;
    color: #ffffff;
     
    
    /* Estado oculto forzado */
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
    text-indent: 0px;
    letter-spacing: 1px;
    clip: auto;
    clip-path: none;
}

span.fecha-punto {}

/* Mostrar la fecha SOLO cuando el punto estÃ¡ activo */
#modulo-carousel-linea-temporal .et-pb-controllers a.et-pb-active-control .fecha-punto {
    opacity: 1 !important;
    visibility: visible !important;
    left: 8px;
}

/* =======================================================
   4. OVERLAY MINI SLIDER Y RESPONSIVE
======================================================= */
.overlay-mini-slider {
    position: absolute;
    top: 50%;
    right: 0;
    width: 100%;
    height: 100%;
    min-width: 280px;
    min-height: 220px;
    max-width: 600px;
    background: #ffffff;
    color: #222222;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
}

.overlay-oscurecido .et_pb_slide {
    position: relative;
}

.overlay-oscurecido .et_pb_slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: 9998;
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.overlay-mini-slider.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(0%, -50%) scale(1);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s;
}

.overlay-mini-slider__cerrar {
    position: absolute;
    top: 10px;
    right: 14px;
    background: none;
    border: none;
    font-size: 26px;
    line-height: 1;
    color: #141414;
    cursor: pointer;
    z-index: 2;
}

.overlay-mini-slider__cerrar:hover {
    color: #000;
}

.overlay-mini-slider__viewport {
    flex: 1;
    display: flex;
    align-items: start;
    justify-content: start;
    padding: 40px 30px 20px;
    overflow: hidden;
    text-align: left;
}

.overlay-mini-slider__slide {
    display: none;
    width: 100%;
}

.overlay-mini-slider__slide.is-active {
    display: block;
}

.overlay-mini-slider__slide h3 {
    margin: 0 0 12px;
    font-size: 30px;
    font-weight: 500;
    line-height: 40px;
    color: #141414 !important;
    line-height: 30px;
}

.overlay-mini-slider__slide p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: #141414;
    line-height: 30px;
    font-weight: 400;
}

.overlay-mini-slider__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 16px;
}

.overlay-mini-slider__arrow {
    background: none;
    color: #005ff9;
    border: none;
    border-radius: 50%;
    font-size: 40px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.overlay-mini-slider__dots {
    display: flex;
    gap: 8px;
}

.overlay-mini-slider__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: #ccc;
    cursor: pointer;
    padding: 0;
}

.overlay-mini-slider__dot.is-active {
    background: #222;
}

.overlay-mini-slider__media {
    margin-top: 16px;
}

.overlay-mini-slider__media img {
    display: block;
    max-width: 100%;
    max-height: 200px;
    margin: 0 auto;
    border-radius: 6px;
    object-fit: cover;
}

.overlay-mini-slider__media--video {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
}

.overlay-mini-slider__media--video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 6px;
}

@media (max-width: 992px) {
    #modulo-carousel-linea-temporal .et-pb-controllers {
        display: none !important;
    }
    
    #modulo-carousel-linea-temporal .item .descripcion, 
    #modulo-carousel-linea-temporal .item .cifras {
        width: 100%;
        margin: 15px 0;
    }
    
    #modulo-carousel-linea-temporal .item .cifras span {
        font-size: 75px;
        line-height: 60px;
    }
    
    #modulo-carousel-linea-temporal .item .cifras .cifra-uno {
        margin-right: 0;
    }
    
    #modulo-carousel-linea-temporal .item .et_pb_slide_content {
        flex-direction: column;
    }
    
    #modulo-carousel-linea-temporal .item .cifras .cifra-uno, 
    #modulo-carousel-linea-temporal .item .cifras .cifra-dos {
        float: inherit;
    }
    
    #modulo-carousel-linea-temporal .item .cifras {
        text-align: center;
    }
}
#modulo-desplazamiento-vertical{
    height:140vh;
    gap:0;
}

#modulo-desplazamiento-seccion-1{
    height:35vh;
    margin: 2.5vh 0;
    display:flex;
    align-items:center;
}


#modulo-desplazamiento-seccion-3{
    height:35vh;
    margin: 2.5vh 0;
    align-items: stretch;
}

#modulo-desplazamiento-seccion-3 .et_pb_column,
#modulo-desplazamiento-seccion-3 .et_pb_text,
#modulo-desplazamiento-seccion-3 .et_pb_text_inner {
    height: 100%;
}

/* Botones tipo tarjeta dentro del mÃƒÆ’Ã‚Â³dulo de desplazamiento */
#modulo-desplazamiento-seccion-3 .pastillas-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-content: stretch;
    gap: 15px;
    height: 100%;
}

/* Ocultamos los <br> que mete el editor: el wrap lo controla flex */
#modulo-desplazamiento-seccion-3 .pastillas-wrapper br {
    display: none;
}

#modulo-desplazamiento-seccion-3 .pastillas-wrapper a {
    flex: 1 1 calc(50% - 7.5px);
    max-width: calc(50% - 7.5px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding:  24px 16px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 14px;
    color: #ffffff;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.04);
    transition: background-color .35s ease, border-color .35s ease, color .35s ease, transform .35s ease;
}

/* Icono grande arriba */
#modulo-desplazamiento-seccion-3 .pastillas-wrapper a::before {
    font-family: 'FontAwesome' !important;
    font-weight: 900;
    font-size: 30px;
    line-height: 1;
    color: #ffffff;
    transition: color .35s ease;
}

/* Flecha abajo, sin cÃƒÆ’Ã‚Â­rculo */
#modulo-desplazamiento-seccion-3 .pastillas-wrapper a::after {
    content: '\f061'; /* flecha derecha FontAwesome */
    font-family: 'FontAwesome' !important;
    font-weight: 900;
    font-size: 24px;
    line-height: 1;
    color: #ffffff;
    transition: color .35s ease, transform .35s ease;
    margin-left:95%;
}

/* Estructura vertical: icono | texto | flecha */
#modulo-desplazamiento-seccion-3 .pastillas-wrapper a::before { order: 0; }
#modulo-desplazamiento-seccion-3 .pastillas-wrapper a::after {
    order: 2;
    margin-top: auto;
}

#modulo-desplazamiento-seccion-3 .pastillas-wrapper a:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: #005ff9;
    transform: translateY(-4px);
}

#modulo-desplazamiento-seccion-3 .pastillas-wrapper a:hover::before,
#modulo-desplazamiento-seccion-3 .pastillas-wrapper a:hover::after {
    color: #005ff9;
}

#modulo-desplazamiento-seccion-3 .pastillas-wrapper a:hover::after {
    transform: translateX(4px);
}

/* Columna izquierda (GDE) */
#modulo-desplazamiento-seccion-3 .gde .pastillas-wrapper a {
    flex: 1 1 100%;
    max-width: 100%;
}
#modulo-desplazamiento-seccion-3 .gde .pastillas-wrapper a:nth-of-type(1)::before { content: '\f1b8'; } /* recycle */
#modulo-desplazamiento-seccion-3 .gde .pastillas-wrapper a:nth-of-type(2)::before { content: '\f06c'; } /* leaf */

/* Columna derecha (GDT) */
#modulo-desplazamiento-seccion-3 .gdt .pastillas-wrapper a:nth-of-type(1)::before { content: '\f0e7'; } /* bolt */
#modulo-desplazamiento-seccion-3 .gdt .pastillas-wrapper a:nth-of-type(2)::before { content: '\f185'; } /* sun */
#modulo-desplazamiento-seccion-3 .gdt .pastillas-wrapper a:nth-of-type(3)::before { content: '\f519'; } /* broadcast tower */
#modulo-desplazamiento-seccion-3 .gdt .pastillas-wrapper a:nth-of-type(4)::before { content: '\f2db'; } /* microchip */

@media (max-width: 768px) {
    #modulo-desplazamiento-seccion-3 .pastillas-wrapper a {
        flex: 0 0 100%;
        max-width: 100%;
        aspect-ratio: auto;
    }
}

#modulo-talento-submenu{
    width:100%;
    display:flex;
    justify-content:center;
    background:#fff;
}

/* Estado sticky: por encima del header al bajar. */
#modulo-talento-submenu.is-sticky{
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
    box-shadow:0 2px 10px rgba(0,0,0,0.1);
    transform:translateY(0);
    transition:transform .35s ease;
    will-change:transform;
}

/* Oculto al subir: deja ver el menÃƒÆ’Ã‚Âº por defecto. */
#modulo-talento-submenu.is-sticky.is-hidden{
    transform:translateY(-100%);
}
#modulo-talento-submenu nav.talento{
    width:100%;
    display:flex;
    justify-content:center;
}

#modulo-talento-submenu nav.talento ul{
    display:flex;
    width:100%;
    justify-content: space-around;
    list-style:none;
    padding:30px 30px;
}
#modulo-talento-submenu nav.talento ul li a{
    color:#141414;
    font-size:14px;
    text-transform:uppercase;
    font-weight:400;
    letter-spacing:1px;
    position:relative;
    display:inline-block;
    padding-bottom:6px;
    transition: color .35s ease;
}
#modulo-talento-submenu nav.talento ul li a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:#005ff9;
    transition: width .35s ease;
}
#modulo-talento-submenu nav.talento ul li a:hover,
#modulo-talento-submenu nav.talento ul li a.is-active{
    color:#005ff9;
}
#modulo-talento-submenu nav.talento ul li a:hover::after,
#modulo-talento-submenu nav.talento ul li a.is-active::after{
    width:100%;
}

/* Responsive: en columna y sin sticky. */
@media (max-width: 992px){
    #modulo-talento-submenu.is-sticky{
        position:static;
        transform:none;
        box-shadow:none;
        z-index:auto;
    }
    #modulo-talento-submenu nav.talento ul{
        flex-direction:column;
        align-items:center;
        gap:18px;
        padding:20px;
    }
}
#modulo-blog-vacantes .dg-post-tags{
	padding: 10px 0px 20px 0;
}
    
#modulo-blog-vacantes .dg-post-tags a{
    border: 1px solid #005ff9;
    padding: 4px 10px;
    color:#141414;
    font-weight:400;
    text-transform:uppercase;
    font-size: 12px;
    letter-spacing: 2px;
}

/* Filtro vacantes */
.dg-vacantes-filtro{
    display: flex;
    align-items: flex-end;
    gap: 40px;
    flex-wrap: wrap;
}
.dg-vacantes-filtro .dg-vacantes-filtro-campo{
    display: flex;
    flex-direction: column;
    min-width: 220px;
}
.dg-vacantes-filtro .dg-vacantes-filtro-campo label{
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    color: #141414;
    margin-bottom: 8px;
}
.dg-vacantes-filtro select{
    border: none;
    border-bottom: 2px solid #2d68c4;
    padding: 5px 30px 5px 0;
    font-size: 15px;
    color: #555;
    background: transparent;
    outline: none;
    cursor: pointer;
    min-width: 200px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%232d68c4%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);
    background-repeat: no-repeat;
    background-position: right 5px top 50%;
    background-size: 12px auto;
}
.dg-vacantes-filtro select:focus{
    outline: none;
}
.dg-vacantes-filtro-btn{
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #0345bf;
    background: #0345bf;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    padding: 12px 28px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.dg-vacantes-filtro-btn:hover{
    background: transparent;
    color: #0345bf;
}

/* Barra compartir / imprimir vacante */
.dg-compartir{
    display: flex;
    align-items: center;
    gap: 14px;
}
.dg-compartir-label{
    color: #005ff9;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.dg-compartir-btn{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #005ff9;
    text-decoration: none;
    transition: opacity .2s;
}
.dg-compartir-btn:hover{
    opacity: .65;
}
.dg-compartir-print{
    margin-left: 20px;
}

/* Enlace que envuelve titulo+categoria+extracto */
#modulo-blog-vacantes .dg-card-link{
    display: block;
    color: inherit;
    text-decoration: none;
}
#modulo-blog-vacantes .dg-card-link:hover .entry-title{
    color: #0345bf;
}

/* Categoria pais (badge ESPAÃƒÆ’Ã¢â‚¬ËœA) */
#modulo-blog-vacantes .dg-post-category{
    border: 1px solid #0345bf;
    width: max-content;
    padding: 4px 10px;
    margin: 12px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}
#modulo-blog-vacantes .dg-post-category::before{
    font-family: ETmodules;
    content: "\e081";
    color: #0345bf;
    font-size: 14px;
    line-height: 1;
}
#modulo-blog-vacantes .dg-post-category .entry-categories a{
    color: #141414;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    text-decoration: none;
}

/* Enlace LinkedIn */
#modulo-blog-vacantes .dg-post-linkedin{
    margin-top: 18px;
}
#modulo-blog-vacantes .dg-icon-linkedin::before{
    font-family: ETmodules;
    content: "\e09d";
    color: #005ff9;
    font-size: 22px;
    line-height: 1;
}
#modulo-blog-vacantes .dg-icon-linkedin:hover::before{
    color: #005ff9;
}
 
#modulo-blog-vacantes h2.entry-title{
    font-weight: 500;
}


#modulo-articulos.modulo-articulos--actualidad .et_pb_image_container{
margin:0;
}
#modulo-articulos.modulo-articulos--actualidad a.entry-featured-image-url img{
    height:165px;
    object-fit:cover;
}
#modulo-articulos.modulo-articulos--actualidad .post-content {
    display:none;
}

/* ----------------------------------------------- */
/* ==========================================================
   ESTADO CERRADO
   Solo mostramos la imagen/logo central
   ========================================================== */


@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap');

/* ==========================================================
   1. ESTILOS BASE (ESTRUCTURA GENERAL SIN INTERACCIONES)
   ========================================================== */
#modulo-negocio { width: 100%; height: 100vh; padding: 0; box-sizing: border-box; display: flex; flex-direction: column; font-family: 'Barlow', sans-serif; overflow: hidden; }
#modulo-negocio .column-logo-detail { width: 250px; max-width: 80%; height: auto; object-fit: contain; transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
#modulo-negocio .column:last-child { direction: rtl; }
#modulo-negocio .list.gdt-list li { justify-content: flex-end; }

.title { height: 32.5vh; display: flex; flex-direction: row; justify-content: center; align-items: center; text-align: center; padding: 0 20px; opacity: 1; transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.title h2 { color: #141414; font-size: 50px; line-height: 66px; margin: 0 0 10px 0; font-weight: 500; width: 50%; text-align: left; }
.title p { color: #141414; font-size: 22px; line-height: 34px; margin: 0; font-weight: 400; width: 50%; text-align: left; padding-left: 20px; }

.column-wrapper { height: 62.5vh; display: flex; width: 100%; gap: 40px; padding: 0 20px; box-sizing: border-box; transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.column { flex: 1 1 0%; position: relative; box-sizing: border-box; overflow: hidden; display: flex; cursor: pointer; transform: translateY(100%); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.column.column-visible { transform: translateY(0); }

.video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; filter: brightness(0.6); }
.column::before { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 60%; z-index: 2; transition: height 0.8s ease; }

.column-inner { position: relative; z-index: 3; width: 100%; height: 100%; }
.content-top { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.column:last-child .content-top { left: auto; right: 0; }

.content-links { position: absolute; top: 0; right: 0; width: 50%; height: 100%; display: flex; align-items: center; box-sizing: border-box; opacity: 0; pointer-events: none; transform: translateX(20px); transition: all 0.5s ease; }
.column:first-child .content-links { padding-left: 30px; }
.column:last-child .content-links { right: auto; left: 0; padding-left: 0; padding-right: 30px; transform: translateX(-20px); }

.leer-mas { position: absolute; right: 60px; bottom: 30px; z-index: 4; opacity: 0; transform: translateX(20px); transition: all 0.4s ease; pointer-events: none; }
.column:last-child .leer-mas { left: 40%; right: inherit; }
.leer-mas a { color: #fff; font-size: 20px; font-weight: 600; text-decoration: none; letter-spacing: 0.5px; position: relative; }
.leer-mas a::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 100%; height: 2px; background-color: #fff; transform: scaleX(0); transform-origin: left; transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

.list { --list-gap: 48px; height: 100%; list-style: none; padding: 0; margin: 0; width: 100%; justify-content: center; display: flex; gap: var(--list-gap); flex-direction: column; padding-left: 60px !important; }
.list li {display: flex;align-items: center;padding: 5px 0;position: relative;justify-content: flex-start;flex-direction: row;gap: 20px;transition: all 0.3s ease;}
.list a { color: #fff; font-size: 28px; font-weight: 400; text-decoration: none; position: relative; display: inline-block; transform-origin: left center; transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); line-height: 1.2; white-space: normal; }
.list a::before { content: ''; position: absolute; bottom: -12px; left: 0; width: 100%; height: 2px; background-color: #fff; transform: scaleX(0); transform-origin: left; transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
.gdt-list.list a::before { background-color: var(--gdt, #6BA2FB); }
.gde-list.list a::before { background-color: var(--gde, #3FD5AE); }
.dom-chevron { width: 40px; height: 40px; fill: none; stroke: #fff; stroke-width: 2; opacity: 0.7; margin-left: 0px; transition: all 0.5s ease; }


/* ==========================================================
   2. ESCRITORIO (MÃƒÂS DE 1200PX): EXCLUSIVO HOVER RATÃƒâ€œN
   ========================================================== */
@media (min-width: 1201px) {
    /* ExpansiÃƒÂ³n de columnas */
    #modulo-negocio:has(.column.column-visible:hover) .title { height: 0; opacity: 0; padding: 0; margin: 0; }
    #modulo-negocio:has(.column.column-visible:hover) .column-wrapper { height: 80vh; margin: 10vh 0; gap: 0; }
    .column:hover { scale: 1.05; z-index: 10; }
    .column-wrapper:has(.column.column-visible:hover) .column:not(:hover) { flex-grow: 0; padding-left: 0; padding-right: 0; opacity: 0; }
    
    /* AnimaciÃƒÂ³n del contenido */
    .column.column-visible:hover::before { height: 85%; }
    .column.column-visible:hover .column-logo-detail { transform: scale(0.95); }
    .column.column-visible:hover .content-top { width: 50%; }
    .column.column-visible:hover .content-links { opacity: 1; pointer-events: auto; transform: translateX(0); backdrop-filter: blur(8px); }
    .column:hover .leer-mas { opacity: 1; transform: translateX(0); pointer-events: auto; }
    .column:has(.list li:hover) .leer-mas { opacity: 0; transform: translateX(20px); pointer-events: none; }
    
    /* AnimaciÃƒÂ³n de enlaces */
    .leer-mas a:hover::after { transform: scaleX(1); }
    .list li:hover a::before { transform: scaleX(1); }
    .list li:hover a { transform: scale(1.05); }
    .list li:hover .dom-chevron { transform: translateX(4px); opacity: 1; }
}

/* ==========================================================
   3. MÃƒâ€œVIL (HASTA 1200PX): EXCLUSIVO CLIC (CERO HOVER)
   ========================================================== */
@media (max-width: 1200px) {
    #modulo-negocio .column:first-child { margin-bottom: 30px; }
    .leer-mas a {font-size: 22px;}
    .dom-chevron {
    margin-top: 6px;
}

    /* Reset base para apilamiento */
    #modulo-negocio { height: auto; min-height: 100vh; overflow: visible; display: flex; flex-direction: column; }
    .title { height: auto; padding: 40px 20px; flex-direction: column; }
    .title h2 { font-size: 32px; line-height: 1.2; width: 100%; margin-bottom: 20px; }
    .title p { width: 100%; padding-left: 0; font-size: 18px; }
    .column-wrapper { flex-direction: column; height: auto; flex-grow: 1; gap: 0; }

    /* Estado inactivo de las columnas */
    #modulo-negocio .column { flex: 0 0 50vh; height: 50vh; padding: 0 !important; pointer-events: auto !important; }
    
    /* Estado activo al hacer CLIC */
    #modulo-negocio .column-wrapper:has(.column.active-mobile) .column:not(.active-mobile) { display: none !important; }
#modulo-negocio .column.active-mobile { 
        flex: 1 1 auto !important; 
        height: auto !important; 
        min-height: 80vh; 
        
        /* AÃƒâ€˜ADIDO: Forzamos la direcciÃƒÂ³n vertical */
        display: flex !important; 
        flex-direction: column !important; 
    }
    
    /* Arreglo del ::before y del fondo superpuesto */
    #modulo-negocio .column::before { display: none !important; }
    #modulo-negocio .column .video { position: absolute; top: 0; left: 0; right: 0; bottom: 0; height: 100% !important; min-height: 100% !important; object-fit: cover; }

    /* BotÃƒÂ³n X dinÃƒÂ¡mico */
    body > .btn-cerrar-nivel { top: 20px !important; right: 18px !important; left: auto !important; z-index: 2147483647 !important; }
    .btn-cerrar-columna { position: absolute; top: 15px; right: 20px; font-size: 45px; color: #fff; line-height: 1; z-index: 999; cursor: pointer; opacity: 0; pointer-events: none; }
    #modulo-negocio .column.active-mobile .btn-cerrar-columna { opacity: 1; pointer-events: auto; }

    /* CONTENEDOR INTERIOR UNIFICADO (AquÃƒÂ­ estÃƒÂ¡ el Blur y la soluciÃƒÂ³n al corte de fondo) */
#modulo-negocio .column-inner { 
        display: flex !important; 
        flex-direction: column !important; 
        justify-content: flex-start; 
        
        /* AÃƒâ€˜ADIDO: flex-grow a 1 para que se estire mÃƒÂ¡gicamente hasta el final */
        flex: 1 0 auto !important; 
        
        width: 100% !important;
        padding: 60px 0 40px 0; 
    }
    #modulo-negocio .column.active-mobile .column-inner {
        backdrop-filter: blur(8px);
        background-color: rgba(0, 0, 0, 0.2);
    }

    /* Logo */
    #modulo-negocio .content-top { position: relative !important; width: 100% !important; height: auto !important; flex: 0 0 auto !important; padding: 20px 0; }
    #modulo-negocio .column-logo-detail { transform: scale(0.8) !important; max-width: 70%; margin: 0 auto; display: block; }

    /* Enlaces visibles tras el clic (Sin blur duplicado) */
    #modulo-negocio .content-links {display: none !important;width: 100% !important;height: auto !important;position: relative !important;padding: 0 40px !important;transform: none !important;}
    #modulo-negocio .column.active-mobile .content-links {display: flex !important;flex-direction: column;flex: 1 1 auto !important;opacity: 1 !important;justify-content: center;}

    /* Listas */
    #modulo-negocio .list {padding: 0 !important;--list-gap: 30px;}
    #modulo-negocio .list li { justify-content: start !important; direction: ltr !important; }
    #modulo-negocio .list a {font-size: 30px !important;text-align: left !important;line-height: 1.3;white-space: normal;}

    /* BotÃƒÂ³n Leer MÃƒÂ¡s */
    #modulo-negocio .leer-mas {position: relative !important;left: auto !important;right: auto !important;bottom: auto !important;transform: none !important;display: flex !important;justify-content: center !important;width: 100% !important;margin-top: 40px !important;opacity: 0 !important;}
    #modulo-negocio .column.active-mobile .leer-mas {opacity: 1 !important;pointer-events: auto !important;}
}

/* ========================================== */
/* 7. FORMULARIO CONTACT FORM 7 (.modulo-formulario) */
/* ========================================== */

/* --- Estructura de grid (form-row / col-md-*) --- */
.modulo-formulario .wpcf7-form {
    width: 100%;
}

.modulo-formulario .wpcf7 form.sent .wpcf7-response-output {
    border-color: #005ff9;
    color: #141414;
}

.modulo-formulario .form-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.modulo-formulario .form-row [class*="col-md-"] {
    padding: 0 15px;
    box-sizing: border-box;
    width: 100%;
}

.modulo-formulario .form-row .col-md-12 { width: 100%; }
.modulo-formulario .form-row .col-md-6 { width: 50%; }
.modulo-formulario .form-row .col-md-4 { width: 33.3333%; }

.modulo-formulario .form-group {
    margin-bottom: 35px;
}

.modulo-formulario .form-group p {
    margin: 0;
    padding: 0;
}

/* --- Labels --- */
.modulo-formulario label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #141414;
    margin-bottom: 12px;
}

/* --- Inputs, selects y textarea de lÃƒÆ’Ã‚Â­nea inferior --- */
.modulo-formulario .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.modulo-formulario input.wpcf7-form-control:not([type="checkbox"]):not([type="file"]):not([type="submit"]),
.modulo-formulario select.wpcf7-form-control,
.modulo-formulario textarea.wpcf7-form-control {
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    border: none;
    border-bottom: 1px solid #005ff9;
    border-radius: 0;
    padding: 8px 0;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    color: #141414;
    transition: border-color 0.3s ease;
}

.modulo-formulario input.wpcf7-form-control::placeholder,
.modulo-formulario textarea.wpcf7-form-control::placeholder {
    color: #999;
}

.modulo-formulario input.wpcf7-form-control:not([type="submit"]):focus,
.modulo-formulario select.wpcf7-form-control:focus,
.modulo-formulario textarea.wpcf7-form-control:focus {
    outline: none;
    border-bottom: 2px solid #005ff9;
}

.modulo-formulario textarea.wpcf7-form-control {
    resize: vertical;
    min-height: 60px;
}

/* TriÃƒÆ’Ã‚Â¡ngulo azul en la esquina de arrastre (reemplaza el gris nativo) */
.modulo-formulario textarea.wpcf7-form-control::-webkit-resizer {
    background-image: linear-gradient(135deg, transparent 0 50%, #005ff9 50%);
    background-size: 10px 10px;
    background-repeat: no-repeat;
    background-position: bottom right;
}

/* --- Select personalizado (flecha azul) --- */
.modulo-formulario select.wpcf7-form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 28px;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005ff9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 24px;
}

.modulo-formulario select.wpcf7-form-control::-ms-expand {
    display: none;
}

/* --- Adjuntar archivo --- */
.modulo-formulario .wpcf7-form-control-wrap[data-name="adjunta-tu-cv"] {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #005ff9;
    border-radius: 4px;
    padding: 30px 20px;
}

.modulo-formulario input.wpcf7-form-control[type="file"] {
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    color: #141414;
}

.modulo-formulario input.wpcf7-form-control[type="file"]::file-selector-button {
    background: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 8px 16px;
    margin-right: 12px;
    font-family: 'Barlow', sans-serif;
    font-size: 13px;
    color: #141414;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.modulo-formulario input.wpcf7-form-control[type="file"]::file-selector-button:hover {
    background: #e2e2e2;
}

/* --- Bloque de informaciÃƒÆ’Ã‚Â³n legal (RGPD) --- */
.modulo-formulario .form-row h4 {
    font-size: 24px;
    font-weight: 400;
    color: #141414;
    margin-bottom: 10px;
}

.modulo-formulario .form-row h4 + p,
.modulo-formulario .form-row p {
    font-size: 13px;
    line-height: 1.6em;
    color: #141414;
    margin-bottom: 6px;
}

.modulo-formulario .form-row a {
    color: #005ff9;
    text-decoration: underline;
}

/* --- Checkbox de aceptaciÃƒÆ’Ã‚Â³n --- */
.modulo-formulario .wpcf7-acceptance .wpcf7-list-item {
    display: block;
}
.modulo-formulario .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
    font-weight:400;
}

.modulo-formulario .wpcf7-acceptance label {
    display: flex;
    align-items: center;
    text-transform: none;
    letter-spacing: normal;
    font-size: 14px;
    font-weight: 600;
    color: #141414;
    cursor: pointer;
}

.modulo-formulario .wpcf7-acceptance input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 10px 0 0;
    flex-shrink: 0;
    accent-color: #005ff9;
    cursor: pointer;
}

/* --- BotÃƒÆ’Ã‚Â³n de envÃƒÆ’Ã‚Â­o --- */
.modulo-formulario input.wpcf7-submit {
    display: block;
    width: 100%;
    background-color: #005ff9;
    color: #fff;
    border: none;
    border-radius: 0;
    padding: 18px;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.modulo-formulario input.wpcf7-submit:hover:not(:disabled) {
    background-color: #0345bf;
}

.modulo-formulario input.wpcf7-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.modulo-formulario .wpcf7-spinner {
    margin: 10px auto 0;
    display: block;
}

.modulo-formulario .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #e6342a;
    margin-top: 6px;
}

.modulo-formulario .wpcf7-response-output {
    border: 1px solid #005ff9;
    border-radius: 4px;
    padding: 12px 16px;
    margin-top: 20px;
    font-size: 14px;
    color: #141414;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .modulo-formulario .form-row .col-md-6,
    .modulo-formulario .form-row .col-md-4 {
        width: 100%;
        margin-bottom: 20px;
    }

    .modulo-formulario .form-row .col-md-6:last-child,
    .modulo-formulario .form-row .col-md-4:last-child {
        margin-bottom: 0;
    }
}

/* MÃƒÆ’Ã‚Â³dulo interÃƒÆ’Ã‚Â©s */
#modulo-interes-wrapper .modulo-interes-item:hover,
#modulo-interes-wrapper .modulo-interes-item:hover h2,
#modulo-interes-wrapper .modulo-interes-item:hover h3,
#modulo-interes-wrapper .modulo-interes-item:hover a{
    color:#fff !important;
}
#modulo-interes-wrapper .modulo-interes-item,
#modulo-interes-wrapper .modulo-interes-item h2,
#modulo-interes-wrapper .modulo-interes-item h3,
#modulo-interes-wrapper .modulo-interes-item a{
    color: #141414 !important;
}


/* modulo slider proyectos*/
.modulo-tabs .sidebar-title{
    
    padding: 20px 40px 20px 20px;
    margin-bottom: 50px;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;
    font-weight:400;
    @media (min-width: 992px) {
    position:absolute;
        top:20px;
        padding: 20px 40px;
    }
}

.modulo-tabs {
  display: flex;
  width: 100%;
  min-height: 700px; /* Altura total del mÃƒÆ’Ã‚Â³dulo */
}

/* --- COLUMNA IZQUIERDA (MENÃƒÆ’Ã…Â¡) --- */
.modulo-tabs .dominion-menu-lateral {
  width: 35%; /* Ancho de la parte azul */
  background-color: #005cf9;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 0;
}

.modulo-tabs .modulo-tabs-btn {
  padding: 20px 40px;
  color: #ffffff;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  opacity: 0.8;
}

/* Efecto hover y estado activo en el menÃƒÆ’Ã‚Âº */
.modulo-tabs .modulo-tabs-btn:hover,
.modulo-tabs .modulo-tabs-btn.active {
  background-color: rgba(255, 255, 255, 0.1); /* Fondo sutil al seleccionar */
  opacity: 1;
}

/* --- COLUMNA DERECHA (PANELES) --- */
.modulo-tabs .dominion-contenido-paneles {
  width: 65%; /* Ancho de la imagen */
  position: relative;
  overflow: hidden;
	background-color: #005cf9;
}

.modulo-tabs .modulo-tabs-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  
  /* Ocultar paneles inactivos */
  opacity: 0;
  visibility: visible;
  transition: opacity 0.4s ease;
	z-index: 1;
}
.modulo-tabs .dominion-contenido-paneles .modulo-tabs-panel {
	 transition: opacity 1s ease;
}

/* Mostrar panel activo */
.modulo-tabs .modulo-tabs-panel.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

/* --- EL VELO ANIMADO --- */
.modulo-tabs .velo-contenido {
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  height: 100%;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 40px 10%;
  box-sizing: border-box;
  
  /* Estado inicial: oculto a la izquierda */
  transform: translateX(-100%);
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Capa de fondo difuminado, independiente del contenido para que el texto no se desvanezca */
.modulo-tabs .velo-contenido::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.192);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  mask-image: linear-gradient(to right, #000 70%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, #000 70%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

.modulo-tabs .velo-contenido > * {
  position: relative;
  z-index: 1;
}

/* La magia: Cuando el panel se vuelve activo, el velo entra desde la izquierda. 
   El ligero retraso (delay) hace que primero veas la foto y luego entre el velo */
.modulo-tabs .modulo-tabs-panel.active .velo-contenido {
  transform: translateX(0);
  transition-delay: 0.1s; 
}

/* --- TIPOGRAFÃƒÆ’Ã‚ÂA Y BOTÃƒÆ’Ã¢â‚¬Å“N --- */
.modulo-tabs .velo-subtitulo {
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: #fff;
}

.modulo-tabs .velo-texto {
  font-size: 16px;
  line-height: 1.6;
  max-width: 500px;
  margin-bottom: 30px;
}

.modulo-tabs .velo-boton {
  width: 75px;
  height: 75px;
  background-color: #005cf9;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  text-decoration: none;
  transition: transform 0.3s ease, background-color 0.3s ease;
  @media (min-width: 992px) {
    position: absolute;
    left: 70%;
  }
}

.modulo-tabs .velo-boton:hover {
  background-color: #0046c4;
  /*transform: scale(1.05);*/
  margin-left:10px;
  transition: all 0.5s ease;
}

/* --- RESPONSIVE (MÃƒÆ’Ã‚Â³viles) --- */
@media (max-width: 992px) {
  .modulo-tabs {
    flex-direction: column;
  }
  .modulo-tabs .dominion-menu-lateral,
  .modulo-tabs .dominion-contenido-paneles {
    width: 100%;
  }
  .modulo-tabs .dominion-contenido-paneles {
    min-height: 400px;
  }
  .modulo-tabs .modulo-tabs-btn {
    padding: 15px 20px;
  }
}

#modulo-faqs .et_pb_accordion_item:not(.et_pb_toggle_close){
    border-bottom:2px solid #0046c4;
}

#modulo-cards .et_pb_link_inner{
    position:absolute;
    bottom:0;
}


/* Reseteo bÃƒÆ’Ã‚Â¡sico para el mÃƒÆ’Ã‚Â³dulo */
/* 1. Contenedor principal con la imagen limpia */
#modulo-areas-actividad {
  position: relative; /* Obligatorio para contener la capa de blur */
  background-image: url('/wp-content/uploads/2026/07/areas_de_actividad_industria.jpg');
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 80px 40px;
  display: flex;
  justify-content: center;
}

/* 2. Capa de blur que cubre desde el 60% hasta el final */
#modulo-areas-actividad::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  right: 0;  
  bottom: 0;
  
  /* Efecto de desenfoque */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); /* Soporte para Safari */

  
  z-index: 1; /* Coloca la capa por encima del fondo */
}

/* 3. Elevamos el contenedor para que el texto quede por encima del blur */
#modulo-areas-actividad .contenedor {
  position: relative;
  z-index: 2; /* Por encima de la capa ::before */
  max-width: 1200px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}

#modulo-areas-actividad * {
  box-sizing: border-box;
}

#modulo-areas-actividad .contenedor {
  max-width: 1200px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}

/* --- Columna Izquierda --- */
#modulo-areas-actividad .columna-izquierda {
  flex: 1 1 500px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#modulo-areas-actividad h2 {
  font-size: 44px;
  font-weight: 400;
  line-height: 54px;
  margin: 0 0 20px 0;
  color: #fff;
}

#modulo-areas-actividad p {
  font-size: 18px;
  color: #fff;
  margin: 0 0 25px 0;
  max-width: 90%;
  line-height: 30px;
  font-weight: 400;
}

#modulo-areas-actividad .enlace-primario {
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  display: inline-block;
  margin-bottom: 60px;
  transition: opacity 0.3s ease;
  line-height: 26px;
  font-weight: 400;
}

#modulo-areas-actividad .enlace-primario:hover {
    margin-left: 10px;
    transition:all 0.5s ease;
}

/* EstadÃƒÆ’Ã‚Â­sticas */
#modulo-areas-actividad .estadisticas {
  display: flex;
  align-items: center;
}

#modulo-areas-actividad .item-estadistica {
  display: flex;
  flex-direction: column;
}

#modulo-areas-actividad .item-estadistica:first-child {
  padding-right: 40px;
  margin-right: 40px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

#modulo-areas-actividad .numero {
  font-size: 80px;
  font-weight: 300;
  line-height: 96px;
  margin-bottom: 5px;
  text-align: center;
}

#modulo-areas-actividad .etiqueta {
  font-size: 12px;
  line-height: 14px;
  color: #fff;
  letter-spacing: 1.5px;
  text-align: center;
}

/* --- Columna Derecha --- */
#modulo-areas-actividad .columna-derecha {
  flex: 1 1 400px;
  display: flex;
  align-items: center;
}

#modulo-areas-actividad .lista-servicios {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

#modulo-areas-actividad .lista-servicios li {
  margin-bottom: 25px;
}

#modulo-areas-actividad .lista-servicios li:last-child {
  margin-bottom: 0;
}

#modulo-areas-actividad .lista-servicios a {
  color: #ffffff;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
}

#modulo-areas-actividad .lista-servicios a:hover {
      margin-left: 10px;
    transition:all 0.5s ease;
}

#modulo-areas-actividad .flecha {
  margin-left: 10px;
  font-weight: normal;
  font-size: 1.2rem;
}

/* --- Responsive (MÃƒÆ’Ã‚Â³viles y Tablets) --- */
@media (max-width: 900px) {
  #modulo-areas-actividad .contenedor {
    gap: 40px;
  }
  
  #modulo-areas-actividad .item-estadistica:first-child {
    padding-right: 20px;
    margin-right: 20px;
  }
  
  #modulo-areas-actividad .numero {
    font-size: 3rem;
  }
}

/* --- Estilos para pintar tu flecha exacta de Font Awesome (\f061) --- */
#modulo-areas-actividad .con-flecha {
  display: inline-flex;
  align-items: center;
  width: 100%; 
  text-decoration: none;
}

#modulo-areas-actividad .con-flecha::after {
  /* Tus propiedades exactas */
  content: '\f061';
  font-family: FontAwesome !important;
  margin-left: 10px;
  line-height: 1em !important;
  color: currentColor;
  font-weight: 900;
  
  /* Comportamiento base e interactividad */
  display: inline-block;
  transition: color 0.3s ease-in-out, transform 0.3s ease;
}

/* Efecto opcional: un ligero desplazamiento hacia la derecha al pasar el cursor */
#modulo-areas-actividad .con-flecha:hover::after {
  transform: translateX(4px);
}

/* Ajuste para que el enlace de la columna izquierda no ocupe el 100% del ancho */
#modulo-areas-actividad .enlace-primario.con-flecha {
  width: auto;
}

/* ========================================== */
/* HEADER CON BREADCRUMBS        */
/* ========================================== */
.modulo-cabecera-slider-wrapper .modulo-cabecera-slider .et_pb_slide_description .et_pb_breadcrumbs{
	order:1;
}
.modulo-cabecera-slider-wrapper .modulo-cabecera-slider .et_pb_slide_description .et_pb_slide_title{
	order:2;
}
.modulo-cabecera-slider-wrapper .modulo-cabecera-slider .et_pb_slide_description .et_pb_slide_content{
	order:3;
}
/* ========================================== */
/* MÃƒÆ’Ã¢â‚¬Å“DULO DE PESTAÃƒÆ’Ã¢â‚¬ËœAS */
/* ========================================== */

#navbar-pestanas {
        display: flex;
        width: 100%;
        background-color: #ffffff;
        height: 70px;
    }

    #navbar-pestanas .nav-item {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        color: #141414;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 2px;
    }

    #navbar-pestanas .nav-item:not(.contacto):hover {
        background-color: #0066ff;
        color: #ffffff;
        border-bottom-color: #0066ff;
    }


    #navbar-pestanas .nav-item.contacto {
        background-color: #0066ff;
        color: #ffffff;
        border-bottom: 3px solid #0066ff;
    }

    #navbar-pestanas .nav-item.contacto:hover {
        background-color: #0052cc;
        border-bottom-color: #0052cc;
    }

#tabla-dominion{
	border:none;
	font-size:16px;
	font-weight:400;
	color:#141414;
}

#tabla-dominion tr th{
	padding:9px 24px 9px 0;
}
#tabla-dominion tr td{
	padding:14px 24px 14px 0
}

#tabla-dominion.tabla-analistas tr th, #tabla-dominion tr td{
text-align:center;	
}
#tabla-dominion.tabla-analistas img{
	max-width:140px;
}

/* GRÃƒÆ’Ã‚ÂFICOS */

/* Contenedor principal que mantiene el grÃƒÆ’Ã‚Â¡fico a la izq y la leyenda a la dcha */
#modulo-graficos .grafico-flex-container {
  display: flex;
  align-items: center;
  gap: 25px;
  color: #141414;
}

/* Evita que el grÃƒÆ’Ã‚Â¡fico se vuelva gigante limitando su tamaÃƒÆ’Ã‚Â±o */
#modulo-graficos .grafico-svg-wrapper {
  width: 300px;
  height: 300px;
  flex-shrink: 0;
  position: relative;
}

#modulo-graficos .grafico-svg-wrapper svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

#modulo-graficos .donut-segment {
  cursor: pointer;
  transition: stroke-width 0.2s ease, opacity 0.2s ease;
}

#modulo-graficos .donut-segment:hover {
  opacity: 0.85;
}

/* Tooltips ocultos por defecto */
#modulo-graficos .svg-tooltip {
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

/* LÃƒÆ’Ã‚Â³gica CSS para mostrar el tooltip correcto al hacer hover en su segmento */
#modulo-graficos .hover-1:hover ~ .tooltip-1,
#modulo-graficos .hover-2:hover ~ .tooltip-2,
#modulo-graficos .hover-3:hover ~ .tooltip-3,
#modulo-graficos .hover-4:hover ~ .tooltip-4,
#modulo-graficos .hover-5:hover ~ .tooltip-5,
#modulo-graficos .hover-6:hover ~ .tooltip-6,
#modulo-graficos .hover-7:hover ~ .tooltip-7,
#modulo-graficos .hover-8:hover ~ .tooltip-8,
#modulo-graficos .hover-9:hover ~ .tooltip-9 {
  opacity: 1;
}

/* Layout de la leyenda */
#modulo-graficos .grafico-leyenda {
  display: flex;
  flex-direction: column;
}

/* !important para asegurar que tu tema no le ponga los puntos de lista */
#modulo-graficos .leyenda-lista {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 15px 0 !important;
	font-weight:400;
}

#modulo-graficos .leyenda-item {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #141414;
  white-space: nowrap;
}

#modulo-graficos .leyenda-color {
  width: 32px;
  height: 12px;
  margin-right: 12px;
  border-radius: 1px;
  flex-shrink: 0;
}

/* Icono PDF */
#modulo-graficos .pdf-icon-wrapper svg {
  width: 60px;
  height: auto;
  cursor: pointer;
}
/* =========================================
   1. CONTENEDOR PRINCIPAL
   ========================================= */
/* Fondo claro y padding general */
.tribe-events-view {
    background-color: #f9f9f9 !important;
    padding: 40px 20px !important;
    border-radius: 8px;
}

/* =========================================
   2. CABECERA (MES Y FLECHAS)
   ========================================= */
/* Centrar la barra superior */
.tribe-events-c-top-bar {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-bottom: 30px !important;
}

/* Reordenar tÃƒÆ’Ã‚Â­tulo y flechas con Flexbox */
.tribe-events-c-top-bar__nav {
    display: contents !important;
}

/* TÃƒÆ’Ã‚Â­tulo del Mes (Centro) */
.tribe-events-c-top-bar__datepicker-button {
    text-transform: uppercase !important;
    font-size: 16px !important;
    letter-spacing: 2px !important;
    font-weight: 600 !important;
    color: #555 !important;
    order: 2; 
    margin: 0 30px !important;
    background: transparent !important;
}

/* Ocultar la flechita hacia abajo del mes */
.tribe-events-c-top-bar__datepicker-button svg { 
    display: none !important; 
}

/* Botones de navegaciÃƒÆ’Ã‚Â³n (Flechas azules) */
.tribe-events-c-top-bar__nav-button {
    background: transparent !important;
    order: 1; /* Flecha izquierda por defecto */
}
.tribe-events-c-top-bar__nav-button--next {
    order: 3; /* Flecha derecha */
}
.tribe-events-c-top-bar__nav-button svg {
    fill: #1a73e8 !important; /* Color azul */
    width: 24px !important;
    height: 24px !important;
}

/* =========================================
   3. CUADRÃƒÆ’Ã‚ÂCULA Y CABECERA DE DÃƒÆ’Ã‚ÂAS (SIN BORDES)
   ========================================= */
/* Quitar bordes generales de la tabla/grid */
.tribe-events-calendar-month__grid,
.tribe-events-calendar-month__row,
.tribe-events-calendar-month__day,
.tribe-events-calendar-month__days-of-week {
    border: none !important;
    background: transparent !important;
}

/* Estilo de la cabecera de dÃƒÆ’Ã‚Â­as (L, M, X...) */
.tribe-events-calendar-month__day-of-week {
    text-transform: uppercase !important;
    font-size: 13px !important;
    color: #141414 !important;
    font-weight: 600 !important;
    border: none !important;
    padding-bottom: 15px !important;
}

/* =========================================
   4. NÃƒÆ’Ã…Â¡MEROS DE LOS DÃƒÆ’Ã‚ÂAS
   ========================================= */
.tribe-events-calendar-month__day {
    min-height: 70px !important;
}

.tribe-events-calendar-month__day-date-number {
    font-size: 15px !important;
    color: #141414 !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: auto !important;
    border-radius: 50% !important;
    text-decoration: none !important;
}

/* =========================================
   5. DÃƒÆ’Ã‚ÂA ACTUAL (CÃƒÆ’Ã‚ÂRCULO GRIS, NO CUADRADO AZUL)
   ========================================= */
/* Quitar fondo azul del contenedor del dÃƒÆ’Ã‚Â­a */
.tribe-events-calendar-month__day--current {
    background: transparent !important;
}

/* Poner fondo gris circular al nÃƒÆ’Ã‚Âºmero */
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-number {
    background-color: #dcdcdc !important;
    color: #141414 !important;
    font-weight: 600 !important;
}

/* Ocultar el puntito blanco que TEC le pone al dÃƒÆ’Ã‚Â­a actual */
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-number::after {
    display: none !important;
}

/* =========================================
   6. OCULTAR ELEMENTOS SOBRANTES
   ========================================= */
/* Ocultar dÃƒÆ’Ã‚Â­as del mes anterior y siguiente */
.tribe-events-calendar-month__day--past-month .tribe-events-calendar-month__day-date-number,
.tribe-events-calendar-month__day--next-month .tribe-events-calendar-month__day-date-number {
    visibility: hidden !important;
}

/* Ocultar el botÃƒÆ’Ã‚Â³n "Hoy", los eventos del grid, y la navegaciÃƒÆ’Ã‚Â³n inferior */
.tribe-events-c-top-bar__today-button,
.tribe-events-calendar-month__events,
.tribe-events-calendar-month__mobile-events,
.tribe-events-c-nav,
.tribe-events-c-messages {
    display: none !important;
}

/* Estructura general de la lista */
.agenda-item {
    display: flex;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #eaeaea;
}

/* Bloque de fecha a la izquierda */
.agenda-fecha {
    display: flex;
    align-items: center;
    min-width: 120px;
    padding-right: 30px;
    border-right: 2px solid #005aff; /* LÃƒÆ’Ã‚Â­nea azul separadora */
    margin-right: 30px;
}

.agenda-fecha .dia {
    font-size: 48px;
    font-weight: 300;
    line-height: 1;
    margin-right: 10px;
    color: #141414;
}

.agenda-fecha .mes-ano {
    font-size: 11px;
    font-weight: 600;
    color: #141414;
    letter-spacing: 1px;
}

/* InformaciÃƒÆ’Ã‚Â³n del evento */
.agenda-info h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
    color: #141414;
}

.agenda-meta {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #141414;
}

.agenda-meta .etiqueta-cat {
    color: #005aff;
    border: 1px solid #005aff;
    padding: 4px 8px;
    margin-right: 15px;
}
/* --- CALENDARIO VISUAL --- */
.calendario-inversor {
    background-color: #fafafa; /* Gris muy clarito del mockup */
    padding: 30px;
    margin-bottom: 40px;
}

.calendario-header {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

.cal-titulo {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #141414;
    margin: 0 20px;
}

.cal-nav {
    background: none;
    border: none;
    color: #005aff; /* Azul del mockup */
    font-size: 16px;
    cursor: pointer;
    font-weight: bold;
}

.calendario-dias-semana {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 11px;
    font-weight: 400;
    color: #141414;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.calendario-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
}

.cal-dia {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    font-size: 14px;
    color: #141414;
    cursor: pointer;
}

.cal-dia:hover:not(.vacio) {
    background-color: #eaeaea;
}

.cal-dia.activo {
    background-color: #e0e0e0; /* CÃƒÆ’Ã‚Â­rculo gris del dÃƒÆ’Ã‚Â­a 19 en el mockup */
    font-weight: bold;
}
/* Layout de dos columnas */
.calendario-layout-doble {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 60px;
}

.calendario-inversor {
    flex: 0 0 calc(50% - 20px);
    background-color: #fafafa; 
    padding: 30px;
    margin-bottom: 0; /* Anula el margen anterior */
}

/* Columna Derecha (Detalles del dÃƒÆ’Ã‚Â­a) */
.calendario-detalle-dia {
    flex: 0 0 calc(50% - 20px);
    padding-top: 10px;
}

#detalle-dia-titulo {
    font-size: 16px;
    color: #141414;
    margin: 0 0 10px 0;
    font-weight: normal;
}

.detalle-dia-linea {
    border: 0;
    border-top: 1px solid #141414;
    margin-bottom: 30px;
}

/* Estados del dÃƒÆ’Ã‚Â­a en el calendario */
.cal-dia.activo {
    background-color: #e0e0e0; /* CÃƒÆ’Ã‚Â­rculo gris del dÃƒÆ’Ã‚Â­a actual */
    font-weight: bold;
}

.cal-dia.seleccionado {
    background-color: #005aff !important; /* CÃƒÆ’Ã‚Â­rculo Azul del dÃƒÆ’Ã‚Â­a seleccionado */
    color: #ffffff;
    font-weight: bold;
}

/* Mensaje sin eventos */
.sin-eventos {
    color: #005aff;
    font-weight: 600;
    font-size: 14px;
}

/* --- BLOQUE DE DESTACADOS (Cajas Azules) --- */
.agenda-destacados {
    display: flex;
    margin-bottom: 40px;
    background-color: #005aff; /* Azul corporativo */
}

.destacado-item {
    flex: 1; /* Ocupan 50% cada uno */
    padding: 40px;
    color: #ffffff;
    box-sizing: border-box;
}

/* LÃƒÆ’Ã‚Â­nea separadora blanca entre las dos cajas */
.destacado-item:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.4);
}

.destacado-meta {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
}

.destacado-meta .separador {
    color: rgba(255, 255, 255, 0.5);
}

.destacado-titulo {
    margin: 0;
    font-size: 26px;
    font-weight: 400;
	  color: #ffffff;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.destacado-meta span {
    display: flex;
    align-items: center;
}

img.location{
width:12px;	
	margin-right:6px;
}
img.calendar{
	width:14px;
	margin-right:6px;
}

/* Responsividad para las cajas en mÃƒÆ’Ã‚Â³vil */
@media (max-width: 768px) {
    .agenda-destacados {
        flex-direction: column;
    }
    .destacado-item:first-child {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    }
}

/* Responsividad para mÃƒÆ’Ã‚Â³viles */
@media (max-width: 768px) {
    .calendario-inversor, .calendario-detalle-dia {
        flex: 0 0 100%;
    }
}

/* ==========================================
   DISEÃƒÆ’Ã¢â‚¬ËœO DE TABS (FUTUROS / PASADOS)
   ========================================== */
.agenda-controles {
    margin-top: 20px;
}

.agenda-tabs {
    display: flex;
    gap: 30px;
    border-bottom: 1px solid #eaeaea; /* LÃƒÆ’Ã‚Â­nea gris finita horizontal */
    margin-bottom: 30px;
}

.tab-btn {
    background: none;
    border: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #999; /* Texto gris por defecto */
    padding: 0 0 15px 0;
    cursor: pointer;
    position: relative;
    outline: none;
}

.tab-btn.active {
    color: #005aff; /* Texto azul si estÃƒÆ’Ã‚Â¡ activo */
}

/* La lÃƒÆ’Ã‚Â­nea azul debajo de la pestaÃƒÆ’Ã‚Â±a activa */
.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px; /* Monta justo encima de la lÃƒÆ’Ã‚Â­nea gris del contenedor */
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #005aff;
}


/* ==========================================
   DISEÃƒÆ’Ã¢â‚¬ËœO DE CHECKBOXES PERSONALIZADOS
   ========================================== */
.agenda-filtros {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.custom-checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #666;
}

/* 1. Ocultar el checkbox cuadrado nativo del navegador */
.custom-checkbox-label input[type="checkbox"] {
    display: none;
}

/* 2. Crear nuestro propio cuadrado vacÃƒÆ’Ã‚Â­o */
.custom-checkbox {
    width: 16px;
    height: 16px;
    border: 1px solid #999;
    margin-right: 10px;
    display: inline-block;
    position: relative;
    background-color: transparent;
    transition: all 0.2s ease;
}

/* 3. Estilo del cuadrado cuando hacemos clic (bordes azules) */
.custom-checkbox-label input[type="checkbox"]:checked + .custom-checkbox {
    border-color: #005aff;
}

/* 4. Dibujar la "palomita / tick" azul usando bordes rotados */
.custom-checkbox-label input[type="checkbox"]:checked + .custom-checkbox::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 9px;
    border: solid #005aff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.filtro-texto {
    padding-top: 2px; /* AlineaciÃƒÆ’Ã‚Â³n vertical perfecta con el cuadradito */
}

/* grafico barras */
/* --- Contenedor Principal --- */
.graficos-modulo {
  color: #141414;
}

/* --- PestaÃƒÆ’Ã‚Â±as (Tabs) --- */
.tabs-header {
  display: flex;
  gap: 30px;
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 40px;
}
.tab-btn {
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 700;
  color: #141414;
  padding: 10px 0;
  cursor: pointer;
  text-transform: uppercase;
  position: relative;
  transition: color 0.3s;
  opacity:0.8;
}
.tab-btn:hover {
  color: #1b209a;
}
.tab-btn.active {
  color: #141414; /* Color oscuro para el texto activo */
  opacity:1;
}
/* LÃƒÆ’Ã‚Â­nea azul inferior para la pestaÃƒÆ’Ã‚Â±a activa */
.tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #1b209a; /* Azul oscuro */
}

/* --- Contenedor del GrÃƒÆ’Ã‚Â¡fico --- */
.tab-content {
  display: none;
  animation: fadeIn 0.4s ease;
}
.tab-content.active {
  display: block;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.chart-area {
  display: flex;
  position: relative;
  height: 350px;
  padding-bottom: 40px; /* Espacio para etiquetas X y "AÃƒÆ’Ã‚Â±o" */
}

/* --- Eje Y --- */
.y-axis-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  padding-right: 15px;
  border-right: 1px solid #e0e0e0;
  width: 50px;
  position: relative;
}
.y-axis-container span {
  font-size: 12px;
  color: #888;
  line-height: 1;
  transform: translateY(5px); /* Centra el nÃƒÆ’Ã‚Âºmero con la lÃƒÆ’Ã‚Â­nea inferior teÃƒÆ’Ã‚Â³rica */
}
.y-axis-container span:last-child {
  transform: translateY(0);
}
.y-label-vertical {
  position: absolute;
  left: -35px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  font-size: 14px;
  font-weight: 400;
  color: #141414;
  letter-spacing: 1px;
}

/* --- Barras (Eje X) --- */
.bars-container {
  display: flex;
  flex: 1;
  align-items: flex-end;
  justify-content: space-around;
  padding-left: 10px;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
}

.bar-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  width: 8%; /* Grosor relativo de las barras */
  position: relative;
}
.bar {
  width: 100%;
  background-color: #ccc;
  position: relative;
  cursor: pointer;
  transition: opacity 0.2s;
}
.bar:hover {
  opacity: 0.9;
	z-index:1;
}
.x-label {
  position: absolute;
  bottom: -25px;
  font-size: 13px;
  color: #141414;
  font-weight:400;
}
.x-label-main {
  position: absolute;
  bottom: -50px;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  color: #141414;
  font-weight:400;
}

/* --- Colores de las Barras --- */
.c-2016 { background-color: #fcbf32; }
.c-2017 { background-color: #fbd364; }
.c-2018 { background-color: #fce38d; }
.c-2019 { background-color: #fdf0c3; }
.c-2020 { background-color: #1b209a; }
.c-2021 { background-color: #0060ff; }
.c-2022 { background-color: #4489f6; }
.c-2023 { background-color: #7babfb; }
.c-2024 { background-color: #a4c9fc; }

/* --- Tooltip (Hover) --- */
.bar::after, .bar::before {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  position: absolute;
  z-index: 10;
}

/* Caja negra del tooltip */
.bar::after {
  content: attr(data-tooltip);
  left: 100%;
  top: 15px; /* Ajuste vertical desde el borde superior de la barra */
  background: #222;
  color: #fff;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
  white-space: nowrap;
  margin-left: 8px; /* SeparaciÃƒÆ’Ã‚Â³n de la flechita */
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
/* TriÃƒÆ’Ã‚Â¡ngulo apuntando a la izquierda */
.bar::before {
  content: '';
  left: 100%;
  top: 21px;
  border: 5px solid transparent;
  border-right-color: #222;
  margin-left: -2px;
}

.bar:hover::after, 
.bar:hover::before {
  opacity: 1;
}

.modulo-proveedores {
  max-width: 1200px;
  margin: 40px auto;
  color: #444;
}

.modulo-proveedores .proveedores-header h2 {
  font-size: 32px;
  margin-bottom: 20px;
  color: #222;
  font-weight: 600;
}
.modulo-proveedores .proveedores-header p {
  font-size: 16px;
  line-height: 1.6;
  color: #666;
  margin-bottom: 40px;
}

/* --- Barra de Progreso --- */
.modulo-proveedores .proveedores-progress-container {
  margin-bottom: 60px;
}
.modulo-proveedores .progress-label {
  font-size: 16px;
  color: #141414;
  margin-bottom: 15px;
}
.modulo-proveedores .progress-track {
  width: 100%;
  height: 12px;
  background-color: #f5f5f5;
  border-radius: 10px;
  overflow: hidden;
}
.modulo-proveedores .progress-fill {
  height: 100%;
  background-color: #005cfb; /* Azul corporativo */
  border-radius: 10px;
  transition: width 0.6s ease-in-out;
}

/* --- NavegaciÃƒÆ’Ã‚Â³n Inferior --- */
.modulo-proveedores .proveedores-nav-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #eaeaea;
  padding-top: 20px;
}
.modulo-proveedores .nav-title {
  font-size: 12px;
  font-weight: bold;
  color: #005cfb;
  text-transform: uppercase;
  flex-shrink: 0;
  margin-right: 40px;
}

/* --- Slider de AÃƒÆ’Ã‚Â±os --- */
.modulo-proveedores .slider-container {
  flex-grow: 1;
  overflow: hidden; /* Oculta lo que desborda */
  position: relative;
}
.modulo-proveedores .slider-track {
  display: flex;
  align-items: center;
  transition: transform 0.4s ease;
}
.modulo-proveedores .year-btn {
  background: none;
  border: none;
  border-right: 1px solid #eaeaea;
  padding: 0 30px;
  font-size: 20px;
  color: #555;
  cursor: pointer;
  transition: color 0.3s;
}
.modulo-proveedores .year-btn:last-child {
  border-right: none;
}
.modulo-proveedores .year-btn:hover {
  color: #005cfb;
}
.modulo-proveedores .year-btn.active {
  color: #005cfb;
}

/* BotÃƒÆ’Ã‚Â³n flecha */
.modulo-proveedores .slider-arrow {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  margin-left: 20px;
  transition: all 0.3s;
  flex-shrink: 0;
}
.modulo-proveedores .slider-arrow:hover {
  border-color: #005cfb;
  color: #005cfb;
}

/* --- Modales --- */
#modal-overlay-proveedores.modal-overlay-proveedores {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  z-index: 998;
}
#modal-overlay-proveedores.modal-overlay-proveedores.show {
  opacity: 1;
  visibility: visible;
}
.custom-modal-proveedores {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -45%);
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  max-width: 800px;
  width: 90%;
  max-height: 90vh; /* CORREGIDO: max-height en lugar de height */
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  z-index: 999;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.custom-modal-proveedores.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%);
}
.custom-modal-proveedores img {
  width: 100%;
  height: auto;
  display: block;
}

/* CORREGIDO: AÃƒÆ’Ã‚Â±adido position relative al contenedor del contenido */
.modal-content {
  position: relative;
}

.custom-modal-proveedores .modal-close {
  position: absolute;
  top: -15px; /* Ajusta estos valores si la X queda muy pegada al borde */
  right: -10px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #666;
  z-index: 10;
}
.custom-modal-proveedores .modal-close:hover {
  color: #000;
}

/* Contenedor principal */
.cnmv-wrapper { max-width: 1200px; margin: 0 auto; color: #141414; }

/* PestaÃƒÆ’Ã‚Â±as Superiores */
.cnmv-tabs { display: flex; border-bottom: 1px solid #eaeaea; justify-content: space-between; }
.cnmv-tab { flex: 1; padding: 30px 10px; border: none; background: transparent; cursor: pointer; color: #0055ff; font-size: 12px; font-weight: 400; text-transform: uppercase; border-bottom: 3px solid transparent; transition: all 0.3s; }
.cnmv-tab:hover {     border-bottom-color: #0055ff; }
.cnmv-tab.active { color: #141414; border-bottom-color: #0055ff; }

/* Filtros (Barra gris) */
.cnmv-filters { 
    background: #f4f4f4; 
    
    /* El truco mÃƒÆ’Ã‚Â¡gico para romper el contenedor al 100% del ancho */
    margin-left: calc(50% - 49.5vw);
    margin-right: calc(50% - 49.5vw);
    padding-left: calc(50vw - 50% + 30px); /* El +30px es para que en mÃƒÆ’Ã‚Â³viles no pegue al borde */
    padding-right: calc(50vw - 50% + 30px);
    
    /* El resto de estilos que ya tenÃƒÆ’Ã‚Â­as */
    padding-top: 25px;
    padding-bottom: 25px;
    display: flex; 
    flex-wrap: wrap; 
    gap: 40px; 
    margin-bottom: 30px; 
    align-items: center; 
	min-height:100px;flex-direction: column;
    align-items: flex-start;
}
.cnmv-year-filter label { font-size: 12px; font-weight: 400; margin-right: 10px; }
.cnmv-year-filter select { background: transparent; border: none; border-bottom: 1px solid #0055ff; color: #666; padding: 5px; cursor: pointer; outline: none; }
.cnmv-subcategories { display: flex; gap: 30px; flex-wrap: wrap; }
.cnmv-subcategories label { font-size: 12px; font-weight: 400; color: #141414; display: flex; align-items: center; cursor: pointer; }
.cnmv-subcategories input[type="checkbox"] { margin-right: 8px; width: 16px; height: 16px; accent-color: #0055ff; }

/* Tabla de Resultados */
.cnmv-table-header, .cnmv-row { display: flex; padding: 20px 0; border-bottom: 1px solid #eaeaea; align-items: center;font-weight:400; }
.cnmv-table-header { border-bottom: 2px solid #000; font-weight: 400; font-size: 11px; letter-spacing: 1px; color: #000; text-transform: uppercase; }
.col-fecha { width: 15%; }
.col-desc { width: 65%;  }
.col-doc { width: 20%; }

/* Iconos de Documentos */
.col-doc a { display: inline-flex; flex-direction: column; align-items: center; text-decoration: none; color: #0055ff; font-weight: 400; font-size: 24px; }
.col-doc a img{ width:34px; }
.col-doc small { font-size: 12px; margin-top: 5px; color: #0055ff; }

/* PaginaciÃƒÆ’Ã‚Â³n */
.cnmv-pagination { text-align: center; margin-top: 40px; padding-bottom: 40px; }
.cnmv-pagination a, .cnmv-pagination span { display: inline-block; padding: 5px 12px; margin: 0 5px; text-decoration: none; color: #0055ff; border-right: 1px solid #ccc; }
.cnmv-pagination span.current { color: #141414; font-weight: bold; }
.cnmv-pagination a:last-child { border-right: none; }

/* 1. Ocultar el estilo por defecto y crear la caja base */
.cnmv-subcategories input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  width: 18px; /* Ajusta el tamaÃƒÆ’Ã‚Â±o segÃƒÆ’Ã‚Âºn necesites */
  height: 18px;
  border: 1.5px solid #2563eb; /* Color azul del borde */
  border-radius: 2px; /* Ligero borde redondeado (opcional) */
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  margin: 0;
  margin-right: 8px; /* Espacio entre el checkbox y el texto */
}

/* 2. Dibujar el "tick" (checkmark) cuando estÃƒÆ’Ã‚Â¡ seleccionado */
.cnmv-subcategories input[type="checkbox"]:checked {
  /* Usamos un SVG en base64 para dibujar un check azul */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12.5 4.5' stroke='%232563eb' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

/* 2. Estilos globales para los recuadros con borde azul */
.categoria-cuadro {
    display: inline-flex;
    align-items: center;
    border: 1px solid #141414; /* Azul brillante del borde */
    color: #141414; /* Gris oscuro para el texto */
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px; /* Espaciado entre letras */
    padding: 3px 12px 0px 12px;
    background-color: transparent;
}

.categoria-cuadro {
    display: inline-flex;

}

/* 3. Icono tipo diana para la etiqueta de paÃƒÆ’Ã‚Â­s (SVG en Data URI) */
.categoria-cuadro.pais::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 8px;
    /* Dibujamos el cÃƒÆ’Ã‚Â­rculo con un punto dentro exactamente igual al diseÃƒÆ’Ã‚Â±o */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='2'%3E%3C/circle%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* (Opcional) Estilo para cuando se pasa el ratÃƒÆ’Ã‚Â³n por encima */
.cnmv-subcategories input[type="checkbox"]:hover {
  border-color: #1d4ed8; 
}
/*GLOBAL*/
ul li::marker {
  color: #005FF9 !important;
}

.et_pb_accordion_0
.et_pb_accordion_item:not(.et_pb_toggle_empty)
.et_pb_toggle_title::before {
    display: block !important;
    content: "\33" !important;
    color: var(--gcid-primary-color) !important;
    font-size: 32px !important;

    right: -8px !important;
    margin-top: 0 !important;

    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
}

.et_pb_accordion_0
.et_pb_accordion_item.et_pb_toggle_open:not(.et_pb_toggle_empty)
.et_pb_toggle_title::before {
    transform: translateY(-50%) rotate(180deg);
}
/* footer */
.footer-izda ul li a, .footer-dcha ul li a{
	color:#fff !important;
}
.footer-izda ul{
	padding:20px 0px 26px 14px;
	list-style:none;
	margin-bottom:20px;
}
.footer-izda ul li{
	margin-bottom:24px;
}
.footer-dcha ul li{
		list-style:none;
}
@media(min-width:980px){
	.footer-dcha ul{
		display: flex;
		gap: 20px;
		margin: 0;
		padding: 0;
		padding-top: 1em;
	}
}

.et_pb_accordion_item_0.et_pb_toggle_close:not(.et_pb_toggle_empty) h2.et_pb_toggle_title:before{
	font-size: 32px !important;
	right: -8px !important;
}

/* fin footer*/
@media(min-width:1400px){
	#cabecera-gdx + .bg-dominion {
    height: 582px; /* Cambia este valor por la altura que necesites */
}
	.bg-dominion{
position: absolute;
    z-index: 1;
    right: 0;
    top: 0;
    height: 600px;
    align-items: center;
    display: flex;
backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    
    /* Un ligero oscurecimiento para imitar la captura que me has pasado */
    background-color: rgba(0, 0, 0, 0.2); 
    
    /* LÃƒÆ’Ã‚Â­nea sutil blanca a la izquierda para enmarcar el corte (como en la foto) */
    border-left: 1px solid rgba(255, 255, 255, 0.3);
margin-left: 20px;
}
.bg-dominion img{
	width:326px;
	z-index:2;
    bottom: 0;
    position: absolute;
}
}
@media(max-width:1400px){
	.bg-dominion{
		display:none;
	}
	#cabecera-gdx .et_pb_text{
		word-break:break-word;
		
	}
}



.con-flecha {
  display: inline-flex;
  align-items: center;
  width: 100%; 
  text-decoration: none;
}
.enlace-primario:hover {
    margin-left: 10px;
    transition:all 0.5s ease;
}
.enlace-primario.con-flecha {
  width: auto;
}
.enlace-primario {
  color: #ffffff;
	font-weight:600 !important;
  text-decoration: none;
  font-size: 16px;
  display: inline-block;
  margin-bottom: 60px;
  transition: opacity 0.3s ease;
  line-height: 26px;
  font-weight: 400;
	padding:0 !important;
}
.con-flecha::after {
    content: '\f061';
    font-family: FontAwesome !important;
    margin-left: 10px;
    line-height: 1em !important;
    color: currentColor;
    font-weight: 900;
    display: inline-block;
    transition: color 0.3s ease-in-out, transform 0.3s ease;
}
.enlace-sin-margin{
	margin-bottom: 0;
}
.texto-azul{
	color: #005ff9 !important;
}

/*galeria*/
.et_pb_gallery_grid .et_pb_gallery_item{
	background:#005ff9;
	
}
.et_pb_gallery_grid .et_pb_gallery_item h3{

}

/* BLOQUE MEDA_PAGE NOTICIAS */

        .corp-posts-wrapper { max-width: 1200px; margin: 0 auto; color: #333; }
        
        /* Nuevos estilos exactos para los filtros */
        .corp-filters-container { display: flex; gap: 40px; margin-bottom: 50px;  justify-content: flex-end;}
        .corp-filter-box { display: flex; flex-direction: column; min-width: 220px; }
        .corp-filter-label { font-size: 12px;
    text-transform: uppercase;
    color: #141414;
    letter-spacing: 1px;
    margin-bottom: 5px;
    font-weight: 400;
}
        .corp-filter-select { 
            appearance: none; 
            -webkit-appearance: none;
            width: 100%; 
            border: none; 
            border-bottom: 2px solid #205bbf; /* Borde inferior azul */
            padding: 0 25px 8px 0; 
            font-size: 15px; 
            color: #777; 
            background-color: transparent;
            /* TriÃƒÆ’Ã‚Â¡ngulo azul SVG incrustado */
            background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 24 24' fill='%23205bbf' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right center;
            cursor: pointer;
            outline: none;
        }
        .corp-filter-select:focus { border-bottom-color: #164391; color: #333; }

        /* Estilos de los posts */
        .corp-post-card { display: flex; gap: 40px; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #eaeaea; }
        .corp-post-card:last-child { border-bottom: none; }
        .corp-post-image { flex: 0 0 45%; }
        .corp-post-image img { width: 100%; height: auto; object-fit: cover; border-radius: 4px; aspect-ratio: 16/9; }
        .corp-post-content { flex: 1; display: flex; flex-direction: column; justify-content: center; }
        .corp-post-cat { color: #005ff9; font-weight: 600; font-size: 12px; text-transform: uppercase; margin-bottom: 10px; display: block; }
        .corp-post-title { font-size: 24px; font-weight: 500; margin: 0 0 15px 0; color: #222; line-height: 1.3; }
        .corp-post-date { font-size: 13px; color: #141414; margin-bottom: 15px; display: block; font-weight: 500; }
        .corp-post-excerpt { font-size: 15px; color: #141414; line-height: 1.6; margin-bottom: 20px; }
        .corp-post-link { color: #005ff9; text-decoration: none; font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; }
        .corp-post-link:hover { text-decoration: underline; }
        
        /* PaginaciÃƒÆ’Ã‚Â³n */
        .corp-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
        .corp-pagination a, .corp-pagination span { padding: 8px 12px; border: 1px solid #ddd; text-decoration: none; color: #141414; font-size: 14px; }
        .corp-pagination .current { background-color: #005ff9; color: white; border-color: #005ff9; }
        
        @media (max-width: 768px) {
            .corp-post-card { flex-direction: column; gap: 20px; }
            .corp-post-image { flex: 0 0 100%; }
            .corp-filters-container { flex-direction: column; gap: 20px; }
        }

.categoria a{
	    font-size: 12px;
    line-height: 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #141414;

}
.categoria{
	    border: 1px solid #005ff9;
    width: max-content;
	    padding: 4px 10px;
}
/* Contenidos relacionados */
        .rel-posts-wrapper {  max-width: 400px; margin: 0 auto; color: #141414; }
        .rel-posts-heading { font-size: 22px; font-weight: 400; color: #141414; margin: 0 0 25px 0; }
        
        .rel-post-item { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 2px solid #005ff9; }
        .rel-post-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
        
        .rel-post-cat {color: #5185f3;font-weight: 700;font-size: 12px;text-transform: uppercase;letter-spacing: 1px;margin-bottom: 12px;display: block;}
        
        .rel-post-image { display: block; margin-bottom: 15px; }
        .rel-post-image img { width: 100%; height: auto; object-fit: cover; display: block; }
        
        .rel-post-title {font-size: 16px;font-weight: 400;margin: 0;line-height: 1.5;}
        .rel-post-title a { color: #005ff9; text-decoration: none; }
        .rel-post-title a:hover { text-decoration: underline; }

/* redes sociales entradas */
        .share-print-bar { 
            display: flex; 
            align-items: center; 
            gap: 40px; 
            margin: 20px 0;
        }
        .share-group { 
            display: flex; 
            align-items: center; 
            gap: 15px; 
        }
        .share-label { 
            font-size: 11px; 
            font-weight: 600; 
            color: #005ff9; /* Azul exacto de la imagen */
            text-transform: uppercase; 
            letter-spacing: 1.5px; 
        }
        .share-icons { 
            display: flex; 
            align-items: center; 
            gap: 15px; 
        }
        .share-icon { 
            color: #005ff9; 
            display: flex; 
            align-items: center; 
            text-decoration: none;
            transition: opacity 0.2s;
        }
        .share-icon:hover { 
            opacity: 0.7; 
        }
        .share-icon svg { 
            width: 18px; 
            height: 18px; 
        }
        .print-btn {
            background: none;
            border: none;
            padding: 0;
            cursor: pointer;
            display: flex;
            align-items: center;
        }
        
        @media (max-width: 480px) {
            .share-print-bar { flex-direction: column; align-items: flex-start; gap: 20px; }
        }


/* =====================================================
   BLOQUE DE SECTORES PARA DIVI
   Sustituye las cuatro URLs de imagen por las tuyas.
   ===================================================== */

.divi-sectores {
  --altura-escritorio: 500px;
  --duracion: 0.55s;
  --azul-boton: #0867f2;

  display: flex;
  width: 100%;
  height: var(--altura-escritorio);
  overflow: visible;
}

.divi-sector {
  position: relative;
  display: block;
  flex: 1 1 25%;
  min-width: 0;
  height: 100%;
  overflow: visible;
  color: #ffffff;
  text-decoration: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition:
    flex-basis var(--duracion) cubic-bezier(.22, .61, .36, 1),
    flex-grow var(--duracion) cubic-bezier(.22, .61, .36, 1);
}

.divi-sector:hover,
.divi-sector:focus,
.divi-sector:visited {
  color: #ffffff;
  text-decoration: none;
}

.divi-sector::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.38);
  transition: background var(--duracion) ease;
  pointer-events: none;
}

.divi-sectores:hover .divi-sector {
  flex-grow: 0;
  flex-basis: 20%;
}

.divi-sectores .divi-sector:hover {
  flex-grow: 0;
  flex-basis: 40%;
}

.divi-sector:hover::before {
  background: rgba(0, 0, 0, 0.28);
}

.divi-sector__contenido {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  box-sizing: border-box;
  padding: 55px 60px 44px;
}

.divi-sector__titulo {
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
}

.divi-sector__descripcion {
  width: 570px;
  max-width: 100%;
  margin: 28px 0 0;
  padding: 0;
  color: #ffffff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition:
    opacity 0.3s ease 0.12s,
    transform 0.4s ease 0.12s,
    visibility 0s linear 0.12s;
}

.divi-sector:hover .divi-sector__descripcion,
.divi-sector:focus-visible .divi-sector__descripcion {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.divi-sector__boton {
  position: absolute;
  z-index: 5;
  left: 70px;
  bottom: -39px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: var(--azul-boton);
  box-shadow: 0 8px 17px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px) scale(0.92);
  transition:
    opacity 0.3s ease 0.18s,
    transform 0.4s ease 0.18s,
    visibility 0s linear 0.18s,
    background-color 0.25s ease;
}

.divi-sector:hover .divi-sector__boton,
.divi-sector:focus-visible .divi-sector__boton {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.divi-sector:hover .divi-sector__boton {
  background: #0058d6;
}

.divi-sector__flecha {
  position: relative;
  display: block;
  width: 25px;
  height: 2px;
  background: #ffffff;
}

.divi-sector__flecha::before,
.divi-sector__flecha::after {
  content: "";
  position: absolute;
  right: 0;
  width: 12px;
  height: 2px;
  background: #ffffff;
  transform-origin: right center;
}

.divi-sector__flecha::before {
  top: 0;
  transform: rotate(45deg);
}

.divi-sector__flecha::after {
  bottom: 0;
  transform: rotate(-45deg);
}

.divi-sector:focus-visible {
  z-index: 10;
  outline: 3px solid #ffffff;
  outline-offset: -5px;
}

@media screen and (max-width: 1100px) {
  .divi-sectores {
    --altura-escritorio: 460px;
  }

  .divi-sector__contenido {
    padding: 45px 30px 40px;
  }

  .divi-sector__titulo {
    font-size: 18px;
  }

  .divi-sector__descripcion {
    width: 420px;
    font-size: 14px;
    line-height: 1.65;
  }

  .divi-sector__boton {
    left: 30px;
    width: 78px;
    height: 78px;
    bottom: -34px;
  }
}

@media screen and (max-width: 767px) {
  .divi-sectores {
    display: block;
    height: auto;
    overflow: hidden;
  }

  .divi-sector,
  .divi-sectores:hover .divi-sector,
  .divi-sectores .divi-sector:hover {
    display: block;
    width: 100%;
    height: 280px;
  }

  .divi-sector::before,
  .divi-sector:hover::before {
    background: rgba(0, 0, 0, 0.4);
  }

  .divi-sector__contenido {
    justify-content: flex-start;
    padding: 35px 28px;
  }

  .divi-sector__titulo {
    font-size: 19px;
  }

  .divi-sector__descripcion {
    width: 100%;
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.6;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .divi-sector__boton {
    right: 25px;
    left: auto;
    bottom: 25px;
    width: 58px;
    height: 58px;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .divi-sector__flecha {
    width: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .divi-sector,
  .divi-sector::before,
  .divi-sector__descripcion,
  .divi-sector__boton {
    transition: none;
  }
}

/*Contenido entrada caso de exito*/
.contenido-entrada h3{
	color:#141414;
	font-size:40px;
	line-height:54px;
	font-weight:500;
}
.contenido-entrada p{
	color:#141414;
	font-size:18px;
	line-height:30px;
	font-weight:300;
}
/*caso exito*/
@media(min-width:1200px){
	.sticky-cde{
	position:sticky;
	top:120px;
}
}

/**/

/*migas pan*/
nav.dg-migas-pan, nav.dg-migas-pan a{
	color:#fff;
}
/**/

/* =========================
   CONTENEDOR
========================= */

#modulo-imagenes {
    display: flex;
    overflow: hidden;
}

/* =========================
   COLUMNAS
========================= */

#modulo-imagenes .imagen-con-texto {
    position: relative;
    overflow: hidden;
    flex: 1;
    min-height: 650px;
    transition: flex .7s ease;
    cursor: pointer;
}

/* =========================
   IMÃƒÆ’Ã‚ÂGENES
========================= */

#modulo-imagenes .et_pb_image {
    width: 100%;
    height: 100%;
    margin-bottom: 0 !important;
}

@media(max-width:767px){
	#modulo-imagenes .et_pb_image {
	min-height:100vh;	
	}
	
}

#modulo-imagenes .et_pb_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================
   OVERLAY
========================= */

#modulo-imagenes .imagen-con-texto::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.25);
    transition: .4s;
    z-index: 1;
}

#modulo-imagenes .imagen-con-texto:hover::before {
    background: rgba(0,0,0,.15);
}

/* =========================
   TITULO
========================= */

#modulo-imagenes .et_pb_text {
    position: absolute;
    top: 70px;
    left: 50px;
    z-index: 10;
    max-width: 500px;
}

#modulo-imagenes h2 {
    color: #fff !important;
    margin: 0;
}

/* =========================
   EFECTO ACORDEÃƒÆ’Ã¢â‚¬Å“N
========================= */

#modulo-imagenes:hover .imagen-con-texto {
    flex: 1;
}

#modulo-imagenes .imagen-con-texto:hover {
    flex: 4;
}

#modulo-imagenes:hover .imagen-con-texto:not(:hover) {
    flex: 1;
}

/* =========================
   TEXTO DINÃƒÆ’Ã‚ÂMICO
========================= */

#modulo-imagenes .gdx-hover-content {
    position: absolute;
    top: 140px;
    left: 50px;
    max-width: 500px;
    z-index: 20;
}

#modulo-imagenes .gdx-hover-text {
    color: #fff;
    margin: 0;
    line-height: 1.7;
    font-weight: 400;
    font-size: 16px;
}

/* =========================
   BOTÃƒÆ’Ã¢â‚¬Å“N INFERIOR
========================= */

#modulo-imagenes .gdx-hover-button {
    position: absolute;
    right: 100px;
    bottom: 180px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #49ddc5;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 30;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .25);
}

#modulo-imagenes .gdx-hover-button::before {
    content: "\24"; /* CÃ³digo exacto de la flecha fina derecha en Divi */
    font-family: "ETmodules" !important; /* Fuerza a usar la fuente de iconos de Divi */
    color: #fff;
    font-size: 32px;
    line-height: 1;
    font-variant: normal;
    font-weight: normal;
    font-style: normal;
    text-transform: none;
}

/* OSCURECER MENOS LA ACTIVA */
#modulo-imagenes .imagen-con-texto:hover::before {
    background: rgba(0,0,0,.15);
}
#modulo-cifras .et_flex_column .et_pb_module:not(:last-child)::after {
	background-color: var(--color-area);
}
/**/

/* LIstado items */
ul.listado-items li{
	margin-bottom:30px;
	list-style-type:none;
}

ul.listado-items li i.fa-solid.fa-check {
    padding-right: 30px;
}

#modulo-cita .et_pb_testimonial:before{
	left:0;
	transform: rotate(180deg);
}
/* 1. Convertimos el contenedor principal en una cuadrÃ­cula (Grid) */
#modulo-cita .et_pb_testimonial_inner {
    display: grid !important;
    grid-template-columns: auto 1fr; /* Columna 1 ajustada a la imagen, Columna 2 para el resto */
    grid-template-rows: auto auto; /* Dos filas */
    gap: 15px; /* Espacio entre los elementos, ajÃºstalo a tu gusto */
    align-items: center; /* Alinea verticalmente la foto y el nombre del autor */
}

/* 2. Hacemos que los contenedores intermedios sean "invisibles" para el layout, 
      permitiendo que sus elementos hijos participen en el Grid principal */
#modulo-cita .et_pb_testimonial_description,
#modulo-cita .et_pb_testimonial_description_inner {
    display: contents !important;
}

/* 3. Colocamos el texto de la cita arriba del todo, ocupando el 100% de ancho */
#modulo-cita .et_pb_testimonial_content {
    grid-column: 1 / -1; /* Ocupa desde la primera hasta la Ãºltima columna */
    grid-row: 1; /* Se coloca en la primera fila (arriba) */
}

/* 4. Colocamos la foto abajo a la izquierda */
#modulo-cita .et_pb_testimonial_portrait {
    grid-column: 1; /* Primera columna */
    grid-row: 2; /* Segunda fila (abajo) */
    margin: 0 !important; /* Eliminamos los mÃ¡rgenes por defecto que aÃ±ade Divi */
}

/* 5. Colocamos el texto del autor abajo a la derecha de la foto */
#modulo-cita .et_pb_testimonial_author {
    grid-column: 2; /* Segunda columna */
    grid-row: 2; /* Segunda fila (abajo) */
    text-align: left; /* Alineamos a la izquierda para que quede junto a la foto */
}

#modulo-informacion-financiera .et_pb_tabs_controls li, #modulo-informacion-financiera ul.et_pb_tabs_controls{
	background:none;
}
#modulo-informacion-financiera .custom-year-select-container {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    font-family: inherit;
}

#modulo-informacion-financiera .custom-year-select-container label {
    margin-right: 20px;
    font-size: 16px;
    color: #333;
    font-weight: 400;
}

#modulo-informacion-financiera .custom-year-select-wrapper {
    position: relative;
    display: inline-block;
}

#modulo-informacion-financiera .custom-year-select {
    border: none;
    border-bottom: 1px solid #0066cc; /* LÃ­nea azul inferior */
    padding: 5px 30px 5px 0;
    font-size: 16px;
    color: #555;
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    cursor: pointer;
    min-width: 200px;
    border-radius: 0;
}

/* Flecha azul personalizada */
#modulo-informacion-financiera .custom-year-select-wrapper::after {
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-70%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-right: 2px solid #0066cc;
    border-bottom: 2px solid #0066cc;
    pointer-events: none; /* Permite hacer clic sobre la flecha */
}

/* Eliminar el borde feo en Firefox al hacer clic */
#modulo-informacion-financiera .custom-year-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}
#modulo-informacion-financiera .info-descarga {
    color: #141414;
    width: 100%;
}
#modulo-informacion-financiera .icono-pdf{
	width:60px;
}

#modulo-informacion-financiera .et_pb_text{
	padding-bottom:20px;
	border-bottom:3px solid #005ff9;
}