/*
 Theme Name: Dominion Global
 Theme URI: https://www.dominion-global.com
 Description: Dominion Global Theme
 Author: Elegant Themes
 Author URI: https://www.dominion-global.com
 Author Name: Aitor Sola
 Author mail: aitor.sola@dominion-global.com
 Template: Divi
 Version: 1.1.9
*/
 
/* ========================================== */
/* 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;*/
}

/* ========================================== */
/* 2. ESTRUCTURA GRID (TIPO BOOTSTRAP)        */
/* ========================================== */
.header-logo {
    flex: 0 0 25%;
    max-width: 25%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.header-menu {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
    display: flex;
    justify-content: flex-end;
}

.header-right-actions {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
    display: flex;
    justify-content: flex-end;
}

/* ========================================== */
/* 3. HEADER PRINCIPAL (#dom-header)          */
/* ========================================== */
#dom-header {
    background: transparent; 
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    padding-top: 50px;
    z-index: 2;
    box-shadow: none; 
    transition: background-color 0.3s ease, box-shadow 0.3s ease, padding-top 0.3s ease; 
}

#dom-header.header-scrolled {
    background-color: #005ff9; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.1); 
    padding-top: 0;
}

.header-container {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0px;
    height: 70px;
}

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

/* --- Idiomas --- */
.header-lang {
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: bold;
}

.header-lang a {
    text-decoration: none;
    color: #fff;
    transition: all 0.3s ease;
}

.header-lang a:hover,
.header-lang a.activo {
    color: #fff; 
    border-radius: 50%;
    border: 1px solid #fff;
    padding: 10px;
}

.header-lang .separador {
    margin: 0 5px;
    color: #ccc;
    font-size: 30px;
    font-weight: 100;
}

/* --- Botón Hamburguesa --- */
#btn-hamburguesa {
    background: #005ff9;
    border: none;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding-top: 12px;
    box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
    transition: all 0.3s;
    cursor: pointer;
}

#btn-hamburguesa .linea {
    background-color: #fff;
    height: 3px;
    width: 25px;
    border-radius: 2px;
    transition: all 0.3s ease;
}

#btn-hamburguesa .menu-text {
    color: #fff;
    font-size: 8px;
    text-align: center;
    letter-spacing: 1px;
}

/* Excepciones cuando el header baja (Scroll) */
#dom-header.header-scrolled .header-lang a,
#dom-header.header-scrolled #btn-hamburguesa .linea {
    color: #ffffff; 
    border: none;
}

#dom-header.header-scrolled #btn-hamburguesa {
    background: transparent;
    box-shadow: none;
}

/* ========================================== */
/* 4. MENÚ DESPLEGABLE Y SUBMENÚS             */
/* ========================================== */
#menu-desplegable {
    position: absolute;
    top: 0;
    width: 80%;
    height: 100vh;
    padding: 60px 0 30px 100px;
    background: #005ff9;
    max-height: 1000px;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

#menu-desplegable.oculto {
    display: none;
}

.menu-primario-desplegable {
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.menu-primario-desplegable li {
    margin-bottom: 20px;
}

.menu-primario-desplegable a {
    padding: 0;
    font-size: 20px;
    line-height: 32px;
    width: inherit;
    color: #fff;
    font-weight: 400;
    position: relative;
}

.menu-primario-desplegable a:hover {
    opacity: 0.4;
}

.menu-primario-desplegable a::after {
    content: '';
    position: absolute;
    background-color: #fff;
    height: 1px;
    width: 20px;
    left: 0;
    bottom: -2px;
    transition: width 0.3s;
}

/* --- Elementos secundarios del Menú --- */
#menu-desplegable hr {
    width: 80%;
    margin-bottom: 30px;
}

.menu-primario-footer,
.menu-primario-idiomas {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.menu-primario-footer li a {
    color: #fff;
    font-size: 12px;
    font-weight: 400;
}

.menu-primario-idiomas li a {
    color: #fff;
    font-weight: 400;
    font-size: 10px;
}

/* --- Submenús (Efecto Acordeón) --- */
#menu-primario ul.sub-menu {
    display: none;
    padding-left: 20px !important;
    margin-top: 10px;
    list-style: none;
}

