/*
 Theme Name:   iLanga
 Theme URI:    https://llyc.global/
 Description:  iLanga
 Author:       LLYC
 Version:      3.00
 Author URI:   https://llyc.global/
 Template:     Divi
*/

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

/* Light 300 200 */
@font-face {
  font-family: 'Helvetica Neue';
  src: url('fonts/helvetica/HelveticaNeueLTPro-Lt.woff2') format('woff2'),
       url('fonts/helvetica/HelveticaNeueLTPro-Lt.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: url('fonts/helvetica/HelveticaNeueLTPro-UltLt.otf') format('woff2'),
       url('fonts/helvetica/HelveticaNeueLTPro-UltLt.woff') format('woff');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* Medium 500 */
@font-face {
  font-family: 'Helvetica Neue';
  src: url('fonts/helvetica/HelveticaNeueLTPro-Md.woff2') format('woff2'),
       url('fonts/helvetica/HelveticaNeueLTPro-Md.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Bold 700 */
@font-face {
  font-family: 'Helvetica Neue';
  src: url('fonts/helvetica/HelveticaNeueLTPro-Bd.woff2') format('woff2'),
       url('fonts/helvetica/HelveticaNeueLTPro-Bd.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
   font-family: "Helvetica Neue";
   src: url("./fonts/helvetica/HelveticaNeueLTPro-Roman.otf");
   font-weight: 400;
   font-style: normal;
}

:root {
  /* ======= Tipografía ======= */
    --fuente_titulos: 'Lora', serif;
    --fuente_textos: 'Helvetica Neue', Helvetica, sans-serif;  

    --altura_linea:110%;
    --altura_linea_textos:120%;


  /* ======= Colores ======= */
  --color_blanco: #ffffff;
  --color_negro: #000000;
  --color_gris_oscuro:#272727;
  --color_gris: #5F5F5F;
  --color_gris_medio:#ACACAC;
  --color_gris_claro:#EAEAEA ;
  --color_azul_verde: #196A74; 
  --color_azul_verde_oscuro: #0F444A;
       
  --color_acento: #cc3366;       /* color acento si lo usas */

  /* ======= Espacios ======= */
  --margin_textos: 24px;
  --margin_small: 16px;
  --margin_large: 40px;

  --padding_columnas:80px;
  --padding_boton: 10px 28px;

  --ancho_contendor:3000px;

  --altura_menu:100px;

  /* ======= Tamaños de fuente ======= */
  --size_14:14px;
  --size_17:17px;
  --size_18:18px;
  --size_19:19px;
  --size_20:20px;
  --size_21:21px;
  --size_25:25px;
  --size_30:30px;
  --size_33:33px;
  --size_38:38px;
  --size_55:55px;
  --size_58:58px;
  --size_84:84px;
}

@media (min-width: 2000px) {
  :root {
    --size_18: calc(18px * 1.20);
    --size_19: calc(19px * 1.20);
    --size_21: calc(21px * 1.20);
    --size_20: calc(20px * 1.20);
    --size_25: calc(25px * 1.20);
    --size_30: calc(30px * 1.20);
    --size_38: calc(38px * 1.20);
    --size_55: calc(55px * 1.20);
    --size_58: calc(58px * 1.20);
    --size_84: calc(84px * 1.20);
  }
}

@media (max-width: 1550px) {
  :root {
    --size_17: calc(17px * 0.90);
    --size_18: calc(18px * 0.90);
    --size_19: calc(19px * 0.90);
    --size_20: calc(20px * 0.90);
    --size_21: calc(21px * 0.90);
    --size_25: calc(25px * 0.90);
    --size_30: calc(30px * 0.90);
    --size_33: calc(33px * 0.90);
    --size_38: calc(38px * 0.90);
    --size_55: calc(55px * 0.90);
    --size_58: calc(58px * 0.90);
    --size_84: calc(84px * 0.90);
  }
}

@media (max-width: 1300px) {
  :root {
    --size_17: calc(17px * 0.80);
    --size_18: calc(18px * 0.80);
    --size_19: calc(19px * 0.80);
    --size_20: calc(20px * 0.80);
    --size_21: calc(21px * 0.80);
    --size_25: calc(25px * 0.80);
    --size_30: calc(30px * 0.80);
    --size_33: calc(33px * 0.80);
    --size_38: calc(38px * 0.80);
    --size_55: calc(55px * 0.80);
    --size_58: calc(58px * 0.80);
    --size_84: calc(84px * 0.80);
  }
}

@media (max-width: 1200px) {
  :root {
    --size_18: 18px;
    --size_19: 18px;
    --size_21: 18px;
    --size_20: 18px;
    --size_25: 18px;
    --size_30: 25px;
    --size_33: 25px;
    --size_38: 25px;
    --size_55: 25px;
    --size_58: 25px;
    --size_84: 25px;

    --padding_columnas:40px;
  }
}

@media (max-width: 980px) {
   :root { 
    --altura_menu: 90px;
  }
}

/* Bloqueo de scroll sin hacks de position:fixed */
html.lock-scroll, body.lock-scroll { overflow: hidden !important; }
/* Desactiva solo el menú cuando el panel de explorar está abierto */
html.lock-scroll #main-header,
body.lock-scroll #main-header {
  pointer-events: none;
}

/* Por si el header tiene sombras o z-index altos, súbelo un poco menos */
#main-header { z-index: 99999; }


.et_pb_section {
  max-width: var(--ancho_contendor);
  margin: auto;
}


.et_pb_row {
  max-width: var(--ancho_contendor);
}

.m_top_auto{
  margin-top: auto;
}
.contenido .et_pb_module {
   max-width: var(--ancho_contenedor);
}

.imagen .et_pb_image_wrap img {
  height: 100%;
  object-fit: cover;
}

.columna_textos {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:var(--padding_columnas);
}

.columna_textos_legales {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding:var(--margin_textos) var(--padding_columnas);
}

/* Textos */

p, button, li, span, a, .et_pb_text_inner, .et_pb_text_inner p {
    font-family: var(--fuente_textos);
    line-height: var(--altura_linea);
    color: var(--color_gris);
    font-weight: 400;
}
.contacto_footer a{
	color: var(--color_blanco);
    font-size: var(--size_21);
    font-family: var(--fuente_titulos);
}
.contacto_footer a:hover{
	opacity: .7;
}

.contacto_footer p{
	margin-bottom: 0;
}
.et_pb_text_inner, .et_pb_text_inner p {
  font-size: var(--size_21);
  line-height: var(--altura_linea_textos);
}

p {
     margin-bottom: var(--margin_textos);
     padding-bottom: 0;
}

h1, h2, h3, h4, p.destacado, .destacado p, .destacado .et_pb_text_inner{
    font-family: var(--fuente_titulos);
    line-height: var(--altura_linea);
    color: var(--color_azul_verde);
    font-weight: 400;
    margin-bottom: var(--margin_textos);
    padding-bottom: 0;
}

h2 {
  font-size: var(--size_58) !important;
}

.antetitulo {
  margin-bottom: 0 !important;
}

.antetitulo p, .antetitulo .et_pb_text_inner {
  font-weight: 300;
  font-size: var(--size_21);
  color: var(--color_gris);
  margin-bottom: var(--margin_textos);
}

.antetitulo.p_blanco p, 
.antetitulo.p_blanco .et_pb_text_inner {
  color:var(--color_blanco);
}

.t_gris, .t_gris p {
    color:var(--color_gris);
}

.t_blanco, .t_blanco p, .t_blanco .et_pb_text_inner {
    color: var(--color_blanco);
}

.t_300, .t_300 p {
    font-weight: 300;
}

.t_azul, .t_azul p, .t_azul .et_pb_text_inner{
    color:var(--color_azul_verde);
}

.b_gris {
  background-color: var(--color_gris_claro);
}

.b_azul {
  background-color: var(--color_azul_verde);
}


/* Botones */

.cta {
    border: 1px solid var(--color_azul_verde);
    border-radius:30px;
    color: var(--color_azul_verde);
    font-weight: 400;
    text-transform: capitalize;
    font-size: var(--size_17);
    padding: var(--padding_boton);
    display: inline-block;
    font-family: var(--fuente_titulos);
}

/* IMG */
.imagen img {
    width: 100%;
    height: auto;
    display: block;
}

.imagen{
  display: block;
  padding: 0;
  line-height: 0;
}


/* Tamaños */
.w_100 { width: 100%; }
.w_80  { width: 80%; }
.h_100 { height: 100%; }
.h_80  { height: 80%; }

.vw_100 { width: 100vw; }
.vw_80  { width: 80vw; }
.vh_100 { min-height: calc(100vh - var(--altura_menu)); }
.vh_80  { min-height: calc(80vh - var(--altura_menu)); }

/* Padding */
.p_0, .et_pb_section, .et_pb_row {
    padding: 0 !important;
}


.p_top_0 {
  padding-top: 0 !important;
}

.p_left_0 {
  padding-left: 0 !important;
}

.p_right_0 {
  padding-right: 0 !important;
}

.p_bottom_0 {
  padding-bottom: 0 !important;
}

/* Flex */
.flex_center { display: flex; align-items: center; justify-content: center;}


/* Home */
@media (min-width: 980px) { 
.seccion_video_introduccion {
    scroll-snap-type: y mandatory;
    min-height: 100vh;
}
}

.seccion_video_introduccion {
    min-height: 100vh;
}

.seccion_video_introduccion .et_pb_row  {
  height: 100vh;
}

.seccion_video_introduccion .et_pb_image_wrap  {
    height: 124px;
    max-width: 90%;
}

.seccion_video_introduccion .et_pb_section_video_bg .mejs-container::after {
  background: linear-gradient(90.32deg, rgba(0, 0, 0, 0) 10.53%, rgba(0, 0, 0, 0.313403) 64.33%, rgba(0, 0, 0, 0.5) 93.66%);
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* Paginas legales */

.pagina_legal section.contenido {

  padding-top: var(--altura_menu);
  max-width: var(--ancho_contendor);
  margin: auto;
}

.pagina_legal p {
  font-size: var(--size_21);
  font-family: var(--fuente_textos);
  font-weight: 400;
  color: var(--color_gris);
  line-height: var(--altura_linea_textos);
}

.pagina_legal h1, .pagina_legal h1 b {
  font-size: var(--size_58) !important;
  font-weight: 400;
  margin-bottom: var(--margin_textos);
  display: block;
  line-height: var(--altura_linea_textos);
}

.pagina_legal b, .pagina_legal h2 {
  font-size: var(--size_38) !important;
  color: var(--color_azul_verde);
  font-family: var(--fuente_titulos);
  font-weight: 300;
  margin-bottom: var(--margin_textos);
  margin-top: var(--margin_textos);
  display: block;
  line-height: var(--altura_linea_textos);
  
}

/* Header */


#main-header .container.et_menu_container {
  display: grid !important;
  grid-template-columns: auto 1fr auto; /* logo | nav | idioma (futuro) */
  align-items: center;
  justify-content: center;
  gap: var(--margin_textos);
  padding-left:var(--padding_columnas);
  padding-right: var(--padding_columnas);
  height: var(--altura_menu);
  max-width: var(--ancho_contendor);
  margin: auto;
  background-color: transparent;
  transition: background-color 0.3s ease; 
}

.et-fixed-header#main-header .container.et_menu_container  {
  background-color: var(--color_gris_oscuro);
}

.pagina_legal #main-header .container.et_menu_container {
  background-color: var(--color_gris_oscuro);
}

#main-header  {
  height: var(--altura_menu);
  background-color: transparent;
}

/* Logo */
#main-header .logo_container {
  justify-self: start;
}

