/* Normalize light-weight */
	*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}



	/* CSS Mobile */
	.cmplz-cookiebanner .cmplz-buttons {
	    flex-direction: row !important;
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner{
	    row-gap: 0px;
	    padding: 5px;		
	}

	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{
		padding: 5px;
		height: 30px;
		line-height: 10px;
	}

	/* Markdown tabs */
	.mk-tabs .tab-content {
	  display: none;
	  padding: 1em;
	}

	.mk-tabs .tab.active .tab-content {
	  display: block;
	}

	.mk-tabs .tab-header {
	  cursor: pointer;
	  padding: 10px 20px;
	  border-bottom: 1px solid #ddd;
	  font-weight: bold;
	}


	
	

	/* Markdown temario */

	.mk-temario .tab-content {
		display: none;
	}

	.mk-temario .tab.active .tab-content {
		display: block;
	}

	.mk-temario .tab-header {
		cursor: pointer;
		padding: 0.5em;
		background: #eee;
		margin-bottom: 2px;
	}

	.mk-temario .tab.active .tab-header {
		font-weight: bold;
	}


	/* Markdown List */
	.mk-list ul{
	  list-style: none;
	  margin: 0;
	  padding: 0;
	}

	.mk-list li {
	}

	.mk-list li:last-child {
	}

	.mk-list li strong {
	  font-weight: 600;
	}

	.valoracion-wrap svg{
		padding: 1px 0px 0px 1px;
	}

	/* ABRIR al hacer clic (usamos checkbox hack a continuación con JS si se quiere) */
	.mk-tab li.active .tab-content {
	  display: block;
	}

	@keyframes fadeIn {
	  from { opacity: 0; }
	  to { opacity: 1; }
	}


	/* Labels */

	.gform_body .gfield {
		position: relative;
	}

	.gform_wrapper .gform_body .gfield:not(.es_legal) .gform-field-label{
		position: absolute;
		top: -12px;
		z-index: 1;
		background: white;
		padding: 0px 5px;
		border-radius: 5px;
		left: 7px;	
		font-size: 12px;
		color: #828899;
	}


	.gform_wrapper .gform_body .es_legal .gform-field-label{
		background: none;
		font-size: 12px;
	}

	.gform-span-legal{
		font-size: 12px;
		display: block;
		color: #555555;
		margin: -10px 0px -10px 0px;
	}

	/* Menu horizontal */
	#sticky-menu-follow .e-n-menu-heading {
	  overflow-x: auto;
	  display: flex;
	  scroll-behavior: smooth;
	  -webkit-overflow-scrolling: touch;
	  scrollbar-width: none;
	  -ms-overflow-style: none;
	}

	#sticky-menu-follow .e-n-menu-heading::-webkit-scrollbar {
	  display: none;
	}

	#sticky-menu-follow .e-n-menu-item {
	  flex: 0 0 auto;
	}

	#sticky-menu-follow .e-n-menu-title-container.active {
	  font-weight: bold;
	  color: var(--clr-2);
	  border-bottom: 2px solid var(--clr-2);
	}

	.elementor-widget-n-menu .e-n-menu-title.e-current, .elementor-widget-n-menu .e-n-menu-title.e-current a{
		color: inherit !important;	
	}


	/* Validaciones */
	.gform_fields .gfield .gfield_validation_message {
		margin-left: 15px;
		margin-bottom: 15px;
		position: absolute;
		right: 0;
		background: #fff0f0;
		padding: 5px;
		z-index: 1;
		color: red;
		top: -21px;
		right: 10px;
		border-radius: 5px;
		font-size: 10px;
	}

	/* SPF remove error */
	.iti__tel-input.error{
		border: 1px solid #eaeaea !important;
	}

	.spf-phone{
		display: none !important;
	}

	/* ✔️ Mostrar icono check solo si el campo ha pasado validación Y tiene foco antes */
	.gform_wrapper .gfield:not(.es_legal) input[aria-invalid="false"]:not(:placeholder-shown):not(:focus):not([value=""]){
	  background-image: url("data:image/svg+xml,%3Csvg fill='green' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.292 5.708a1 1 0 010 1.414L9.414 18 3.707 12.293a1 1 0 011.414-1.414l4.293 4.293L18.878 5.708a1 1 0 011.414 0z'/%3E%3C/svg%3E");
	  background-repeat: no-repeat;
	  background-position: right 0.75em center;
	  background-size: 1.2em 1.2em;
	  padding-right: 2.5em;
	}
	
	/* Mostrar icono si el select tiene un valor seleccionado distinto de vacío */
	.gform_wrapper .gfield select[aria-invalid="false"]:not(:focus) option:checked:not([value=""])::after {
	  content: '';
	}

	/* Esto realmente no aplica background al option, sino que nos permite usar JS si queremos */

	.gform_wrapper .gfield select[aria-invalid="false"]:not(:focus):has(option:checked:not([value=""])) {
	  background-image: url("data:image/svg+xml,%3Csvg fill='green' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.292 5.708a1 1 0 010 1.414L9.414 18 3.707 12.293a1 1 0 011.414-1.414l4.293 4.293L18.878 5.708a1 1 0 011.414 0z'/%3E%3C/svg%3E");
	  background-repeat: no-repeat;
	  background-position: right 0.75em center;
	  background-size: 1.2em 1.2em;
	  padding-right: 2.5em;
	}

	/* Ocultar si es inválido o sigue con el valor vacío */
	.gform_wrapper .gfield select[aria-invalid="true"],
	.gform_wrapper .gfield select:has(option:checked[value=""]) {
	  background-image: none !important;
	}


	/* Quitar icono si hay error */
	.gform_wrapper .gfield input[aria-invalid="true"]{
	  background-image: none !important;
	}


	/* Gform */

	.pcafe_sp_field .iti__selected-flag{
		z-index: 0;
		background: transparent !important;
		font-size: 12px;
		padding-right: 0px;
		margin-right: 0px;
	}

    .gform-theme--foundation .gform_fields {
         grid-column-gap: 20px;
		 column-gap: 20px !important;
    }

    .gform-theme--foundation .gfield--width-half {
        grid-column: span 6 !important;
		row-gap: 20px;
    }

	.gform-theme--foundation .gf_wide{
        grid-column: span 12 !important;

	}


	.gform_wrapper.gravity-theme label{
		font-size: 14px;
		font-weight: 500;
	}

	/*
	 * Para uys
	.gform_wrapper.gravity-theme .validation_message {
		padding: 0;
		position: relative;
		top: -15px;
		margin: 5px;
		width: auto;
		color: #c02b0a;
		font-size: 12px;
		border-radius: 5px;
		width: auto;
		display: inline-block;
		padding: 4px;
		border: solid 1px #fff;
	}*/

	.gform-theme--foundation .gform_body .gform_fields {
		row-gap: 30px;
	}

	.gform_fields .gfield .gfield_validation_message {
		margin-left: 15px;
		margin-bottom: 0px; 
		position: relative;
		right: 0;
		background: transparent;
		padding: 5px;
		z-index: 1;
		color: red;
		right: 8px;
		border-radius: 5px;
		font-size: 10px;
		top: -10px;
	}		

	.gfield--input-type-consent .validation_message{
	  display: none !important;
	}


	/* CTA */
	.gform-footer .gform_button {
		width: 100%;
		display: flex;
		flex-grow: 1;
		border-radius: 50px !important;
		font-size: 16px !important;
		padding: 15px 10px !important;
		font-weight: 600 !important;
	}

	/* CTA FLOAT */
	.cta {
		position: relative;
		cursor: pointer;
		padding: 0px;
		margin: 0 auto;
		width: 90%;		
		border-radius: 100px !important;			
	}

	.cta-desktop {
		position: relative;
		cursor: pointer;
		padding: 0;
		margin: 0;		
		border-radius: 100px !important;			
	}


	.cta a:hover{
	}

	.cta a, .cta-desktop a{
		position: abolute;
		border-radius: 100px !important;	
	}

	.cta a::after,
	.cta a::before,
	.cta-desktop a::after,
	.cta-desktop a::before{
		content: " ";
		position: absolute;
		z-index: -1;
		inset: -0.05rem;
		border-radius: inherit;
	}

	@keyframes rotate {
		0% {
			--gradient-angle: 0deg;
		}
		100% {
			--gradient-angle: 360deg;
		}
	}

	/* Nones */

	.gform_wrapper .gform_validation_errors, .gform_wrapper .gform_heading{
		display: none !important;
	}

	/* Gform */



	.gform_wrapper .gfield--type-name .ginput_container--name,
	.gform_wrapper .gfield--type-text .ginput_container,
	.gform_wrapper .gfield--type-email .ginput_container,
	.gform_wrapper .gfield--type-phone .ginput_container {
		position: relative !important;
	}

	.gfield_description.instruction {
	  display: none !important;
	}

	.gfield--type-address .address_line_2,
	.gfield--type-address .address_city,
	.gfield--type-address .address_state,  
	.gfield--type-address .address_zip,
	.gfield--type-address .address_country{
		display: none !important;
	}

	.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before{
	  background:  var(--e-global-color-3f9de96);
	  border: 2px solid  var(--e-global-color-3f9de96);  
	}


	.address_line_1  .widget-container{
	  border: 1px solid #e6e9ec !important;
	}

	 .fm .gform-page-footer {
	  display: flex;
	  flex-direction: column;
	}

	 .gform-page-footer{
	  margin-bottom: 0px;
	  padding-bottom: 0px !important;
	}

	 .fm .gform-page-footer .gform_previous_button {
	  order: 2;
	  background: transparent !important;
	  font-size: 18px !important;
	  color: #cfd3d9 !important;
	  padding: 0px;
	  margin: 20px 0px !important;
	}
	 .fm-end .gform-page-footer .gform_button{
	  margin: 0px !important; 
	  border-radius: 50px !important;
	  background: #4EC623 !important;
	}
	 .fm-end .gform-page-footer .gform_previous_button:hover {
	  color: var(--e-global-color-3f9de96) !important;
	}

	 .fm .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button,
	 .fm .gform_wrapper.gravity-theme .gform_page_footer .gform_button {
	  border: 0px;
	  color: #fff;
	  font-size: 22px;
	  border-radius: 50px;
	  background: linear-gradient(30deg, rgba(78, 198, 35, 1) 0%, rgba(107, 227, 183, 1) 100%);
	  margin: 0px auto !important;
	  width: 150px;
	}

	 .fm .gform_wrapper.gravity-theme .gform_page_footer .gform_button{
		width: 100%;	
	}

	 .fm .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button:hover,
	 .fm .gform_wrapper.gravity-theme .gform_page_footer .gform_button:hover {
		background: #008ca8;
	}

	 .fm .gform_button:hover {
	  background: #0092A8 !important;
	}

	 .fm .gform_previous_button:hover{
		color: #0092A8 !important;
	}

	 .fm .gform-page-footer .gform-theme-button {
	  border: 0px;
	  background-color: #4EC623;
	  color: #fff;
	  border-radius: 100px;
	  font-size: 16px;
	  width: 100%;
	  margin: 0px auto;
	  line-height: 1 !important;
	}

	 .fm .gform-page-footer .gform-theme-button:hover {
	  background-color: #9cd790;
	  color: #fff;
	}

	 .fm .step-alone .gform-page-footer .gform-theme-button {
	  display: none;
	}



	/* Spinner para GF 2.9 */
	.gform_wrapper form[data-active-form="true"] .gform-loader{
		display: none !important;
	}

	.gform_wrapper form[data-active-form="true"] {
		opacity: 0.5; /* Reduce la opacidad */
		pointer-events: none; /* Deshabilitar la interacción con el formulario */
	}

	.gform_wrapper form[data-active-form="true"]:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 150px; /* Tamaño del spinner */
		height: 150px; /* Tamaño del spinner */
		border: 4px solid rgba(255, 255, 255, 0.3);
		border-top-color: #000;
		border-radius: 50%;
		animation: spinloader 1s linear infinite;
		z-index: 11; /* Encima del overlay */
		transform-origin: center; /* Asegurar que el giro es alrededor del centro */
	}

	@keyframes spinloader {
		from {
			transform: translate(-50%, -50%) rotate(0deg); /* Ajustar transform completo */
			position: absolute;
		}
		to {
			transform: translate(-50%, -50%) rotate(360deg); /* Mantener el centro */
			position: absolute;		
		}
	}

	/* CSS Desktop */
	@media (min-width: 768px) {

		.gform_wrapper .gform_body .gfield:not(.es_legal) .gform-field-label{
			top: -12px;
			font-size: 14px;
		}

		.gform-span-legal{
			font-size: 12px;
			display: block;
			color: #555555;
			margin: 0px 0px 0px 0px;
		}
		
		.gform-span-legal  {
			margin: -20px 0px;
			display: block;
		}

		.gform-theme--foundation .gf_wide{
			grid-column: span 6 !important;

		}
		
		html h2{
			font-size: 24px;
			line-height: 30px;
			letter-spacing: -1.3px;
		}

		#cmplz-cookiebanner-container .cmplz-cookiebanner{
		    row-gap: 5px;
		    padding: 15px;		
		}
		
	}