/* ========================================
   THEME DELYAR - CUSTOM STYLES OPTIMIZADOS
   Manteniendo todos los estilos originales + optimizaciones
   ======================================== */

/* Optimización: Importación de fuentes con preload */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

/* Variables CSS optimizadas */
:root{
  --color-primario: #4158A5;
  --color-secundario: #1271B7;
  --color-terciario: #1990C6;
  --color-cuaternario: #8EBFE0;
  --font-primary: 'Inter', sans-serif;
  --font-secondary: 'Judson', serif;
  --font-lato: 'Lato', sans-serif;
}

/* Tipografía optimizada con font-display y responsive */
h1{
  font-size: clamp(2.5rem, 5vw, 3.75rem) !important; /* Responsive */
  font-family: 'Ghotam Black', var(--font-primary), sans-serif;
  font-weight: 900;
  line-height: 1.2;
}
h2{
  font-size: clamp(2rem, 4vw, 3.125rem) !important; /* Responsive */
  color: #000;
  font-family: var(--font-primary);
  line-height: 1.1;
}
h5{
  font-size: 1.125rem;
  font-family: var(--font-primary);
}
.text4{
  font-size: 0.875rem;
  font-family: var(--font-lato);
}
.text5{
  font-size: 0.875rem;
  font-family: var(--font-lato);
}

/* Clases de fuente Lato optimizadas */
.lato-thin { font-family: var(--font-lato); font-weight: 100; font-style: normal; }
.lato-light { font-family: var(--font-lato); font-weight: 300; font-style: normal; }
.lato-regular { font-family: var(--font-lato); font-weight: 400; font-style: normal; }
.lato-bold { font-family: var(--font-lato); font-weight: 700; font-style: normal; }
.lato-black { font-family: var(--font-lato); font-weight: 900; font-style: normal; }
.lato-thin-italic { font-family: var(--font-lato); font-weight: 100; font-style: italic; }
.lato-light-italic { font-family: var(--font-lato); font-weight: 300; font-style: italic; }
.lato-regular-italic { font-family: var(--font-lato); font-weight: 400; font-style: italic; }
.lato-bold-italic { font-family: var(--font-lato); font-weight: 700; font-style: italic; }
.lato-black-italic { font-family: var(--font-lato); font-weight: 900; font-style: italic; }

/* Optimización: Fuente Ghotam con font-display: swap */
@font-face {
  font-family: 'Ghotam Black';
  src: url('../assets/fonts/ghotam-fonts-family/ghotam-black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap; /* Optimización de rendimiento */
}

/* Tipografía base optimizada */
body, p, span, a, h3, h4, h5, h6 {
  font-family: var(--font-lato);
  line-height: 1.6;
}

/** Menú **/
/* Ejemplo: cambiar todos los enlaces del menú principal a mayúsculas */
.main-menu a {
  text-transform: uppercase;
  font-size: 14px !important;
  color: white !important;
}
header.luminix-header-three.sticky-menu .main-menu a {
  color: #3350A2 !important;
}

.luminix-default-btn.luminix-header-btn3{
  background-color: var(--color-primario) !important;
  color: white !important;
  padding: 10px 20px;
}

.logo-color {
  display: none;
}
.logo-blanco {
  display: inline-block;
}
.scrolled .logo-blanco {
  display: none !important;
}
.scrolled .logo-color {
  display: inline-block !important;
}

/** Hero **/
.default-btn2{
  background-color: var(--color-primario) !important;
  color: white !important;
  border: none;
  padding: 10px 10px !important;
}
.default-btn2:hover{
  background-color: var(--color-secundario) !important;
  color: #000 !important;
  border: none;
}
.default-btn3:hover {
  color: var(--color-primario) !important;
  border: none !important;
  color: white !important;
}
.default-btn3{
  padding: 8px 10px !important;
}
header.luminix-header-three.sticky-menu {
  background-color: white !important;
}

.luminix-hero-section3 {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start; /* si querés izquierda, o center si querés centrar horizontal también */
  min-height: 100vh;
  padding-top: 100px; /* opcional: espacio si tenés header fijo */
  box-sizing: border-box;
}

.video-background {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 0;
  scale: 1.3;
}

.video-background__iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.77vh; /* 100 * (16/9) para cubrir el fondo */
  height: 100vh;
  transform: translate(-50%, -50%);
  pointer-events: none; /* que no interfiera en clicks */
}
.video-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0,0,0,0.4); /* negro con 40% de opacidad */
  z-index: 1;
  pointer-events: none;
}
.hero-mask {
  position: absolute;
  top: 0; 
  left: 0;
  height: 100vh;
  z-index: 2;
  pointer-events: none;
}