#menu-primario ul.sub-menu.desplegado {
    display: block;
    animation: fadeInMenu 0.4s ease;
}

#menu-primario ul.sub-menu a {
    font-size: 16px !important;
    line-height: 24px !important;
    opacity: 0.8;
}

#menu-primario .flechita-menu {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 15px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(315deg); 
    transition: transform 0.3s ease;
    cursor: pointer;
    position: relative;
    top: -4px; 
    padding: 5px; 
}

#menu-primario .flechita-menu.rotada {
    transform: rotate(45deg);
}

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

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

body .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                           */
/* ========================================== */
@keyframes fadeInMenu {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

@media(min-width: 992px) {
    #menu-primario ul.sub-menu.desplegado {
        position: absolute;
        right: 0;
        left: 60%;
        top: 0;
        height: 100vh;
        margin-top: 0;
        padding: 60px 50px;
        background: #fff;
        z-index: 3;
    }

    #menu-primario ul.sub-menu.desplegado li a {
        color: #141414;
    }

    #menu-primario ul.sub-menu.desplegado li:first-child a {
        color: #005ff9;
        font-weight: 700;
    }
}

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

#articulos-destacados .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;
}
#articulos-destacados .dg-post-tags a{
    color:#141414;
    padding: 1px 8px;
    text-transform: uppercase;
    transition: color .5s ease;
}

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

#articulos-destacados .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;

}

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

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

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

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

#articulos-destacados .blog-destacado-dominion .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;
}
#articulos-destacados .blog-destacado-dominion .et_pb_image_container img:hover{
    transform: scale(1.08);
    filter: contrast(1.03);
}

/* Eliminar el margen superior por defecto que añade Divi */
#articulos-destacados .blog-destacado-dominion .et_pb_post,
#articulos-destacados .blog-lista-dominion .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 */
#articulos-destacados .blog-destacado-dominion .post-meta a,
#articulos-destacados .blog-lista-dominion .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;
}

#articulos-destacados .blog-destacado-dominion .post-meta a:hover,
#articulos-destacados .blog-lista-dominion .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 */
#articulos-destacados .blog-destacado-dominion h2.entry-title,
#articulos-destacados .blog-lista-dominion h2.entry-title {
    font-size: 24px; /* Ajusta según necesites */
    line-height: 1.3em;
    font-weight: 600;
    color: #141414;
    margin-bottom: 15px;
}
#articulos-destacados .blog-destacado-dominion h2.entry-title a:hover,
#articulos-destacados .blog-lista-dominion h2.entry-title a:hover {
    color:#0345bf;
}

#articulos-destacados .blog-lista-dominion h2.entry-title {
    font-size: 18px; /* Un poco más pequeño para los secundarios */
}

/* 3. LÍNEAS SEPARADORAS EN LA COLUMNA DERECHA */
#articulos-destacados .blog-lista-dominion .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 */
#articulos-destacados .blog-lista-dominion .et_pb_post:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

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

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

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

#articulos-destacados .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-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-destacado{
    margin-left:50px;
}
 #menu-primario-destacado{
    display:flex;
 }
  #menu-primario-destacado li{
    margin-left:10px;
  }
 #menu-primario-destacado 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;
 }
 #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 10px;
}
 #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;
}

#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 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;
}

#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 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;
}
#modulo-carousel-linea-temporal .et-pb-controllers{
background:#005ff9;
height:50px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items:center;
    bottom:0;
}

#modulo-carousel-linea-temporal .et-pb-controllers a{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: none;
    padding: 0;
    border: 2px solid #fff;
    margin-right: 0px;
    position: relative !important;
    display: inline-block !important;
    margin-right: 30px !important;
}
#modulo-carousel-linea-temporal .et-pb-controllers a:hover{
transform: none;
}
.et-pb-controllers a:last-child {
  margin-right: 0 !important;
}
#modulo-carousel-linea-temporal .et-pb-controllers a:not(:last-child)::after {
content: "";
  position: absolute;
  top: 50%; 
  left: 100%; 
  transform: translateY(-50%); 
  width: 32px; 
  height: 2px;
  background-color: #ffffff; 
  opacity:0.5;

}