.et_header_style_left .logo_container {
  position: relative;
  max-height: var(--altura_menu);
}

/* Nav centrado */
#main-header #et-top-navigation {
  padding: 0 !important; /* quita relleno que mete Divi */
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#main-header #et-top-navigation a, #main-header a span {
  padding: 0;
  color: var(--color_blanco);
  font-weight: 400;
  font-size: var(--size_14);
  font-family: var(--fuente_titulos);
}

/* Idiomas */
#main-header .menu_idiomas {
  justify-self: end;
}

/* 1) El UL del menú como contenedor flex, centrando los primeros items */
#main-header #top-menu {
  display: flex;
  align-items: center;
  justify-content: center;      /* los primeros enlaces quedan centrados */
  gap: 0;
  width: 100%;
  float: none;                  /* anula floats heredados de Divi */
}

#main-header #top-menu > li:first-of-type {
  margin-left: auto;
}

/* 2) Asegura que el NAV no flota y ocupa todo el ancho de su columna */
#main-header #top-menu-nav {
  width: 100%;
  float: none;
  display: block;
}

/* 3) Empuja "Inversores" y lo que venga después (WPML) al extremo derecho */
#main-header #top-menu .inversores {
  margin-left: auto;
  border: 1px solid var(--color_blanco);
  padding: 8px var(--margin_small);
  border-radius: 8px;
}

