/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.6.1772180448
Updated: 2026-02-27 08:20:48

*/

/* Global Variables */

:root {
	--color-accent-blue: #85D2DA;
	--color-accent-red: #C82DC3;
	--color-accent-violet: #807DFB;
	--color-text: #0A0E31;
	--color-bg-accent: #EDFEFF;
	
	--border-radius-l: 50px;
	--border-radius-m: 30px;
	--border-radius-s: 10px;
	
	--gradient-primary: linear-gradient(45deg,rgba(200, 45, 195, 1) 0%, rgba(128, 125, 251, 1) 100%);
	--gradient-primary-hover: linear-gradient(45deg,rgba(128, 125, 251, 1) 0%, rgba(200, 45, 195, 1) 100%);
	--gradient-secondary: linear-gradient(45deg,rgba(128, 125, 251, 1) 0%, rgba(133, 210, 218, 1) 100%);
	
	--box-shadow-primary: 0px 5px 10px 0px rgba(133, 210, 218, 0.5);
	--box-shadow-primary-hover: 0px 8px 8px 0px rgba(133, 210, 218, 0.8);
	
	--transition-duration: 0.3s;
}

/* Global styles */

a {
	transition-property: all;
	transition-duration: var(--transition-duration);
	
	&:active {
		transform: scale(1.05);
	}
}

p {
	&:last-child {
		margin-bottom: 0;
	}
}

/* Main menu */

#header-main-menu {
	ul.sub-menu {
        @media(width > 1024px) {
            padding-block: 20px;
			background: rgba(255,255,255, 0.95);
			backdrop-filter: blur(10px);
			border-radius: 20px;
			box-shadow: var(--box-shadow-primary);
        }
    }
	a.elementor-item {
		@media (width < 1060px) and (width > 1024px) {
			font-size: 15px;
		}
	}
    .sub-arrow {
        svg {
                    
            height: 10px;
            width: 10px;
            fill: var(--color-accent-red);
        }
    }
    .menu-item--btn {
        @media(width > 1090px) {
            display: flex;
			align-items: center;
			margin-left: 20px;
			}
        a {
            @media(width > 1090px) {
            padding: 15px 20px !important;
            color: #fff !important;
            background: var(--gradient-primary);
            background-size: 200% 100%;
            background-position: left;
            border: 1px solid #fff;
            border-radius: var(--border-radius-l);
            box-shadow: var(--box-shadow-primary);
        
            &:hover {
				background-size: 100%;
				background-position: right;
				text-shadow: 0.5px 0.5px 2px rgba(0,0,0,.2);
            }
       		}
       }
    }
}

nav.elementor-nav-menu--dropdown {
		background: transparent;
		
		.elementor-nav-menu {
			width: calc(100% - 60px);
			margin: 20px auto 10px auto;
			padding: 25px 0;
			border-radius: var(--border-radius-m);
			background: rgba(255,255,255, 0.95);
			backdrop-filter: blur(10px);
			border-radius: 20px;
			box-shadow: var(--box-shadow-primary);
		}
	}

/* Mobile submenu open */

@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown .sub-menu {
	  display: block !important;
	  height: auto !important;
	  opacity: 1 !important;
	  visibility: visible !important;
   }
}

/* Accent text */

h1,
h2,
h3,
h4,
h5,
h6 {
	.text-accent {
		color: var(--color-accent-red);
		&.text-accent--bold {
			font-weight: bold;
		}
	}
}

/* Custom button */

.custom-button {
	*.elementor-button {
		color: #fff !important;
		background: var(--gradient-primary);
		background-size: 200% 100%;
		background-position: left;
		box-shadow: var(--box-shadow-primary);
		
		&:hover {
			color: #fff;
			translate: 0 -2px;
			background-position: right;
			box-shadow: var(--box-shadow-primary-hover);
		}
	}
}
	
/* Custom link */