@media (max-width: 992px) {
    #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;
}

#seccion-uno-despl{
    height:35vh;
    margin: 2.5vh 0;
    display:flex;
    align-items:center;
}


#seccion-tres-despl{
    height:35vh;
    margin: 2.5vh 0;
    align-items: stretch;
}

#seccion-tres-despl .et_pb_column,
#seccion-tres-despl .et_pb_text,
#seccion-tres-despl .et_pb_text_inner {
    height: 100%;
}

/* Botones tipo tarjeta dentro del módulo de desplazamiento */
#seccion-tres-despl .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 */
#seccion-tres-despl .pastillas-wrapper br {
    display: none;
}

#seccion-tres-despl .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 */
#seccion-tres-despl .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 */
#seccion-tres-despl .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 */
#seccion-tres-despl .pastillas-wrapper a::before { order: 0; }
#seccion-tres-despl .pastillas-wrapper a::after {
    order: 2;
    margin-top: auto;
}

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

#seccion-tres-despl .pastillas-wrapper a:hover::before,
#seccion-tres-despl .pastillas-wrapper a:hover::after {
    color: #005ff9;
}

#seccion-tres-despl .pastillas-wrapper a:hover::after {
    transform: translateX(4px);
}

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

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

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

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

/* Estado sticky: por encima del header al bajar. */
#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. */
#talento-submenu.is-sticky.is-hidden{
    transform:translateY(-100%);
}
#talento-submenu nav.talento{
    width:100%;
    display:flex;
    justify-content:center;
}

#talento-submenu nav.talento ul{
    display:flex;
    width:100%;
    justify-content: space-around;
    list-style:none;
    padding:30px 30px;
}
#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;
}
#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;
}
#talento-submenu nav.talento ul li a:hover,
#talento-submenu nav.talento ul li a.is-active{
    color:#005ff9;
}
#talento-submenu nav.talento ul li a:hover::after,
#talento-submenu nav.talento ul li a.is-active::after{
    width:100%;
}

/* Responsive: en columna y sin sticky. */
@media (max-width: 992px){
    #talento-submenu.is-sticky{
        position:static;
        transform:none;
        box-shadow:none;
        z-index:auto;
    }
    #talento-submenu nav.talento ul{
        flex-direction:column;
        align-items:center;
        gap:18px;
        padding:20px;
    }
}

#blog-vacantes .dg-post-tags a{
    border: 1px solid #0345bf;
}

/* Filtro vacantes */
.dg-vacantes-filtro{
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}
.dg-vacantes-filtro .dg-filtro-campo{
    display: flex;
    flex-direction: column;
    min-width: 220px;
}
.dg-vacantes-filtro .dg-filtro-campo span{
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    color: #141414;
    margin-bottom: 8px;
}
.dg-vacantes-filtro select{
    appearance: none;
    -webkit-appearance: none;
    border: none;
    border-bottom: 1px solid #0345bf;
    background: transparent;
    color: #141414;
    font-size: 16px;
    padding: 6px 24px 6px 0;
    cursor: pointer;
}
.dg-vacantes-filtro select:focus{
    outline: none;
}

/* 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 */
#blog-vacantes .dg-card-link{
    display: block;
    color: inherit;
    text-decoration: none;
}
#blog-vacantes .dg-card-link:hover .entry-title{
    color: #0345bf;
}

/* Categoria pais (badge ESPAÑA) */
#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;
}
#blog-vacantes .dg-post-category::before{
    font-family: ETmodules;
    content: "\e081";
    color: #0345bf;
    font-size: 14px;
    line-height: 1;
}
#blog-vacantes .dg-post-category .entry-categories a{
    color: #141414;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    text-decoration: none;
}

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


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

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

#cards-negocio {
    background-color: #000;
    width: 100%;
    height: 100vh;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    font-family: 'Barlow', sans-serif;
    overflow: hidden;
}