/* 4) Un pequeño respiro entre "Inversores" y el conmutador de idioma */
#top-menu li.wpml-ls-item {
  padding-right: 0;
  margin-left: 0;
  position: relative;
}

#main-header #top-menu li[class*="wpml-ls"]:first-of-type{
  margin-left: var(--margin_small);
}

#main-header #top-menu >  li:not(.wpml-ls-item):not(.inversores) {
  padding-right: calc(var(--margin_textos)* 2);
}

#main-header #top-menu >  li.inversores {
  margin-right: calc(var(--margin_textos)* 2);
}

 #main-header #top-menu >  li.wpml-ls-item {  
    margin-right: var(--margin_small);
 }


/* Secciones */

.seccion_gris{
  min-height: calc(100vh - 100px);
}
.seccion_gris .textos .destacado p, .seccion_gris .textos .destacado .et_pb_text_inner {
  font-family: var(--fuente_textos);
  color: var(--color_gris);
  font-size: var(--size_33);
  font-weight: 300;
  line-height: var(--altura_linea_textos);
}

.seccion_estrategia .antetitulo, .seccion_estrategia h2 {
  color: var(--color_blanco);
}

@media (min-width: 1024px) { 
  .seccion_contacto, .seccion_contacto > .et_pb_row {
    min-height: calc(100vh - var(--altura_menu));
  }
  .seccion_contacto .et_pb_row {
    display: flex;
    align-items: stretch;
  }
  .seccion_contacto .columna_textos  {
    margin-bottom: auto;
    margin-top: auto;
  }
}

