/* Cambiar color del menú hamburguesa en mobile */

.ci-menu:before {
	color:white;	
}

/* Ocultar íconos de redes del menú hamburguesa en mobile */

.elementor-2104 .elementor-element.elementor-element-3630dcd .master-social-icons a {
	display:none;
	
}

/* Íconos de redes mobile */
.tombuild-menu-panel .master-social-icons a {
background-color: transparent;	
	
}


/* Borde al menú mobile */

@media only screen and (max-width: 767px) {
    .elementor-column.elementor-col-100 .elementor-section .elementor-container {
        border-bottom: 1px solid transparent;
        margin-top: -50px;
    }
}



/* Íconos "Nuestra experiencia" */
.cls-1 {
		stroke-width:5.5px;
}

/* Cajas: Visión, Misión */
.elementor-2375 .elementor-element.elementor-element-5a3408f .master-image-box .content-wrap {
  height: 280px; /* Altura para desktop */
}

.elementor-2375 .elementor-element.elementor-element-d5f3b48 .master-image-box .content-wrap {
 height: 280px; /* Altura para desktop */
}

@media (max-width: 767px) { /* Media query para mobile (ajusta el valor según necesites) */
  .elementor-2375 .elementor-element.elementor-element-5a3408f .master-image-box .content-wrap {
    height: 300px; /* Altura para mobile */
  }
}


@media (max-width: 767px) { /* Media query para mobile */
  .elementor-2375 .elementor-element.elementor-element-d5f3b48 .master-image-box .content-wrap {
    height: 300px; /* Altura para mobile */
  }
}



/* Ícono Check - Política de Calidad*/

.contenedor-check {
  display: flex; /* Convierte el contenedor en un Flexbox */
  align-items: center; /* Alinea los elementos verticalmente al centro */
}

.svg-check {
  margin-right: 5px; /* Espacio entre la imagen SVG y la palabra */
  height: 20px; /* Ajusta la altura de la imagen SVG según necesites */
}



/* Ajuste de altura entre párrafos del slider */
.custom-row.no-wrap {
margin-top:-30px;	
}



/* Ícono Check - Slider Diseño estructural*/

.svg-check2 {
  margin-right: 5px; /* Espacio entre la imagen SVG y la palabra */
  height: 20px; /* Ajusta la altura de la imagen SVG según necesites */
}



/*  Begin Formulario de Contacto */

/* Fondo del formulario */
.wpcf7-form {
    background-color: #003C78; /* Azul oscuro */
		padding-left: 40px;  /* Espacio a la izquierda */
    padding-right: 40px; /* Espacio a la derecha */
    border-radius: 0px;
    max-width: 400px; /* Ajusta el ancho máximo del formulario */
    color: white;
}

/* Etiquetas de los campos */
.wpcf7-form label {
    display: block;
    color: white;
    font-size: 14px;
    margin-bottom: 5px;
}

/* Campos de entrada */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    background: transparent;
    border: none; /* Elimina todos los bordes */
    border-bottom: 1px solid white; /* Mantiene solo la línea inferior */
    color: white;
    padding: 5px;
    font-size: 14px;
    outline: none; /* Evita bordes adicionales al hacer clic */
}


/* Placeholder en color blanco */
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* Contenedor del botón alineado a la derecha */
.wpcf7-form .wpcf7-submit {
    display: block;
    margin-left: auto;
    margin-right: 0;
}


/* Botón de envío */
.wpcf7-form input[type="submit"] {
    background: linear-gradient(to bottom, white, #B0C4DE);
		padding: 5px 15px; /* Reduce el relleno para hacerlo más pequeño */
    font-size: 14px; /* Reduce el tamaño del texto */
    font-size: 16px;
    color: #003C78;
 		font-family:anybody;
		width: auto; /* Asegura que el tamaño se ajuste al contenido */
		height: 40px; /* Ajusta la altura total del botón */
    line-height: 1.2; /* Ajusta la altura del texto dentro del botón */
}

/* Efecto hover en el botón */
.wpcf7-form input[type="submit"]:hover {
    background: linear-gradient(to bottom, #B0C4DE, white);
}

/* Reducir altura del campo mensaje */
.wpcf7-form textarea {
    height: 70px; /* Ajusta según necesidad */
}

/* Estilo para campos de entrada de texto */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"] {
    height: 25px; /* Ajusta el alto del campo de entrada */
    padding: 5px; /* Ajusta el padding dentro del campo de entrada */
    box-sizing: border-box; /* Asegura que el padding no afecte al alto total del campo */
}


/* Respuesta de formulario incompleto */

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color:transparent;	
	padding-bottom:10px;
	font-family: Anybody, sans-serif;
	font-weight: 300;
}