/* --- BLOQUE PRINCIPAL DE TEXTO (Desaparece al hacer scroll) --- */
.title {
    height: 32.5vh; display: flex; flex-direction: column; 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: #fff; font-size: 64px; line-height: 74px; margin: 0 0 10px 0; font-weight: 700; }
.title p { color: #fff; font-size: 24px; line-height: 34px; margin: 0;font-weight: 400; }
#cards-negocio:has(.column.column-visible:hover) .title { height: 0; opacity: 0; padding: 0; margin: 0; }

/* --- BLOQUE DE VÍDEOS --- */
.column-wrapper {
    height: 62.5vh; display: flex; width: 100%; gap: 40px; padding: 0 20px; box-sizing: border-box;
    transition: height 0.8s cubic-bezier(0.4, 0, 0.2, 1), margin 0.8s cubic-bezier(0.4, 0, 0.2, 1), gap 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
#cards-negocio:has(.column.column-visible:hover) .column-wrapper { height: 80vh; margin: 10vh 0; }
.column-wrapper:has(.column.column-visible:hover) { gap: 0; }
.column:hover{ scale: 1.05; z-index: 10; }
.column {
    flex: 1 1 0%; position: relative; padding: 40px; box-sizing: border-box;
    overflow: hidden; display: flex; cursor: pointer;
}
.content-links a { cursor: pointer; }

/* Al hacer hover sobre una columna visible: la otra se colapsa a 0 (flex-grow) y la hovered absorbe el espacio libre sobrante */
/* (flex-basis se mantiene siempre en 0%; la columna activa NO necesita animar su propio flex-grow: al ser el único elemento */
/* con grow > 0 ya recibe el 100% del espacio libre. Animar solo el colapso evita curvas de anchura no lineales/bruscas) */
.column-wrapper:has(.column.column-visible:hover) .column:not(:hover) {
    flex-grow: 0;
    padding-left: 0;
    padding-right: 0;
    opacity: 0;
    /* Al colapsar, la opacidad baja sin retraso para que desaparezca rápido mientras se encoge */
    transition: flex-grow 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, padding 0.6s ease;
}

/* --- APARICIÓN DESDE ABAJO HACIA ARRIBA (primer scroll) --- */
#cards-negocio .column {
    transform: translateY(100%);
    /* Al volver al reposo, la opacidad se retrasa para que la columna ya haya recuperado ancho antes de hacerse visible */
    transition: transform 1.3s cubic-bezier(0.4, 0, 0.2, 1), scale 0.3s ease-in-out,
        flex-grow 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease 0.25s, padding 0.6s ease;
}
#cards-negocio .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.column-visible:hover::before { height: 85%; }

/* --- ESTRUCTURA DE 3 BLOQUES --- */
.column-inner {
    position: relative; z-index: 3; width: 100%; height: 100%;
    display: flex; flex-direction: column; flex-wrap: wrap;
}
/* En hover (desplegado): bloque izquierdo = título (GDE/GDT) + texto apilados y centrados en el bloque; bloque derecho = listado, a la misma altura */
.column.column-visible:hover .column-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* Filas 1 y 4 son espaciadoras flexibles: empujan el título+texto (filas 2 y 3) al centro vertical */
    grid-template-rows: 1fr auto auto 1fr;
}
.column.column-visible:hover .content-top {
    grid-column: 1;
    grid-row: 2;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom:30px;
    flex-grow: 0; /* Al encogerse, atrae al Bloque 2 (Textos) hacia arriba */
}
.column.column-visible:hover .content {
    grid-column: 1;
    grid-row: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 60%;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 0;
    margin: 0 auto;
}
.column.column-visible:hover .content-links {
    grid-column: 2;
    grid-row: 1 / -1;
    max-width: 100%;
    max-height: none;
    height: auto;
    box-sizing: border-box;
    padding-left: 30px;
    align-self: stretch;
}

/* 1. TOP: Actúa de muelle. Crece (flex-grow:1) para empujar los demás abajo. */
.content-top {
    flex-grow: 1; 
    display: flex; flex-direction: column; justify-content: flex-start; /* Mantiene el H3 pegado arriba */
    transition: flex-grow 0.8s cubic-bezier(0.4, 0, 0.2, 1), padding-bottom 0.8s ease;
}
.content-top h3 {
    color: #fff; font-size: 72px; font-weight: 700; margin: 0; line-height: 1;text-align:center;
}
.gde-top h3 { border-left: 6px solid #3FD5AE; margin:0 auto;padding-left:15px;padding-bottom:0; }
.gdt-top h3 { border-left: 6px solid #6BA2FB; margin:0 auto;padding-left:15px;padding-bottom:0; }

/* 2. TEXTOS: Arrastrados por el Bloque 1 */
.content { flex-shrink: 0; transition: margin-bottom 0.4s ease; margin-bottom:40px; }
.content h4 { color: #fff; font-size: 38px; font-weight: 500;margin-bottom:20px; }
.content p { color: #fff; font-size: 18px; margin: 0; line-height: 1.4; font-weight:400;}

/* 3. ENLACES: Ocultos al principio, se revelan con hover sobre la columna visible */
.content-links {
    max-height: 0; opacity: 0; overflow: hidden;
    transition: max-height 0.8s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
    height:100%;display:flex;align-items:center;
}
.column.column-visible:hover .content-links { opacity: 1; }

/* "Saber más sobre..." abajo a la derecha, visible solo en hover */
.leer-mas {
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: 4;
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}
.column:hover .leer-mas {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}
/* Si el hover está sobre un elemento del listado, se oculta el "Saber más" */
.column:has(.list li:hover) .leer-mas {
    opacity: 0;
    transform: translateX(20px);
    pointer-events: none;
}
.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);
}
.leer-mas a:hover::after {
    transform: scaleX(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;}
.list li {
    display: flex; align-items: center; padding: 15px 0; position: relative;
    opacity: 0; transform: translateY(20px); transition: all 0.5s ease;
    justify-content: flex-start;flex-direction:row;gap:20px;
}
/* Línea divisoria situada justo en el centro del hueco (gap) entre un elemento y el siguiente */
/*.list li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: calc(var(--list-gap) / -2);
        width: 20%;
        left: 40%;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.6);
}*/

.column.column-visible:hover .list li:nth-child(1) { transition-delay: 0.2s; }
.column.column-visible:hover .list li:nth-child(2) { transition-delay: 0.3s; }
.column.column-visible:hover .list li:nth-child(3) { transition-delay: 0.4s; }
.column.column-visible:hover .list li:nth-child(4) { transition-delay: 0.5s; }

.column.column-visible:hover .list li { opacity: 1; transform: translateY(0); }
/* 1. Modificamos el enlace principal */
.list a { 
    color: #fff; 
    font-size: 28px; 
    font-weight: 400; 
    text-decoration: none; 
    position: relative; /* Necesario para que el subrayado se posicione bien */
    display: inline-block;
    transform-origin: left center;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    /* (Hemos eliminado el flex-grow: 1) */
}

/* 2. Creamos la línea blanca oculta por defecto */
.list a::after {
    content: '';
    position: absolute;
    bottom: -12px; /* Separación entre el texto y la línea */
    left: 0;
    width: 100%;
    height: 2px; /* Grosor del subrayado */
    background-color: #fff;
    transform: scaleX(0); /* Oculta la línea comprimiéndola a 0 */
    transform-origin: left; /* Indica que la animación empieza desde la izquierda */
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.gdt-list.list a::after {
    background-color: #6BA2FB; /* Color azul para GDT */
}
.gde-list.list a::after {
    background-color: #3FD5AE; /* Color verde para GDE */
}

/* 3. Animamos el subrayado y aplicamos un ligero zoom al texto y al icono al hacer hover en el li entero o en el enlace */
.list li:hover a::after {
    transform: scaleX(1); /* Expande la línea a su tamaño 100% */
}
.list li:hover a {
    transform: scale(1.05);
}

/* 4. Modificamos la flecha para empujarla a la derecha */
.dom-chevron { 
    width: 40px; 
    height: 40px; 
    fill: none; 
    stroke: #fff; 
    stroke-width: 2; 
    opacity: 0.7; 
    margin-left: 0px; 
    transition: all 0.5s ease; 
}

/* BONUS: Pequeño empuje de la flecha hacia la derecha al hacer hover */
.list li:hover .dom-chevron {
    transform: translateX(4px);
    opacity: 1;
}
.dom-icon { width: 40px; height: 40px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transform-origin: center; transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
/*.gde-list .dom-icon { stroke: #3FD5AE; }
.gdt-list .dom-icon { stroke: #6BA2FB; }*/
.list li:hover .dom-icon {
    transform: scale(1.10);
}
.dom-chevron { width: 40px; height: 40px; fill: none; stroke: #fff; stroke-width: 2; opacity: 0.7; }

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .title h2 { font-size: 40px; line-height: 48px; }
    .column-wrapper { flex-direction: column; height: 100vh; }
    #cards-negocio:has(.column.column-visible:hover) .column-wrapper { height: auto; }
}

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

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

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

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

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

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

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

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

/* --- Labels --- */
.formulario-dom 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 --- */
.formulario-dom .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.formulario-dom input.wpcf7-form-control:not([type="checkbox"]):not([type="file"]):not([type="submit"]),
.formulario-dom select.wpcf7-form-control,
.formulario-dom 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;
}

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

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

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

/* Triángulo azul en la esquina de arrastre (reemplaza el gris nativo) */
.formulario-dom 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) --- */
.formulario-dom 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;
}

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

/* --- Adjuntar archivo --- */
.formulario-dom .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;
}

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

.formulario-dom 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;
}

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

/* --- Bloque de información legal (RGPD) --- */
.formulario-dom .form-row h4 {
    font-size: 24px;
    font-weight: 400;
    color: #141414;
    margin-bottom: 10px;
}

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

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

/* --- Checkbox de aceptación --- */
.formulario-dom .wpcf7-acceptance .wpcf7-list-item {
    display: block;
}
.formulario-dom .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
    font-weight:400;
}

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