.seccion_contacto .columna_textos {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: var(--margin_textos);
  height: max-content;
  justify-content: flex-start;
}

.seccion_contacto .antetitulo p {
  margin-bottom: 0;
  padding-bottom: 0;
}

.seccion_contacto .columna_textos .destacado {
  width: 100%;
}

.seccion_contacto h2, .seccion_contacto .et_pb_text_inner {
  margin-bottom: 0;
}

.seccion_contacto h2 {
  margin-bottom: var(--margin_textos);
}


.seccion_contacto .columna_textos .contacto, 
.seccion_contacto .columna_textos .direccion   {
  width: calc(50% - (var(--margin_textos) * 2));
  border-top: 1px solid var(--color_azul_verde);
  padding-top: var(--margin_textos);
}

.seccion_contacto .columna_textos .contacto {
  margin-left: calc(var(--margin_textos));
}

.seccion_contacto .columna_textos .direccion {
  margin-right: calc(var(--margin_textos));
}

.seccion_contacto .columna_textos .contacto strong, 
.seccion_contacto .columna_textos .direccion strong {
  font-size: var(--size_25);
  font-family: var(--fuente_titulos);
  color: var(--color_azul_verde);
  margin-bottom: var(--margin_textos);
  font-weight: 400;
  display: block;
}