.hero-mask img {
  width: 100%;
  height: 100vh;
  display: block;
}

/* Contenido sobre el video */
.hero-content {
  position: relative;
  z-index: 2;
}

/** Sobre Nosotros **/
.text-items{
  margin-bottom: 10px;
  font-size: 16px;
}
.luminix-default-btn{
  background: var(--color-secundario);
}
.luminix-default-btn.extra-btn2{
  padding: 10px 10px;
}

/** Video Section **/
.luminix-padding-section.video-section {
  position: relative;
  z-index: 1;
}
.luminix-video-content .video-title{
  line-height: 1.5em;
  font-family: 'Ghotam Black', sans-serif;
  font-weight: 900;
}

.luminix-padding-section.video-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0, 0, 0, 0.6); /* negro con 50% de opacidad */
  z-index: -1;
}
.luminix-skill-bar{
  background-color: #3350A2 !important;
}

/** Novedades **/
.luminix-blog-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.luminix-blog-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
/* Aplica solo flex en las filas que lo necesitan */
.row.flex-columns > div[class*="col-"] {
  display: flex;
}

/** Footer **/
.luminix-footer-section1 {
  background-color: var(--color-primario) !important;
  padding: 40px 0 0;
}
.luminix-cta-title {
  background: var(--color-terciario) !important;
  padding: 10px 50px;
}

/** Empresa - Nuestro Camino **/
.luminix-about-thumb4 img{
  object-fit: contain !important;
  width: 100%;
}

/** Empresa - Soluciones **/
.luminix-counter-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 30px;
}

.luminix-counter-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  padding: 20px;
  min-height: 180px; /* asegura altura mínima común */
}

/** Empresa Sección Video **/
.video-container video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.custom-video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* proporción 16:9 */
  overflow: hidden;
  cursor: pointer;
}

.custom-video-wrapper video,
.custom-video-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px;
  background: url('http://institucional.delyar.com.ar/wp-content/uploads/2025/06/Group-17.png') no-repeat center !important;
  background-size: 100%;
  z-index: 3;
  transition: 0.3s;
}

.custom-video-wrapper.playing .video-poster,
.custom-video-wrapper.playing .custom-play-button {
  display: none;
}
.custom-video-section {
  margin-top: 40px;  /* Ajusta el valor a tu gusto */
  margin-bottom: 100px; /* Ajusta el valor a tu gusto */
}
.custom-video-wrapper {
  position: relative;
}

.custom-video-wrapper .video-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none; /* Para que no bloquee clics */
  z-index: 2; /* Por encima del video */
}
.luminix-section-title {
  padding-bottom: 50px !important;
}

/** Innoba **/
/* Sección InnoBa */
.innoba-section {
    min-height: 600px; /* Ajusta según sea necesario para que la imagen de fondo se vea bien */
    display: flex; /* Usamos flexbox para centrar el contenido verticalmente */
    align-items: center; /* Centra verticalmente */
}

.innoba-content-container {
    width: 100%; /* Asegura que el contenedor ocupe el ancho completo */
    /* El padding ya lo tienes en el HTML, pero puedes ajustarlo aquí si lo prefieres */
}

/* Columna izquierda: Título y Logo */
.innoba-left-column {
    display: flex;
    flex-direction: column; /* Apila los elementos verticalmente */
    justify-content: center; /* Centra verticalmente si hay espacio */
    align-items: flex-start; /* Alinea el contenido a la izquierda */
    padding-right: 50px; /* Ajusta este valor para crear más espacio entre columnas si es necesario */
}

.innoba-title {
    font-size: 3.5rem; /* Ajusta el tamaño del título */
    line-height: 1.1;
    color: white !important;
}

.innoba-logo img {
    max-width: 280px; /* Aumenta el tamaño máximo del logo como en la imagen */
    height: auto;
    margin-top: 20px; /* Espacio entre el título y el logo */
}

/* Columna derecha: Descripción y Botón */
.innoba-right-column {
  display: flex;
  flex-direction: column; /* Apila los elementos verticalmente */
  justify-content: center; /* Centra verticalmente si hay espacio */
  align-items: flex-start; /* Alinea el contenido a la izquierda por defecto */
}

