.fila {
	width: 90%;
	max-width: 1350px;
/* 	border: 1px solid red; */
	margin: 0 auto;
}

.caso-det-banner-hero {
	min-height: 450px;
	background-color: #11316C;
	background-size: contain;
	background-position: 50vw center;
	background-repeat: no-repeat;
	padding: 80px 0 50px;
	
	& > .fila {
		& > .columna {
			& > .pre-titulo {
				color: #F5F4FF;
				font-size: 16px;
				font-weight: 700;
				line-height: 1;
				margin: 0 0 20px;
			}
			
			& > .titulo {
				color: #F5F4FF;
				font-size: 40px;
				font-weight: 700;
				line-height: 1.2;
				margin: 0 0 20px;
				max-width: 500px;
			}
			
			& > .descripcion {
				max-width: 460px;
				
				& > p {
					color: #FFFFFF;
					font-size: 20px;
					font-weight: 500;
					line-height: 1.2;
					margin: 0 0 30px;
				}
			}
			
			& > a.btn-cta {
				display: inline-block;
				background-color: #5386E4;
				color: #F5F4FF;
				font-size: 16px;
				font-weight: 700;
				line-height: 1;
				margin: 0;
				padding: 10px 16px;
				border-radius: 30px;
				transition: background-color 0.2s linear;
				
				&:hover {
					background-color: #1949A1;
				}
			}
		}
	}
}

@media screen and (max-width: 800px) {
	.caso-det-banner-hero {
		height: 788px;
		background-size: contain;
		background-position: top right;
		background-repeat: no-repeat;
		padding: 1px 0 50px;

		& > .fila {
			margin-top: 450px;
			
			& > .columna {
				& > .pre-titulo {
					display: block;
					color: #F5F4FF;
					font-size: 14px;
					font-weight: 700;
					line-height: 1;
					margin: 0 0 20px;
					text-align: center;
				}

				& > .titulo {
					color: #F5F4FF;
					text-align: center;
					font-size: 35px;
					font-weight: 700;
					line-height: 1.2;
					margin: 0 0 20px;
					max-width: 500px;
				}

				& > .descripcion {
					max-width: 460px;

					& > p {
						color: #FFFFFF;
						font-size: 16px;
						text-align: center;
						font-weight: 500;
						line-height: 1.2;
						margin: 0 0 30px;
					}
				}

				& > a.btn-cta {
					display: block;
					text-align: center;
					background-color: #5386E4;
					color: #F5F4FF;
					font-size: 16px;
					font-weight: 700;
					line-height: 1;
					margin: 0;
					padding: 10px 16px;
					border-radius: 30px;
					transition: background-color 0.2s linear;

					&:hover {
						background-color: #1949A1;
					}
				}
			}
		}
	}
}






.caso-det-el-reto {
	padding: 100px 0;
	
	& > .fila {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
		
		& > .columna {
			display: flex;
			align-items: center;
			
			& > .contenido {
				
				&.explicacion {
					width: 100%;
					
					& > .titulo {
						color: #5386E4;
						font-size: 35px;
						font-weight: 700;
						line-height: 1;
						margin: 0 0 25px;
						width: 80%;
					}
					
					& > .descripcion {
						width: 80%;
						max-width: 520px;
						
						& > p {
							color: #081836;
							font-size: 16px;
							font-weight: 500;
							line-height: 1.2;
							margin: 0;
							
							&:first-of-type {
								margin-bottom: 20px;
							}
						}
					}
				}
				
				&.respuesta {
					background-color: #5386E4;
					border-radius: 30px;
					padding: 60px 50px;
					width: 90%;
					max-width: 680px;
					margin: 0;
					margin-left: auto;
					
					& > p {
						color: #F5F4FF;
						font-size: 23px;
						font-weight: 700;
						line-height: 1.2;
						margin: 0;
					}
				}
			}
		}
	}
}