.seccion_contacto .et_pb_image .et_pb_image_wrap {
  min-height: 100%;
  overflow: hidden;
  position: relative;
}

@media (min-width: 978px) {

.seccion_contacto .et_pb_image img {
   position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
}

/* === Bloque 'Sobre iLanga' (seccion_imagen) === */

/* 0) Anula los height:100% heredados en este bloque */
.seccion_imagen .h_100 { height: auto !important; }

.seccion_imagen .fila{
  display: flex;
  align-items: stretch;        /* columnas = misma altura */
  min-height: calc(100vh - 100px);       
}

/* 2) Columna de imagen: que se estire como la de texto */
.seccion_imagen .columna_imagen_fila{
  display: flex;
  overflow: hidden;         
}

/* 3) Cadena flex hasta la <img> para que coja 100% de la columna */
.seccion_imagen .et_pb_image {           
  display: flex;
  flex: 1 1 auto;
  margin: 0;
}
.seccion_imagen .et_pb_image .et_pb_image_wrap{
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 50vh;
}
.seccion_imagen .et_pb_image  img{
  display: block;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;                
  object-fit: cover;          
  object-position: center;
  position: absolute;

}



/* Footer */
footer .et-menu li>a, footer .et-menu li>a span {
  color: var(--color_blanco);
  font-size: var(--size_21);
  font-family: var(--fuente_titulos);
  padding-right: var(--margin_large);
  padding-bottom: 0;
}

footer .et-menu li.wpml-ls-item span {
  padding-right: 0;
}

footer .et_pb_menu  {
  margin-bottom:0 !important;
  flex: 1;
}

footer .menu_legal .et-menu-nav li {
  padding-right: 0;
  padding-left: var(--margin_small);
}

footer  .menu_legal .et-menu-nav li a {
  color: var(--color_gris_oscuro);
  font-size: var(--size_20);
  font-family: var(--fuente_textos);
  position:relative;
  padding-right: var(--margin_small);
  padding-bottom: 0 !important;
  display: flex;
  align-items: center;
}

footer .menu_legal .et-menu-nav li a::after {
  content: '|';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color_gris_oscuro);
  opacity: 0.8;
}

footer .menu_legal .et-menu-nav li:last-child a::after {
  content: none;
}

footer nav ul li.inversores {
  display: none !important;
}

footer .menu .et_pb_image {
  margin-right: 0;
  margin-left: auto;
}

footer .menu .et_pb_menu__wrap{
  display: flex;
  align-items: center;
  justify-content: flex-end;
}


footer  .menu_legal .et_pb_menu__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

footer .menu {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
}

.seccion_legal .fila_menu {
  background-color: var(--color_gris_oscuro);
  min-height: var(--altura_menu);
}

.seccion_legal h1 {
  font-size: var(--size_58);
}

.seccion_legal b, .seccion_legal h2 {
    font-family: var(--fuente_titulos);
    line-height: var(--altura_linea);
    color: var(--color_azul_verde);
    font-weight: 400;
    margin-bottom: var(--margin_textos);
    padding-bottom: 0;
  font-size: var(--size_38) !important;
}

.seccion_legal {
  padding-top: var(--altura_menu) !important;
}