/* Texto de mensaje enviado */

.wpcf7 form.sent .wpcf7-response-output {
border-color:transparent;
}		


/*  End Formulario de Contacto */


/* Línea decorativa del slider */

.elementor hr {
background-color:#91c1f0;
height: 4px;
width: 15%;
margin-bottom:25px;
}

/* Arrow right del slider */

.master-slider .arrow-next::after {
    content: url('/wp-content/uploads/2025/02/arrow-right.svg'); /* Ruta a la nueva imagen */
    width: 60px; /* Ajusta el ancho */
    height: 60px; /* Ajusta la altura */
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translate(-50%, -50%);
}


/* Arrow left del slider */

.master-slider .arrow-prev::after {
    content: url('/wp-content/uploads/2025/02/arrow-left.svg'); /* Ruta a la nueva imagen */
		width: 60px; /* Ajusta el ancho */
    height: 60px; /* Ajusta la altura */
    position: absolute;
    top: 50%;
    left: 70px;
    transform: translate(-50%, -50%);	
}


/* Arrow fijo */

.master-slider .arrow.arrow-next:hover:after {
	animation:none;	
}

.master-slider .arrow.arrow-prev:hover:after {
	animation:none;	
}

.arrows-size-medium .master-slider .arrow {
	background-color:transparent;	
}


/* Ocultar ícono de scroll */

#scroll-top:before {
	display:none;	
}

/* Cambiar arrow de scroll */

#scroll-top::after {
    content: url('new-icon.png');
    color: #fff;
    font-size: 14px;
    position: absolute;
    left: 0;
    top: 9px;
    width: 100%;
    transition: all 0.3s ease;
}


/* Código personalizado Slider */

.diseno-estructural-2025 {
  background-color: #003478;
	opacity: 0.8;
  color: white;
  font-family: Anybody, sans-serif;
	padding: 30px 0px 30px 30px;
	margin-top:40px;
	height:460px;
	width:650px;
}


.diseno-container1 {
  max-width: 550px;
  margin: 0 auto;
	padding-right: 30px;
	padding-top:50px;

}

.diseno-container2 {
  max-width: 550px;
  margin: 0 auto;
	padding-right: 30px;
	padding-top:10px;

}

.diseno-container3 {
  max-width: 550px;
  margin: 0 auto;
	padding-right: 30px;
	padding-top:100px;

}

.diseno-title {
  font-size: 28px;
  margin-bottom: 0.5rem;
  font-weight: 500;
	font-family:Anybody;
	color:white;
}

.diseno-underline {
  width: 80px;
  height: 5px;
  background-color: #91c1f0;
  margin-bottom: 2rem;
}

.diseno-description {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 3rem;
  max-width: 800px;
	font-family:Anybody;
	color:white;
}

.diseno-services {
  display: flex;
  gap: 3rem;
}

.edificaciones {
  flex: 1;
}


.salto-linea {
padding-bottom:40px;
}

.right-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.service-item {
  display: flex;
  align-items: flex-start;
	font-family:Anybody;
  gap: 1.5rem;
}

.check-icon {
  width: 23px;
  height: 23px;
  flex-shrink: 0;

}

.service-content {
  flex-grow: 1;
	font-family:Anybody;
	font-size:15px;
	line-height:1.5;
}

.service-content listado-custom {
  font-size: 1.2rem;
  margin: 0 0 0.5rem 0;
  font-weight: 600;
}

.service-content p {
  margin: 0;
  line-height: 1.6;
}



/* Begin Responsive slider */