@media screen and (max-width: 800px) {
	.caso-det-el-reto {
		padding: 100px 0;

		& > .fila {
			display: grid;
			grid-template-columns: 1fr;
			gap: 20px;

			& > .columna {
				display: flex;
				align-items: center;

				& > .contenido {

					&.explicacion {
						width: 100%;

						& > .titulo {
							color: #5386E4;
							text-align: center;
							font-size: 30px;
							font-weight: 700;
							line-height: 1;
							margin: 0 0 25px;
							width: 100%;
						}

						& > .descripcion {
							width: 100%;
							max-width: initial;

							& > p {
								color: #081836;
								font-size: 14px;
								text-align: center;
								font-weight: 500;
								line-height: 1.2;
								margin: 0;

								&:first-of-type {
									margin-bottom: 20px;
								}
							}
						}
					}

					&.respuesta {
						background-color: #5386E4;
						border-radius: 30px;
						padding: 40px 20px;
						width: 100%;
						max-width: initial;
						margin: 0;

						& > p {
							color: #F5F4FF;
							font-size: 23px;
							text-align: center;
							font-weight: 700;
							line-height: 1.2;
							margin: 0;
						}
					}
				}
			}
		}
	}
}



.caso-det-solucion-implementada {
	padding: 50px 0;
	
	& > .fila {
		background: #DAE4F7;
		border-radius: 30px;
		display: grid;
		grid-template-columns: 1fr 600px;
		overflow: hidden;
		
		& > .columna {
			
			&.contenido {
				padding: 100px 50px 100px 120px;
				
				& > .titulo {
					color: #5386E4;
					font-size: 35px;
					font-weight: 700;
					line-height: 1;
					margin: 0 0 20px;
					width: 90%;
					max-width: 600px;
				}
				
				& > .descripcion {
					width: 90%;
					margin: 0;
					max-width: 600px;
					
					& > p {
						color: #5386E4;
						font-size: 16px;
						font-weight: 500px;
						line-height: 1.2;
						margin: 0 0 20px;
						
						&:last-of-type {
							margin: 0;
						}
					}
				}
			}
			
			&.imagen {
				& > img {
					width: 90%;
					max-width: 570px;
					height: 100%;
					display: block;
					margin: 0;
					margin-left: auto;
					object-fit: cover;
				}
			}
		}
	}
}

@media screen and (max-width: 800px) {
	.caso-det-solucion-implementada {
		padding: 50px 0;

		& > .fila {
			background: #DAE4F7;
			border-radius: 30px;
			display: grid;
			grid-template-columns: 1fr;
			overflow: hidden;

			& > .columna {

				&.contenido {
					order: 1;
					padding: 30px;

					& > .titulo {
						color: #5386E4;
						font-size: 30px;
						font-weight: 700;
						line-height: 1;
						margin: 0 0 20px;
						width: 100%;
						text-align: center;
						max-width: initial;
					}

					& > .descripcion {
						width: 100%;
						margin: 0;
						max-width: initial;

						& > p {
							color: #5386E4;
							font-size: 14px;
							font-weight: 500px;
							line-height: 1.2;
							margin: 0 0 20px;
							text-align: center;

							&:last-of-type {
								margin: 0;
							}
						}
					}
				}

				&.imagen {
					order: 0;
					
					& > img {
						width: 100%;
						height: initial;
						aspect-ratio: 1;
						display: block;
						margin: 0;
						margin-left: auto;
						object-fit: cover;
					}
				}
			}
		}
	}
}