.formulario-dom .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 --- */
.formulario-dom 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;
}

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

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

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

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

.formulario-dom .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) {
    .formulario-dom .form-row .col-md-6,
    .formulario-dom .form-row .col-md-4 {
        width: 100%;
        margin-bottom: 20px;
    }

    .formulario-dom .form-row .col-md-6:last-child,
    .formulario-dom .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 a{
    color:#fff !important;
}
#modulo-interes-wrapper .modulo-interes-item,
#modulo-interes-wrapper .modulo-interes-item h2,
#modulo-interes-wrapper .modulo-interes-item a{
    color: #141414 !important;
}


/* modulo slider proyectos*/
.dominion-tabs-wrapper .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;
    }
}

.dominion-tabs-wrapper {
  display: flex;
  width: 100%;
  min-height: 700px; /* Altura total del módulo */
  font-family: sans-serif; /* Divi usará tu fuente global */
}

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

.dominion-tabs-wrapper .dominion-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ú */
.dominion-tabs-wrapper .dominion-btn:hover,
.dominion-tabs-wrapper .dominion-btn.active {
  background-color: rgba(255, 255, 255, 0.1); /* Fondo sutil al seleccionar */
  opacity: 1;
}

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

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

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

/* --- EL VELO ANIMADO --- */
.dominion-tabs-wrapper .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 */
.dominion-tabs-wrapper .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;
}

.dominion-tabs-wrapper .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 */
.dominion-tabs-wrapper .dominion-panel.active .velo-contenido {
  transform: translateX(0);
  transition-delay: 0.1s; 
}

/* --- TIPOGRAFÍA Y BOTÓN --- */
.dominion-tabs-wrapper .velo-subtitulo {
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: #fff;
}

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

.dominion-tabs-wrapper .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%;
  }
}

.dominion-tabs-wrapper .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) {
  .dominion-tabs-wrapper {
    flex-direction: column;
  }
  .dominion-tabs-wrapper .dominion-menu-lateral,
  .dominion-tabs-wrapper .dominion-contenido-paneles {
    width: 100%;
  }
  .dominion-tabs-wrapper .dominion-contenido-paneles {
    min-height: 400px;
  }
  .dominion-tabs-wrapper .dominion-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;
  font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  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;
}