.has-custom-link > a {
	position: relative;
	display: inline-block;
	width: max-content;

	&:after {
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 0;
		height: 2px;
		background: var(--gradient-primary);
		transition: all 0.3s;
	}

	&:hover {
		&:after {
			width: 100%;
		}
	}
}

/* Section title */

.section-title {
	& > h1,
	& > h2,
	& > h3,
	& > h4 {
		position: relative;
		max-width: max-content;
		padding-bottom: 6px;
		
		&:after {
			content: '';
			position: absolute;
			bottom: -4px;
			left: 0;
			width: 200px;
			height: 2px;
			background: var(--gradient-primary);
			transition: all 0.3s;
		}
		
		@media(width < 768px) {
			& {
				margin-inline: auto;
				text-align: center;
			}
			&:after {
				left: 50%;
				translate: -50% 0;
			}
		}
	}
	&.section-title--centered {
		& > h2,
		& > h3 {
			margin-inline: auto;
			text-align: center;
			
			&:after {
				left: 50%;
				translate: -50% 0;
			}
		}
	}
	
	&.section-title--right {
		& > h2,
		& > h3 {
			margin-left: auto;
			text-align: right;
			
			&:after {
				left: auto;
				right: 0;
			}
		}
	}
}

/* Title with background */

.title-with-background {
	& > * {
		display: inline-block;
		max-width: max-content;
		background-color: var(--color-accent-red);
		background-image: var(--gradient-primary);
		-webkit-background-clip: text;
  		-webkit-text-fill-color: transparent;
	}
}

.carousel-processes {
/* 	.offset-right {
        margin-right: calc(var(--e-n-carousel-swiper-offset-size) * -1);
    } */
	
	&:after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;
		width: 100%;
		height: 0;
		border-bottom: 2px dashed var(--color-accent-blue);
	}
	
	.swiper {
		&.offset-right {
			&:before {
				content: '';
				position: absolute;
				right: 0;
				top: 0;
				bottom: 0;
				width: 100px;
				background-image: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, #f6feff 90%, #f6feff 100%);
				z-index: 2;
			}
		}
		
		.swiper-wrapper {
			padding-left: 80px;
			margin-left: -70px;
		
			.swiper-slide:not(:first-child) {
				& > div {			
					&::after {
						--icon-width: 35px;

						content: '';
						position: absolute;
						left: calc(var(--icon-width) * -1 / 2 + 12px);
						top: 50%;
						translate: 0 -50%;
						width: var(--icon-width);
						height: var(--icon-width);
						background: url("/wp-content/uploads/2026/03/arrow-right.svg") 50% 50% no-repeat;
					}
				}
			}
		}
	}
}

/* Accordion */

.e-n-accordion {
	summary + .elementor-element {
		background-color: #fff !important;
		border: 2px solid var(--color-accent-blue);
		border-radius: 30px;
		
		p {
			font-size: 15px;
		}
	}
}

/* Toggle text */

.tooggle-text-wrapper {
	.read-more .text {
	  display: -webkit-box;
	  -webkit-line-clamp: 3; 
	  -webkit-box-orient: vertical;
	  overflow: hidden;
	  position: relative;
	}

	.read-more[open] .text {
	  -webkit-line-clamp: unset;
	}

	.read-more summary {
		cursor: pointer;
		list-style: none;
		
		&::after {
			display: block;
			margin-block: 20px;
			color: var(--color-accent-red);
		}
	}

	.read-more summary::-webkit-details-marker {
	  display: none;
	}

	.read-more summary::after {
	  content: "Leer más";
	}

	.read-more[open] summary::after {
	  content: "Leer menos";
	}
	
	.read-more .text::after {
	  content: "";
	  position: absolute;
	  bottom: 0;
	  right: 0;
	  width: 100%;
	  height: 40px;
	  background: linear-gradient(transparent, white);
	}

	.read-more[open] .text::after {
	  display: none;
	}
}