.fila {
	width: 90%;
	max-width: 1367px;
	margin: 0 auto;
}

/* Carrusel mobile - oculto por defecto */
.section-product-gallery-mobile {
	padding-bottom: 20px;
	background: #FFFFFF;
	display: none;
	
	.flickity-page-dots {
		.dot {
			border-color: #5386E4;
		}
		
		.dot.is-selected {
			background-color: #5386E4;
		}
	}
}

@media (max-width: 950px) {
	.section-product-gallery-mobile {
		display: block;
	}
}




.section-product-single-hero {
	background-color: #95B3EC;
	min-height: 450px;
	width: 100%;
	padding: 60px 0 50px;
	position: relative;
	
	&::after {
		clip-path: ellipse(50% 100% at 50% 50%);
		content: "";
		width: 50%;
		height: 100%;
		position: absolute;
		background: #FFFFFF;
		top: 0;
		right: 80px;
	}
	
	& > .imagen-banner-producto {
		position: absolute;
		height: 100%;
		width: 45%;
		background: #FFFFFF;
		top: 0;
		right: 0;
		z-index: 100;
		display: flex;
		align-items: center;
		
		& > img {
			display: block;
			height: 100%;
			max-height: 410px;
			aspect-ratio: 1 / 1;
			object-fit: cover;
		}
	}
	
	
	& > .fila {
		
		& > .columna {
			width: 50%;
			max-width: 536px;
			
			& > p.info {
				color: #1949A1;
				font-weight: 700;
				font-size: 16px;
				line-height: 1;
				margin: 0 0 20px;
			}
			
			& > p.titulo {
				color: #F5F4FF;
				font-weight: 700;
				font-size: 40px;
				line-height: 1.1;
				margin: 0 0 20px;
			}
			
			& > .descripcion {
				width: 90%;
				max-width: 463px;
				
				& > p {
					color: #FFFFFF;
					font-weight: 700;
					font-size: 16px;
					line-height: 1.2;
					margin: 0 0 20px;
					
					& > span {
						font-weight: 700 !important;
					}
				}
			}
			
			& > a.cta-boton {
				display: inline-block;
				color: #F5F4FF;
				font-weight: 700;
				font-size: 16px;
				line-height: 1;
				margin: 0;
				padding: 10px 16px;
				border-radius: 30px;
				background-color: #5386E4;
				transition: background-color 0.3s ease;
				
				&:hover {
					background-color: #1949A1;
				}
			}
		}
	}
}


.section-product-single-caracteristicas {
	padding: 50px 0;
	
	& > .fila {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 0;
		border-radius: 20px;
		overflow: hidden;
		background-color: #FFFFFF;
		
		& > .columna {
			
			&.carrusel {
				padding: 50px 0;
				
				& > .product-gallery.slider {
					& > .flickity-viewport {
						&>.flickity-slider {
							&>.gallery-item {
								background-color: #FFFFFF;
								&>img {
									display: block;
									margin: 0 auto;
									width: 90%;
									max-width: 450px;
									aspect-ratio: 1;
								}
							}
						}
					}
					
					& > .flickity-page-dots {
						bottom: -30px;
					}
				}
			}
			
			&.caracteristicas {
				height: 100%;
				background-color: #DAE4F7;
				padding: 50px;
				
				&>.titulo {
					font-size: 26px;
					color: #1949A1;
					font-weight: 700;
					line-height: 1;
					margin: 0 0 30px;
				}
				
				&>.lista {
					&>ul {
						margin: 0;
						padding-left: 20px;
						display: flex;
						flex-direction: column;
						gap: 20px;
						
						&>li {
							margin: 0;
							
							&::marker {
								color: #5386E4;
							}
							
							&>b {
								color: #081836 !important;
							}
							
							&>span {
								font-size: 16px;
								color: #081836;
								font-weight: 400 !important;
								line-height: 1;
							}
						}
					}
				}
			}
		}
	}
}