.caso-det-como-trabajamos {
	padding: 50px 0;
	
	& > .fila {
		& > .columna {
			& > .titulo {
				color: #5386E4;
				font-size: 35px;
				font-weight: 700;
				line-height: 1;
				margin: 0 auto 40px;
				text-align: center;
				width: 80%;
			}
			
			&.contenido {
				& > .trabajamos-grid {
					display: grid;
					grid-template-columns: repeat(3, 1fr);
					gap: 20px;
					
					& > .trabajamos-item {
						background: #031D72;
						border-radius: 20px;
						padding: 35px 45px;
						
						& > img.imagen {
							display: block;
							width: 90%;
							max-width: 200px;
							aspect-ratio: 1;
							object-fit: cover;
							margin: 0 auto;
						}
						
						& > .titulo {
							color: #F5F4FF;
							font-size: 26px;
							font-weight: 700;
							line-height: 1.2;
							margin: 0 0 35px;
							text-align: center;
						}
						
						& .descripcion {
							
							& > p {
								color: #F5F4FF;
								font-size: 16px;
								font-weight: 500;
								line-height: 1.2;
								margin: 0;
								text-align: center;
							}
						}
					}
				}
			}
		}
	}
}


@media screen and (max-width: 800px) {
	.caso-det-como-trabajamos {
		padding: 50px 0;

		& > .fila {
			& > .columna {
				& > .titulo {
					color: #5386E4;
					font-size: 30px;
					font-weight: 700;
					line-height: 1;
					margin: 0 auto 40px;
					text-align: center;
					width: 100%;
				}

				&.contenido {
					& > .trabajamos-grid {
						display: grid;
						grid-template-columns: 1fr;
						gap: 20px;

						& > .trabajamos-item {
							background: #031D72;
							border-radius: 20px;
							padding: 35px 20px;

							& > img.imagen {
								display: block;
								width: 90%;
								max-width: 180px;
								aspect-ratio: 1;
								object-fit: cover;
								margin: 0 auto;
							}

							& > .titulo {
								color: #F5F4FF;
								font-size: 26px;
								font-weight: 700;
								line-height: 1.2;
								margin: 0 0 35px;
								text-align: center;
							}

							& .descripcion {

								& > p {
									color: #F5F4FF;
									font-size: 16px;
									font-weight: 500;
									line-height: 1.2;
									margin: 0;
									text-align: center;
								}
							}
						}
					}
				}
			}
		}
	}
}

.productos-section {
	background: #11316C;
	margin: 30px 0;
	padding: 50px 0;
	
	.title-section {
		color: #F5F4FF;
		text-align: center;
		font-size: 35px;
		font-weight: bold;
		line-height: 1;
		margin: 0 0 40px;
	}
	
	.ux-slider.ux-slider-default {
		width: 70%;
		margin: 0 auto;
	}
	
	.ux-slider-slide {
		max-width: calc(100% / 3);
		margin-right: 20px;
	}
	
	
	.contenido-real {
		margin-right: 30px;
		background: #DAE4F7;
		border-radius: 20px;
		padding: 20px !important;
		height: 350px;
		
		&>img {
			max-height: 200px;
			display: block;
			margin: 0 auto;
			border-radius: 20px;
		}
		
		&>.titulo-product-item{
			color: #1949A1;
			font-size: 25px;
			line-height: 1.2;
			font-weight: 700;
			margin: 0;
			text-align: center;
		}
		
		&>.categoria-padre {
			display: block;
			text-align: center;
			margin-top: 20px;
			margin-bottom: 10px;
			font-size: 16px;
			color: #414F55;
			font-weight: 400;
			line-height: 1;
		}
	}
}



@media screen and (max-width: 700px) {
	
	.productos-section {
		background: #11316C;
		margin: 30px 0;
		padding: 50px 0;

		.title-section {
			color: #F5F4FF;
			text-align: center;
			font-size: 35px;
			font-weight: bold;
			line-height: 1;
			margin: 0 0 40px;
		}

		.ux-slider.ux-slider-default {
			width: 90%;
			margin: 0 auto;
		}

		.ux-slider-slide {
			max-width: 100%;
			margin-right: 20px;
		}


		.contenido-real {
			margin-right: 0;
			margin: 0 20px;
			background: #DAE4F7;
			border-radius: 20px;
			padding: 20px !important;
			height: 350px;

			&>img {
				max-height: 200px;
				display: block;
				margin: 0 auto;
				border-radius: 20px;
			}

			&>.titulo-product-item{
				color: #1949A1;
				font-size: 25px;
				line-height: 1.2;
				font-weight: 700;
				margin: 0;
				text-align: center;
			}

			&>.categoria-padre {
				display: block;
				text-align: center;
				margin-top: 20px;
				margin-bottom: 10px;
				font-size: 16px;
				color: #414F55;
				font-weight: 400;
				line-height: 1;
			}
		}
	}
}