/* Código responsive */
@media (max-width: 768px) {
  .diseno-estructural-2025 {
    width: 100%; /* Ocupa todo el ancho disponible en dispositivos móviles */
    height: auto; /* Ajusta automáticamente la altura */
    padding: 30px 40px 30px 40px; /* Reduce el espacio para mayor legibilidad */
  }

  .diseno-container1, .diseno-container2, .diseno-container3 {
    max-width: 100%; /* Ajuste al ancho del dispositivo */
    padding-right: 15px; /* Espaciado reducido */
    padding-top: 20px; /* Espaciado más compacto */
  }

  .diseno-services {
    display: flex;
    flex-direction: column; /* Apila los elementos en lugar de alinearlos horizontalmente */
    gap: 2rem; /* Espaciado reducido */
  }

  .right-column {
    gap: 1.5rem; /* Ajuste del espaciado entre columnas */
  }

		
 .service-item {
    display: flex;
    align-items: flex-start;
    gap: 2.5rem; /* Aumentar este valor para móviles también */
  }
  
  .check-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }
  
		
  .diseno-title {
    font-size: 28px; /* Se mantiene el tamaño original */
  }

  .diseno-description {
    font-size: 15px; /* Se mantiene el tamaño original */
    margin-bottom: 2rem; /* Ajuste para pantallas más pequeñas */
		line-height:1.3;
  }
		
.service-content {  /* Texto compacto */
	font-family:Anybody;
	font-size:15px;
	line-height:1.3;
}

  .salto-linea {
    padding-bottom: 20px; /* Espaciado ajustado */
  }
}


/* End Responsive slider */




/* Navegación interna suave */
html {
  scroll-behavior: smooth;
}

/* Ajuste de offset para el scroll (evita que el contenido quede detrás del header fijo) */
html {
  scroll-padding-top: 100px; /* Ajusta este valor según la altura de tu header fijo */
}

/* Manejo de :target para enlaces que apuntan a un id */
:target {
  scroll-margin-top: 100px; /* Ajusta este valor para controlar el punto exacto donde quieres que se detenga */
}


/* Color de fondo de menú mobile */

  .tombuild-menu-panel .menu-panel-wrap {
    background: #003478 !important;
  }

/* Tamaño capa de fondo de menú mobile */

.tombuild-menu-panel .menu-panel-wrap {
width:85%;
}


/* menú fijo */

.tombuild-header-fixed.fixed-show {
display:none;
}


/* menú tablet */

@media screen and (min-width: 1000px) and (max-width: 1400px) {
  /* Mostrar menú de escritorio */
  .elementor-element.elementor-hidden-tablet {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  /* Ocultar el menú mobile */
  .elementor-element.elementor-hidden-desktop {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Ocultar menú hamburguesa */
  .ci-menu,
  .hamburger-menu,
  .menu-toggle,
  .tombuild-menu-panel {
    display: none !important;
  }
}


@media screen and (min-width: 1000px) and (max-width: 1400px) {
  header,
  .elementor-container,
  .tombuild-menu,
  .tombuild-menu .menu,
  .tombuild-menu-wrap {
    max-width: 100% !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    justify-content: space-between !important;
  }

  .tombuild-menu .menu > li {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
}

  /* Ajustar bloques: Misión y Visión */

@media screen and (min-width: 1000px) and (max-width: 1400px) {
  /* Igualamos altura entre ambos bloques */
  .elementor-2375 .elementor-element.elementor-element-5a3408f .master-image-box .content-wrap,
  .elementor-2375 .elementor-element.elementor-element-d5f3b48 .master-image-box .content-wrap {
    height: 320px;
    overflow: hidden;
    box-sizing: border-box;
    padding: 30px 20px !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  /* Título más visible */
  .elementor-2375 .headline-2 {
    font-size: 18px; /* más grande y claro */
    line-height: 1.3;
    margin-bottom: 12px;
    word-break: break-word;
  }

  /* Texto con tamaño exacto de 15px */
  .elementor-2375 .desc,
  .elementor-2375 .desc p {
    font-size: 15px;
    line-height: 1.6;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    margin: 0;
    padding: 0;
    flex-grow: 1;
  }
}

/*  Responsive: formulario de contacto horizontal */

@media (max-width: 844px) {
  .wpcf7 {
    display: flex;
    justify-content: center;
  }

  .wpcf7-form.init {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}