.section-product-single-ficha-marca {
	padding: 50px 0;
	
	& > .fila {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
		background-color: #FFFFFF;
		border-radius: 20px;
		overflow: hidden;
		padding: 60px 0;
		
		& > .columna {
			
			&>.titulo {
				color: #1949A1;
				font-size: 26px;
				font-weight: 700;
				line-height: 1;
				margin: 0 0 60px;
			}
			
			&.ficha-tecnica {
				width: 80%;
				max-width: 557px;
				margin: 0 0 0 auto;
				
				&>.titulo {
					text-align: center;
				}
				
				&>.atributos-producto {
					display: flex;
					flex-direction: column;
					gap: 20px;
					
					&>.item {
						display: grid;
						grid-template-columns: 1fr 1fr;
						gap: 0;
						place-items: center;
						min-height: 85px;
						
						/* Items impares */
						&:nth-child(odd) {
							background-color: #FFFFFF;
						}

						/* Items pares */
						&:nth-child(even) {
							background-color: #F5F4FF;
						}
						
						&>.clave {
							text-transform: initial;
							color: #000000;
							font-size: 18px;
							font-weight: 700;
							line-height: 1.1;
							margin: 0;
							text-align: center;
							padding: 0 20%;
							text-align: center;
						}
						
						&>.valor {
							padding: 0 10px;
							color: #081836;
							font-size: 16px;
							font-weight: 400;
							line-height: 1.1;
							margin: 0;
							text-align: center;
						}
					}
				}
			}
			
			&.marca {
				width: 65%;
				max-width: 437px;
				margin: 0 auto;
				
				& > .descripcion-marca {
					& > p {
						color: #02134C;
						font-size: 16px;
						font-weight: 400;
						line-height: 1.2;
						margin: 0;
					}
				}
			}
		}
	}	
}


.section-product-single-youtube {
	padding: 50px 0;
	
	& > .fila {
		max-width: 1200px;
		background: #081836;
		border-radius: 10px;
		padding: 50px;
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 20px;
		
		& > .columna {
			
			&.contenido {
				
				& > .titulo {
					width: 90%;
					max-width: 320px;
					color: #F5F4FF;
					font-size: 35px;
					font-weight: 700;
					line-height: 1;
					margin: 0 0 40px;
					
					& > span {
						color: #5386E4;
					}
				}
				
				& > .descripcion {
					width: 90%;
					max-width: 320px;
					
					& > p {
						color: #F5F4FF;
						font-size: 16px;
						font-weight: 400;
						line-height: 1;
						margin: 0;
					}
				}
			}
			
			&.video {
				background: #FFFFFF;
				border-radius: 20px;
				padding: 20px 25px;
				width: 90%;
				max-width: 750px;
				aspect-ratio: 16 / 9;
				margin-left: auto;
				
				& > .product-video {
					width: 100%;
					height: 100%;
				}
			}
		}
	}
}