.caso-det-objetivos-alcanzados {
	padding: 50px 0;
	
	& > .fila {
		& > .columna {
			& > .titulo {
				color: #5386E4;
				font-size: 35px;
				font-weight: 700;
				line-height: 1;
				margin: 0 auto 40px;
				text-align: center;
				width: 80%;
			}
			
			&.contenido {
				& > .objetivos-grid {
					display: grid;
					grid-template-columns: repeat(3, 1fr);
					gap: 20px;
					
					& > .objetivo-item {
						background: #031D72;
						border-radius: 20px;
						padding: 35px 45px;
						
						& > img.imagen {
							display: block;
							width: 90%;
							max-width: 200px;
							aspect-ratio: 1;
							object-fit: cover;
							margin: 0 auto;
						}
						
						& > .titulo {
							color: #F5F4FF;
							font-size: 26px;
							font-weight: 700;
							line-height: 1.2;
							margin: 0 0 35px;
							text-align: center;
						}
						
						& .descripcion {
							
							& > p {
								color: #F5F4FF;
								font-size: 16px;
								font-weight: 500;
								line-height: 1.2;
								margin: 0;
								text-align: center;
							}
						}
					}
				}
			}
		}
	}
}



@media screen and (max-width: 800px)  {
	.caso-det-objetivos-alcanzados {
		padding: 50px 0;

		& > .fila {
			& > .columna {
				& > .titulo {
					color: #5386E4;
					font-size: 35px;
					font-weight: 700;
					line-height: 1;
					margin: 0 auto 40px;
					text-align: center;
					width: 80%;
				}

				&.contenido {
					& > .objetivos-grid {
						width: 90%;
						margin: 0 auto;
						display: grid;
						grid-template-columns: 1fr;
						gap: 20px;

						& > .objetivo-item {
							background: #031D72;
							border-radius: 20px;
							padding: 35px 45px;

							& > img.imagen {
								display: block;
								width: 90%;
								max-width: 200px;
								aspect-ratio: 1;
								object-fit: cover;
								margin: 0 auto;
							}

							& > .titulo {
								color: #F5F4FF;
								font-size: 26px;
								font-weight: 700;
								line-height: 1.2;
								margin: 0 0 35px;
								text-align: center;
							}

							& .descripcion {

								& > p {
									color: #F5F4FF;
									font-size: 16px;
									font-weight: 500;
									line-height: 1.2;
									margin: 0;
									text-align: center;
								}
							}
						}
					}
				}
			}
		}
	}
}