.innoba-description {
  font-size: 1.15rem; /* Ajusta el tamaño de la fuente de la descripción */
  line-height: 1.6;
  max-width: 600px; /* Limita el ancho de la descripción para mejor legibilidad */
  text-align: justify; /* Justifica el texto */
  margin-bottom: 30px; /* Espacio entre la descripción y el botón */
}

.innoba-button {
    margin-top: 20px; /* Asegura espacio si el margen de la descripción no es suficiente */
    /* Otros estilos de botón de Bootstrap se aplicarán automáticamente */
}

/* Media Queries para Responsividad */
@media (max-width: 991.98px) { /* Para pantallas más pequeñas que large (col-lg-6) */
    .innoba-section {
      min-height: auto; /* Remover altura mínima en móviles para que se ajuste al contenido */
      padding: 50px 0; /* Ajusta el padding vertical en móviles */
    }

    .innoba-left-column,
    .innoba-right-column {
      padding-right: 15px; /* Restaurar padding default de Bootstrap */
      padding-left: 15px;
      align-items: center; /* Centrar elementos en móviles si se ven mejor */
      text-align: center; /* Centrar texto en móviles */
    }

    .innoba-logo img {
      margin-left: auto;
      margin-right: auto; /* Centrar la imagen en móviles */
    }

    .innoba-description {
      text-align: center; /* Centrar texto en móviles */
    }
}

@media (min-width: 1200px) { /* Para pantallas extra grandes (xl) */
    .innoba-content-container {
      max-width: 1320px; /* O el ancho máximo que quieras para el container, si usas container-xl o similar */
    }
}
.btn-primary{
  background: var(--color-primario) !important;
}

/** Contacto **/
div.wpforms-container-full button[type=submit]{
  background: var(--color-primario) !important;
}
.luminix-contact-us-info-wrap{
  background-color: var(--color-primario) !important;
  gap: 5px; 
  width: 100%;
  height: 100%;
  max-height: 140px;
}
.luminix-skill-line{
  border: 1px solid var(--color-primario) !important;
}

.widget-title{
  font-size: 14px;
  color: white;;
}
.footer-widget a {
  color: white; /* Cambia por el color que necesites */
  font-size: 13px;
}
.luminix-counter-data::before{
  background-color: var(--color-primario) !important;
}

.luminix-about-thumb4 {
  display: flex;
}

.luminix-list-icon-content ul li{
  margin-bottom: 20px !important;
  font-size: 14px;
}
.luminix-default-btn.cta-btn3{
  padding: 10px 10px;
}

/** Blog **/
.luminix-search-box {
  position: relative;
  display: inline-block;
  width: 100%;
}

.luminix-search-box input[type="search"] {
  width: 100%;
  padding: 10px 10px 10px 38px; /* deja espacio a la izquierda para la lupa */
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}

.luminix-search-box button {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  padding: 0;
  font-size: 16px;
  color: #666;
  pointer-events: none; /* hace que no interfiera al escribir */
}
.luminix-blog-content{
  padding: 10px 15px;
}

.luminix-counter-data {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  height: 75px;
  justify-content: center;
  font-weight: 900;
}

/* ========================================
   OPTIMIZACIONES ADICIONALES DE RENDIMIENTO
   ======================================== */

/* Optimización: Lazy loading para imágenes */
img {
  loading: lazy;
}

/* Optimización: Transiciones suaves */
.luminix-default-btn,
.default-btn2,
.default-btn3,
.custom-play-button {
  transition: all 0.3s ease;
}

/* Optimización: Hover effects mejorados */
.luminix-default-btn:hover,
.default-btn2:hover,
.default-btn3:hover {
  transform: translateY(-2px);
}

/* Optimización: Preloader mejorado */
.luminix-preloader-wrap {
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* Optimización: Scroll to top mejorado */
.progress-wrap {
  transition: all 0.3s ease;
}

/* Optimización: Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Optimización: Modo oscuro */
@media (prefers-color-scheme: dark) {
  :root {
    --color-primario: #5a6bb8;
    --color-secundario: #1a8cd8;
  }
}

/* Optimización: Responsive mejorado */
@media (max-width: 768px) {
  h1 {
    font-size: 40px !important;
  }
  
  h2 {
    font-size: 35px !important;
  }
  
  .innoba-title {
    font-size: 2.5rem;
  }
}

/* Optimización: Performance para animaciones */
.luminix-blog-wrap,
.luminix-counter-item,
.luminix-about-thumb4 img {
  will-change: transform;
}