.section-product-single-contacto {
	padding: 50px 0;
	
	& > .fila {
		
		& > .columna {
			& > .product-form {
				& > .wpcf7 {
					& > form.wpcf7-form {
						width: 80%;
						max-width: 970px;
						margin: 0 auto;
						background: #FFFFFF;
						border-radius: 20px;
						border: 1.5px solid #9DA4A7;
						padding: 40px 60px;
						
						& > .cf7-titulo {
							background: #CAD1E7;
							border-radius: 10px;
							color: #1949A1;
							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) {
	.section-product-single-contacto {
		padding: 50px 0;

		& > .fila {
			& > .columna {
				& > .product-form {
					& > .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;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}




@media (max-width: 800px) {
	.section-product-single-hero {
		background-color: #95B3EC;
		min-height: 350px;
		width: 100%;
		padding: 30px 0 20px;
		position: relative;
		display: flex;
		align-items: center;

		&::after {
			content: none;
		}

		& > .imagen-banner-producto {
			display: none;
		}


		& > .fila {

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

				& > p.info {
					text-align: center;
					font-size: 14px;
				}

				& > p.titulo {
					text-align: center;
					max-width: 550px;
					margin-left: auto;
					margin-right: auto;
					font-size: 30px;
				}

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

					& > p {
						text-align: center;
						max-width: 450px;
						margin-left: auto;
						margin-right: auto;
						font-size: 13px;
					}
				}

				& > a.cta-boton {
					text-align: center;
					width: 100%;
					max-width: 350px;
					display: block;
					margin-left: auto;
					margin-right: auto;
					font-size: 14px;
				}
			}
		}
	}
	
	
	.section-product-single-caracteristicas {
		padding: 50px 0;

		& > .fila {
			display: grid;
			grid-template-columns: 1fr;
			align-items: center;
			gap: 0;
			border-radius: 20px;
			background-color: transparent;

			& > .columna {

				&.carrusel {
					display: none;
				}

				&.caracteristicas {
					height: 100%;
					max-width: 450px;
					margin-left: auto;
					margin-right: auto;
					background-color: #DAE4F7;
					border-radius: 20px;
					padding: 35px;

					&>.titulo {
						font-size: 23px;
					}
				}
			}
		}
	}
	
	.section-product-single-ficha-marca {
		padding: 50px 0;

		& > .fila {
			display: grid;
			grid-template-columns: 1fr;
			gap: 0;
			background-color: #FFFFFF;
			border-radius: 20px;
			overflow: hidden;
			padding: 30px 0;
			max-width: 450px;

			& > .columna {

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

				&.ficha-tecnica {
					width: 100%;
					max-width: initial;
					margin: 0 auto;

					&>.titulo {
						text-align: center;
					}

					&>.atributos-producto {
						display: flex;
						flex-direction: column;
						gap: 20px;

						&>.item {
							display: grid;
							grid-template-columns: 1fr 1fr;
							gap: 0;
							place-items: center;
							min-height: 85px;
							padding: 10px 0;

							/* Items impares */
							&:nth-child(odd) {
								background-color: #FFFFFF;
							}

							/* Items pares */
							&:nth-child(even) {
								background-color: #F5F4FF;
							}

							&>.clave {
								text-transform: initial;
								color: #000000;
								font-size: 16px;
								font-weight: 700;
								line-height: 1.1;
								margin: 0;
								text-align: center;
								padding: 0 20%;
								text-align: center;
							}

							&>.valor {
								padding: 0 10px;
								color: #081836;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.1;
								margin: 0;
								text-align: center;
							}
						}
					}
				}

				&.marca {
					width: 100%;
					max-width: 300px;
					margin: 0 auto;
					padding: 80px 20px 10px;

					& > .descripcion-marca {
						& > p {
							color: #02134C;
							font-size: 14px;
							font-weight: 400;
							line-height: 1.2;
							margin: 0;
							text-align: center;
						}
					}
				}
			}
		}
	}
	
	
	.section-product-single-youtube {
		padding: 50px 0;

		& > .fila {
			max-width: 1200px;
			background: #081836;
			padding: 25px;
			display: grid;
			grid-template-columns: 1fr;
			gap: 40px;

			& > .columna {

				&.contenido {

					& > .titulo {
						width: 100%;
						max-width: initial;
						text-align: center;
						font-size: 25px;
						margin: 0 0 30px;

						& > span {
							color: #5386E4;
						}
					}

					& > .descripcion {
						width: 100%;
						max-width: 450px;
						margin-left: auto;
						margin-right: auto;

						& > p {
							color: #F5F4FF;
							font-size: 15px;
							font-weight: 400;
							line-height: 1.2;
							text-align: center;
						}
					}
				}

				&.video {
					background: #FFFFFF;
					border-radius: 20px;
					padding: 20px;
					width: 100%;
					max-width: 450px;
					margin: 0 auto;

					& > .product-video {
						width: 100%;
						height: 100%;
					}
				}
			}
		}
	}
}













