/* Mejora ux para lectura */
h1, h2, h3, h4, h5, h6, p, a, span, div {
	text-wrap: pretty;
}

/* Color diferente para el item menú "Formaciones" */
nav.elementor-nav-menu--main .menu-item-1286 > a {
	color: #01F1FE !important;
}

.enfasis-white {
	color: #FFFFFF;
	
	&.cursiva {
		font-style: italic;
	}
}

.text-resaltado {
	color: #01F1FE;
}

.text-resaltado-purple {
	color: #D654A2;
}

.scaling-transition {
	transition: transform 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
	will-change: transform;
}

.scaling-transition:hover {
	transform: scale(1.03);
}

/* Transición de iconos en los botones */
.btn-chevron {
	position: relative;
	
	span .elementor-button-icon {
		transform: translateX(-15px);
		visibility: hidden;
		opacity: 0;
		transition: all .2s ease;
	}
	
	&:hover span .elementor-button-icon {
		transform: translateX(0);
		visibility: visible;
		opacity: 1;
	}
}

.animation-slowmotion {
	animation: float 6s cubic-bezier(0.37, 0, 0.63, 1) infinite;
	will-change: transform;
}

@keyframes float {
	0% {
		transform: translateY(0px);
	}
	25% {
		transform: translateY(6px);
	}
	50% {
		transform: translateY(10px);
	}
	75% {
		transform: translateY(6px);
	}
	100% {
		transform: translateY(0px);
	}
}

.diagonal-float {
	animation: diagonalFloat 9s cubic-bezier(0.37, 0, 0.63, 1) infinite;
	filter: brightness(0.75);
	will-change: transform;
}

@keyframes diagonalFloat {
	0% {
		transform: translate(0px, 0px) rotate(-2deg);
	}
	25% {
		transform: translate(6px, 8px) rotate(-1deg);
	}
	50% {
		transform: translate(12px, 16px) rotate(0deg);
	}
	75% {
		transform: translate(6px, 8px) rotate(-1deg);
	}
	100% {
		transform: translate(0px, 0px) rotate(-2deg);
	}
}

/* CONTENEDOR GENERAL */
.wpcf7 form.wpcf7-form .wpb-cf7-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}

/* COLUMNAS */
.wpcf7 form.wpcf7-form .wpb-cf7-grid .wpb-col {
  flex: 1 1 calc((100% - 30px)/2);
  max-width: calc((100% - 30px)/2);
  box-sizing: border-box;
}

.wpcf7 form.wpcf7-form .wpb-cf7-grid .full {
  flex: 1 1 100%;
  max-width: 100%;
}

/* LABELS estilo minimal */
.wpb-col label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  color: #b9b9d1;
  margin-bottom: 8px;
	
	> span input,
	> span select,
	> span textarea {
		margin-top: 10px;
	}
}

/* INPUTS Y TEXTAREA */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  background: #1C152D; /* fondo oscuro profundo */
  border: 1px solid #362A46;
  border-radius: 12px;
  padding: 16px 20px;
  color: #ffffff;
  font-size: 15px;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

/* PLACEHOLDERS */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(255,255,255,0.5);
  font-weight: 500;
}

/* FOCUS EFFECT */
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  outline: none;
  border-color: #8b5cf6;
  box-shadow: 0 0 0 2px rgba(139,92,246,0.3);
}

/* TEXTAREA */
.wpcf7 textarea {
  min-height: 140px;
  resize: none;
  field-sizing: content;
}

/* BOTÓN tipo pill */
.wpcf7 input[type="submit"] {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #ffffff;
  border: none;
  padding: 14px 40px;
  border-radius: 40px;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-block;
}

/* Hover botón */
.wpcf7 input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(124,58,237,0.4);
}

/* MOBILE */
@media (max-width: 768px) {
  .wpcf7 form.wpcf7-form .wpb-cf7-grid .wpb-col {
    flex-basis: 100%;
    max-width: 100%;
  }
}