.caso-det-objetivos-alcanzados {
	& > .fila {
		& > .columna {
			padding: 10px;
			overflow-x: scroll;
		}
	}
	
	.testimonio-card {
		margin: 0 auto;
		width: 814px;
		background-color: #FFFFFF;
		box-shadow: 0px 4px 4px 0px #7676801F;
		overflow: hidden;
		position: relative;
		border-radius: 20px;
		height: 350px;
		padding: 30px;
		background-size: contain;
		background-position: right center;
		background-repeat: no-repeat;
	}

	/* Capa blanca */
	.testimonio-contenido {
		width: 50%;
		height: 100%;
		display: flex;
		flex-direction: column;
	}

	/* Texto */
	.texto-testimonio {
		
		& > p {
			font-size: 16px;
			color: #5386E4;
			margin: 0;
			line-height: 1.2;
		}
	}

	/* Footer */
	.footer-testimonio {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: auto;
	}

	/* Persona */
	.persona {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.foto-persona {
		width: 56px;
		height: 56px;
		border-radius: 50%;
		object-fit: cover;
	}

	.datos-persona strong {
		display: block;
		font-size: 16px;
		color: #081836;
	}

	.datos-persona span {
		font-size: 14px;
		color: #081836;
	}

	/* Estrellas */
	.rating {
		color: #4a6cf7;
		font-size: 18px;
		letter-spacing: 2px;
	}
}














.contacto-section {
	padding: 80px 0 20px;
	
	& > .formulario-wrapper {
		& > .wpcf7 {
			& > form.wpcf7-form {
				width: 80%;
				max-width: 970px;
				margin: 0 auto;
				background: #FFFFFF;
				border-radius: 20px;
				border: 1.5px solid #9DA4A7;
				padding: 60px;

				& > .cf7-titulo {
					background: #02134C;
					border-radius: 10px;
					color: #F5F4FF;
					font-size: 26px;
					line-height: 1;
					font-weight: 700;
					margin: 0 0 30px;
					padding: 15px;
					text-align: center;
				}

				& > .cf7-row {
					display: grid;
					grid-template-columns: repeat(2, 1fr);
					gap: 15px;
					margin-bottom: 15px;

					& > .cf7-col {
						& > p {
							& > .wpcf7-form-control-wrap {
								& > input {
									border: 1px solid #414F55;
									padding: 10px 16px;
									border-radius: 10px;

									color: #000000;
									font-size: 16px;
									font-weight: 400;
									line-height: 1;
									margin: 0;

									&:placeholder {
										color: #9DA4A7;
										font-size: 16px;
										font-weight: 400;
										line-height: 1;
										margin: 0;
									}
								}
							}
						}
					}
				}

				& > .cf7-politicas {
					& > p {
						.wpcf7-form-control  {
							margin: 20px 0;
							display: flex;
							justify-content: center;
							align-items: center;

							.wpcf7-list-item {

								& > label {
									& > .wpcf7-list-item-label {
										color: #11316C;
										font-size: 16px;
										font-weight: 400;
										line-height: 1;
										margin: 0;

										& > a {
											color: inherit;
											text-decoration: underline;
											line-height: 1;

											&:hover {
												color: #081836;
											}
										}
									}
								}
							}	
						}
					}
				}

				& > .cf7-boton {
					& > p {
						text-align: center;

						& > input.wpcf7-submit {
							text-transform: initial;
							padding: 10px 100px;
							line-height: 1;
							color: #F5F4FF;
							font-size: 16px;
							margin: 0 auto;
							border-radius: 30px;
							cursor: pointer;
						}
					}
				}
			}
		}
	}	
}



@media screen and (max-width: 950px) {
	.contacto-section {
		padding: 50px 0;
		
		& > .formulario-wrapper {
			& > .wpcf7 {
				& > form.wpcf7-form {
					width: 90%;
					max-width: 450px;
					padding: 20px 30px;

					& > .cf7-titulo {
						font-size: 20px;
					}

					& > .cf7-row {
						grid-template-columns: 1fr;
						gap: 20px;
						margin-bottom: 20px;

						& > .cf7-col {
							& > p {
								& > .wpcf7-form-control-wrap {
									& > input {
										font-size: 14px;

										&:placeholder {
											font-size: 14px;
										}
									}
								}
							}
						}
					}

					& > .cf7-politicas {
						& > p {
							.wpcf7-form-control  {
								margin: 30px 0;

								.wpcf7-list-item {
									margin: 0;

									& > label {
										text-align: center;

										& > .wpcf7-list-item-label {
											font-size: 14px;
										}
									}
								}	
							}
						}
					}

					& > .cf7-boton {
						& > p {
							display: flex;
							flex-direction: column;

							& > input.wpcf7-submit {
								padding: 10px 0;
								width: 100%;
								text-align: center;
							}
						}
					}
				}
			}
		}
	}
}
