@media (max-width: 1024px) { 

  .et_pb_column {
    margin-bottom: 0 !important;
  }

  footer .menu_legal .et-menu-nav li a::after {
  content: '';
  }

  .seccion_imagen .fila {
    flex-direction: column-reverse;
    justify-content: flex-end;
  }

  .seccion_imagen .fila .et_pb_column {
    width: 100% !important;
  }

  .seccion_imagen .columna_imagen_fila{ 
    height: 250px !important;
  }

  .seccion_imagen .et_pb_image .et_pb_image_wrap {
    min-height: 200px;
  }

  .seccion_gris .columna_textos:first-of-type {
    padding-bottom: 0;
    padding-right: var(--padding_columnas) !important;
  }

  .seccion_gris img {
    min-height: 200px;
  }

  .seccion_gris .textos .destacado .et_pb_text_inner {
    font-size: var(--size_21);
  }


  .seccion_estrategia .columna_textos:first-of-type {
    padding-bottom: 0;
  }

  #estrategias .texto p:last-of-type {
    margin-bottom: 0;
  }

  #equipo .et_pb_row:first-of-type .columna_textos {
    padding-bottom: 0;
  }

  #equipo .et_pb_row:nth-of-type(2) .columna_textos {
    padding-right: var(--padding_columnas) !important;
  }

  .seccion_contacto .columna_textos {
    flex-direction: column;
    gap: 0 !important;
  } 

  .seccion_contacto .columna_textos .contacto, .seccion_contacto .columna_textos .direccion {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .seccion_contacto .direccion  {
    padding-bottom: var(--margin_textos);
  }

  .seccion_contacto .antetitulo {
    margin-bottom: var(--margin_textos) !important;
  }

  .fila_proyectos .et_pb_column_1_2 {
      width: 100% !important;
    }

    .fila_proyectos .proyectos_menu {
      margin-top: 0;
    }

     footer #menu-menu-legal {
        flex-direction: column;
      }

      footer .menu_legal .et_pb_menu__wrap {
        justify-content: flex-start;
        align-items: flex-start;
      }

}

@media (max-width: 980px) { 
  /* 1️⃣ Ocultar TODO menos el idioma */
#top-menu > li:not(.wpml-ls-item) {
  display: none !important;
}

#main-header .logo_container {
  display: block !important;
}

.et_fixed_nav #main-header {
  position: fixed;
}

#mobile_menu .wpml-ls-item {
  display: none !important;
}

/* Quita padding y alinea el menú hamburguesa a la izquierda */

.et_header_style_left #et-top-navigation .mobile_menu_bar {
  padding: 0;
}

#et-top-navigation {
display: flex;
align-items: center;
justify-content: flex-end;
flex-direction: row;
gap: var(--margin_small);
flex:1;
width: 100%;
}

#main-header .container.et_menu_container {
  display: flex !important;
  align-items: center;
  gap: 0;
  width: 100%;
}

#main-header #top-menu {
  justify-content: flex-end;
  gap: 0;
}

.mobile_menu_bar:before, .mobile_menu_bar:after{
  color: var(--color_blanco);

}

.et_mobile_menu {
  border-top: 3px solid var(--color_blanco);
  top: var(--altura_menu);
}

#main-header #mobile_menu li:not(:nth-of-type(5)){
  margin-bottom: var(--margin_textos) ;
}

/* Footer */
 /* Evita que el footer use el menú hamburguesa */
 footer .et_mobile_nav_menu { display: none !important; }
 footer .et_pb_menu__menu { display: block !important; }

 footer .et_pb_section:first-of-type .et_pb_row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
 }

 footer .et_pb_section:first-of-type .et_pb_row .et_pb_column:first-of-type {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
 }

 footer .et_pb_section:first-of-type li,   footer .et_pb_section:first-of-type li a,
  footer .et_pb_section:first-of-type li a span {
  text-align: right;
  padding: 0;
  width: 100%;
 }

  .seccion_estrategia .et_pb_column.p_left_0   {
    padding-left: var(--padding_columnas) !important;
    padding-top: 0;
  }

    .seccion_gris .columna_textos:last-of-type {
    padding-top: 0;
  }

  .seccion_gris, .seccion_imagen  {
    min-height: 100vh;
  }

  .antetitulo {
    margin-bottom: var(--margin_small) !important;
  }

}
