/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* GENERALES */
.accent {
	color: var( --e-global-color-accent );
}

/* MENU */


.header_asesores .menu_mov_header_asesores .elementor-nav-menu .menu-item-1984 a{
	position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--e-global-color-accent) !important;
    border-radius: 30px;
    padding: 8px 20px!important;
    border: none;
    z-index: 1;
	font-family: "Urbanist", Sans-serif!important;
    font-size: 16px!important;
    font-weight: 600!important;
    line-height: 26px!important;
	padding:8px 20px!important;
	margin:0px!important;
	color: #ffffff !important;
}
.header_asesores .menu_mov_header_asesores .elementor-nav-menu .menu-item-1984{
	display:none;
}
.header_asesores .menu_mov_header_asesores .elementor-nav-menu .menu-item-1984 a:before{
	content: "";
    position: absolute;
    top: 50%;
    left: 6px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}
.header_asesores .menu_mov_header_asesores .elementor-nav-menu .menu-item-1984 a:hover:before{
	width: calc(100% - 12px);
}

/* HOME */

.grid_tarjetas_home .grid_col_tarjetas_home:hover > .elementor-element h4.elementor-heading-title{
	color: var(--e-global-color-6ac63bb);;	
}



/* BOTONES */
/* ------------------------------------------------
   BOTÓN LIGHT - EFECTO INTERIOR CON BORDE VISIBLE
------------------------------------------------ */
.btn-dark .elementor-button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--e-global-color-accent) !important;
    border-radius: 30px;
    padding: 8px 20px;
    color: #ffffff !important;
    border: none;
    z-index: 1;
}

/* Mantener texto por encima */
.btn-dark .elementor-button span {
    position: relative;
    z-index: 2;
}

/* Capa animada interior */
.btn-dark .elementor-button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 6px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

/* Hover: expansión controlada dejando borde visible */
.btn-dark .elementor-button:hover::before {
    width: calc(100% - 12px); /* Mantiene 6px de borde a cada lado */
    /* background-color: #4B6473; */
}



/* ------------------------------------------------
   BOTÓN LIGHT - EFECTO INTERIOR CON BORDE VISIBLE
------------------------------------------------ */

.btn-light .elementor-button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--e-global-color-6ac63bb) !important;
    border-radius: 30px;
    padding: 8px 20px;
    color: var(--e-global-color-secondary) !important;
    border: none;
    z-index: 1;
}

/* Mantener texto por encima */
.btn-light .elementor-button span {
    position: relative;
    z-index: 2;
}

/* Capa animada interior */
.btn-light .elementor-button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 6px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background-color: rgba(223, 228, 230, 0.75);
    border-radius: 30px;
    transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

/* Hover: expansión controlada dejando borde visible */
.btn-light .elementor-button:hover::before {
    width: calc(100% - 12px); /* Mantiene 6px de borde a cada lado */
    background-color: #dfe4e6;
}


/* CHECKBOX FORMULARIO */
/* Contenedor del checkbox + texto */
label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}

/* Checkbox personalizado */
input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 18px;
	height: 18px;
	border: 2px solid #ccc;
	border-radius: 4px;
	cursor: pointer;
	position: relative;
	transition: all 0.2s ease;
	display: inline-block;
	vertical-align: middle;
}

/* Hover */
input[type="checkbox"]:hover {
	border-color: var(--e-global-color-accent);
}

/* Marcado */
input[type="checkbox"]:checked {
	background-color: var(--e-global-color-accent);
	border-color: var(--e-global-color-accent);
}

/* Check interno */
input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 6px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* COOKIES */

.secc_cookies .cookies #cmplz-document{
	width:100%;
	max-width:100%;
}


/******* MEDIAS QUERYS *********/

@media(max-width:1024px){
	.header_asesores .menu_mov_header_asesores .elementor-nav-menu .menu-item-1984{
		display:flex;
		flex-direction:row;
		justify-content:center;
		align-items:center;
		padding:10px 20px;
	}
}

@media(max-width:912px) and (min-width:767px){
	.cabecera_hero{
		min-height:64vh;
	}
	.hero_nosotros{
		min-height:30vh;
	}
	.single-post .hero_nosotros{
		min-height:50vh;
	}
}
@media(max-width:430px){
	.elementor-2 .elementor-element.elementor-element-2d436ff.cabecera_hero:before{
		background-position:116% 100%;
	}
	.single-post .hero_nosotros{
		min-height:78vh;
	}
}
@media(max-width:390px){
	.elementor-2 .elementor-element.elementor-element-2d436ff.cabecera_hero:before{
		background-position:95% 100%;
	}
	.elementor-637 .txt_mov.elementor-element h2.elementor-heading-title{
		font-size:44px;
	}
}
@media(max-width:375px){
	.elementor-358 .txt_mov.elementor-element h2.elementor-heading-title{
		font-size:44px;
	}
	.single-post .hero_nosotros{
		min-height:110vh;
	}
}
@media(max-width:360px){
	.elementor-2 .elementor-element.elementor-element-2d436ff.cabecera_hero:before{
		background-position:83% 100%;
	}
	.elementor-637 .txt_mov.elementor-element h2.elementor-heading-title{
		font-size:42px;
	}
	.single-post .hero_nosotros{
		min-height:100vh;
	}
}
@media(max-width:344px){
	.elementor-358 .txt_mov.elementor-element h2.elementor-heading-title{
		font-size:42px;
	}
	.single-post .hero_nosotros{
		min-height:90vh;
	}
}