/* 
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.0
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 */
#main-header {
	--menu-arrow-icon: url("/wp-content/uploads/2026/05/arrow-1.svg");
	position: relative !important; 
}

#main-header .elementor-nav-menu > li > a.elementor-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: 10px;
	row-gap: 12px;
	width: 100%;
	padding: 12px 0 20px;
	line-height: 1.1;
}

#main-header .elementor-nav-menu a.elementor-item::after,
#main-header .elementor-nav-menu a.elementor-sub-item::after {
	content: "";
	display: inline-block;
	position: static;
	width: 18px;
	height: 18px;
	margin-left: 2px;
	flex: 0 0 18px;
	background-image: var(--menu-arrow-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 1;
	transform: rotate(0deg);
	transform-origin: center;
	transition: transform 0.25s ease;
	border: 0;
	background-color: transparent !important;
	order: 1;
}

#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item .dfd-menu-featured-image {
	display: block;
	order: 2;
	flex: 0 0 100%;
	width: 100%;
	height: 70px;
	margin-top: 2px;
	border-radius: 8px;
	overflow: hidden;
}

#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item .dfd-menu-featured-image img {
	display: block;
	width: 200px;
	height: 60px;
	object-fit: contain; 
	object-position: center;
	border-radius: 8px; 
}

#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item .dfd-menu-featured-image.ele-395 img,
#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item .dfd-menu-featured-image.ele-397 img{
	object-fit: cover;
}

#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item .dfd-menu-featured-image:nth-of-type(2) img{
	object-fit: contain;
}

#main-header .elementor-nav-menu a.elementor-item:hover::after,
#main-header .elementor-nav-menu a.elementor-item:focus::after,
/* #main-header .elementor-nav-menu a.elementor-sub-item:hover::after,
#main-header .elementor-nav-menu a.elementor-sub-item:focus::after,
#main-header .elementor-nav-menu a.elementor-item.elementor-item-active::after,
#main-header .elementor-nav-menu a.elementor-sub-item.elementor-item-active::after, */
#main-header .elementor-nav-menu a[aria-expanded="true"]::after,
#main-header .elementor-nav-menu a.highlighted::after,
#main-header .elementor-nav-menu li.current-menu-item > a::after,
#main-header .elementor-nav-menu li.current-menu-ancestor > a::after,
#main-header .elementor-nav-menu li.current-menu-parent > a::after,
#main-header .elementor-nav-menu li.current_page_item > a::after {
	transform: rotate(-90deg);
}

#main-header .elementor-nav-menu .sub-menu > li:not(:last-child) {
	border-bottom: 1px solid rgba(0, 0, 0, 0.45);
}

#main-header .elementor-nav-menu--main .sub-menu {
	padding: 0 18px 0px 12px;
	min-width: 230px;
}

#main-header .sub-arrow {
	display: none !important;
}

#main-header .menu-item-399 > a.elementor-item,
#main-header .menu-item-399 > a.elementor-item *,
#main-header .menu-item-593 > a.elementor-item,
#main-header .menu-item-593 > a.elementor-item * {
    cursor: default !important;
    user-select: none;
}

.elementor-button:has(.elementor-button-icon svg) {
	--arrow-rotate: 90deg;
	--arrow-rotate-hover: 0deg;
}

.elementor-button:has(.elementor-button-icon svg) .elementor-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.elementor-button:has(.elementor-button-icon svg) .elementor-button-icon svg {
	display: block;
}

.elementor-element:not(.not-rotate) > .elementor-button:has(.elementor-button-icon svg) .elementor-button-icon svg {
	transform-origin: center;
	transform: rotate(var(--arrow-rotate));
	transition: transform .25s ease;
}

.elementor-element:not(.not-rotate) > .elementor-button:has(.elementor-button-icon svg):hover .elementor-button-icon svg {
	transform: rotate(var(--arrow-rotate-hover));
}

.elementor-element.not-rotate > .elementor-button:has(.elementor-button-icon svg) .elementor-button-icon svg {
	transform: rotate(var(--arrow-rotate));
}

.elementor-element.current-arrow > .elementor-button:has(.elementor-button-icon svg) .elementor-button-icon svg {
	transform: rotate(var(--arrow-rotate-hover));
}

.btns-area .elementor-button.is-active {
	--arrow-rotate: 0deg;
	--arrow-rotate-hover: 0deg;
}

.btns-area .elementor-button.is-inactive {
	--arrow-rotate: 90deg;
	--arrow-rotate-hover: 0deg;
}

.hero-title-arrow .elementor-heading-title::after {
	content: "";
	display: inline-block;
	width: 85px;
	height: 85px;
	margin-left: 20px;
	background: url("/wp-content/uploads/2026/05/yellow-arrow.svg") center / contain no-repeat;
	margin-top: -40px;
}

#home-carrusel {
	width: 100%;
	position: relative;
	overflow: hidden;
	--carousel-gap: 40px;
	--carousel-speed: 500ms;
}

#home-carrusel .elementor-main-swiper,
#home-carrusel .swiper {
	width: 100%;
	overflow: hidden;
	position: relative;
}

#home-carrusel .swiper-wrapper {
	display: flex !important;
	transition: transform var(--carousel-speed) ease;
	cursor: default !important;
	will-change: transform;
}

#home-carrusel .swiper-slide {
	margin: 0 !important;
	flex: 0 0 auto !important;
	transform: none !important;
	opacity: 1 !important;
}

#home-carrusel .swiper-slide-duplicate {
	display: none !important;
}

#home-carrusel .elementor-carousel-image {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	border-radius: 18px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}


.marcas-hover,
.marcas-hover > .e-con-inner {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	width: 100%;
}

.marcas-hover .marca-card {
	position: relative;
	flex: 1 1 0;
	height: 80px;
	min-height: 80px;
	padding: 15px 70px 15px 15px !important;
	background: #dedede;
	border-radius: 14px;
	overflow: hidden;
	cursor: pointer;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	transition:
		height 0.45s ease,
		background-color 0.3s ease;
}

.marcas-hover .marca-card:hover {
	height: 550px;
}

.marcas-hover .marca-card::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 15px;
	width: 40px;
	height: 40px;
	background: url("/wp-content/uploads/2026/05/yellow-arrow.svg") center / contain no-repeat;
	pointer-events: none;
	transform: rotate(90deg);
	transform-origin: center;
	transition:
		top 0.45s ease,
		right 0.45s ease,
		bottom 0.45s ease,
		transform 0.45s ease;
}

.marcas-hover .marca-card:hover::after {
	top: auto;
	right: 28px;
	bottom: 28px;
	transform: rotate(0deg);
}

.marcas-hover .marca-card .elementor-widget-heading,
.marcas-hover .marca-card .elementor-widget-text-editor {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	margin-top: 10px !important;
}

.marcas-hover .marca-card .elementor-heading-title {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	text-transform: uppercase;
	font-size: clamp(36px, 3.2vw, 52px);
	line-height: 1;
	letter-spacing: 0.12em;
	font-weight: 500;
	color: #000;
}

.marcas-hover .marca-text {
	width: 100% !important;
	max-width: 330px !important;
	margin-top: 28px !important;
	padding: 0 !important;
	text-align: left !important;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(10px);
	transition:
		opacity 0.35s ease,
		transform 0.35s ease,
		max-height 0.45s ease;
}

.marcas-hover .marca-card:hover .marca-text {
	max-height: 450px;
	opacity: 1;
	transform: translateY(0);
}

.marcas-hover .marca-text,
.marcas-hover .marca-text p {
	font-size: 19px !important;
	line-height: 1.42 !important;
	letter-spacing: 0.02em;
	font-weight: 400 !important;
	color: #000 !important;
	text-align: left !important;
	margin: 0 !important;
	padding: 0 !important;
	margin-top: 20px !important;
}


/* #carrusel-historia {
	--historia-visible-width: 1190px;
	--historia-gap: 42px;
	--historia-arrow-size: 24px;
	--historia-arrow-offset: 9px;

	display: block !important;
	width: min(var(--historia-visible-width), calc(100vw - 24px)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: calc(50% - 50vw) !important;
	overflow: hidden;
	align-self: flex-end;
}

#carrusel-historia .e-n-carousel,
#carrusel-historia .swiper {
	overflow: visible;
}

#carrusel-historia .swiper-wrapper {
	overflow: visible;
	align-items: stretch;
}

#carrusel-historia .swiper-slide {
	position: relative;
	overflow: visible;
	margin-right: var(--historia-gap) !important;
	height: auto;
}

#carrusel-historia .swiper-slide > .e-con {
	height: 100%;
	background-color: #d9d9d9 !important;
	border-radius: 10px;
	transition: background-color .25s ease, color .25s ease;
}

#carrusel-historia .swiper-slide::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + var(--historia-arrow-offset));
	width: var(--historia-arrow-size);
	height: var(--historia-arrow-size);
	background-image: url("/wp-content/uploads/2026/05/arrow-right-gery.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 50;
}

#carrusel-historia .swiper-slide .elementor-heading-title,
#carrusel-historia .swiper-slide .elementor-widget-text-editor,
#carrusel-historia .swiper-slide .elementor-widget-text-editor p {
	color: #5f5f5f !important;
	transition: color .25s ease;
}

#carrusel-historia .swiper-slide.swiper-slide-active > .e-con {
	background-color: #ccfb55 !important;
}

#carrusel-historia .swiper-slide.swiper-slide-active .elementor-heading-title,
#carrusel-historia .swiper-slide.swiper-slide-active .elementor-widget-text-editor,
#carrusel-historia .swiper-slide.swiper-slide-active .elementor-widget-text-editor p {
	color: #000 !important;
}

#carrusel-historia .elementor-swiper-button {
	display: none !important;
} */

#carrusel-historia .swiper-slide-active .elementor-element {
	background-color: var(--e-global-color-accent);;
}

.elementor-post-navigation__separator {
	margin-left: 20px !important; 
	margin-right: 20px !important; 
}


.elementor-form .e-form__buttons .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.elementor-form .e-form__buttons .elementor-button .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.elementor-form .e-form__buttons .elementor-button .elementor-button-content-wrapper::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	background-image: url("/wp-content/uploads/2026/05/arrow-1.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: rotate(0deg);
	transform-origin: center;
	transition: transform 0.25s ease;
}

.elementor-form .e-form__buttons .elementor-button:hover .elementor-button-content-wrapper::after,
.elementor-form .e-form__buttons .elementor-button:focus .elementor-button-content-wrapper::after {
	transform: rotate(-90deg);
}

#menu-footer {
	--footer-menu-arrow: url("/wp-content/uploads/2026/05/arrow-1.svg");
	--footer-menu-arrow-size: 22px;
	--footer-menu-arrow-gap: 16px;
}

#menu-footer .elementor-icon-list-items,
#menu-footer .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0 !important;
}

#menu-footer .elementor-icon-list-item a {
	display: inline-flex !important;
	align-items: center;
	width:100%;
	text-decoration: none;
}

#menu-footer .elementor-icon-list-text {
	display: inline-flex !important;
	align-items: center;
	gap: var(--footer-menu-arrow-gap);
	line-height: 1;
}

#menu-footer .elementor-element.not-rotate > .elementor-icon-list-items > .elementor-icon-list-item .elementor-icon-list-text{
	justify-content: space-between;
	width:100%;
}

#menu-footer .elementor-icon-list-text::after {
	content: "";
	display: inline-block;
	width: var(--footer-menu-arrow-size);
	height: var(--footer-menu-arrow-size);
	flex: 0 0 var(--footer-menu-arrow-size);
	background-image: var(--footer-menu-arrow);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: rotate(0deg);
	transform-origin: center;
	transition: transform 0.25s ease;
}

#menu-footer .elementor-element:not(.not-rotate) > .elementor-icon-list-items > .elementor-icon-list-item a:hover .elementor-icon-list-text::after,
#menu-footer .elementor-element:not(.not-rotate) > .elementor-icon-list-items > .elementor-icon-list-item a:focus .elementor-icon-list-text::after {
	transform: rotate(-90deg);
}


#menu-footer > .e-con:nth-child(2) > .elementor-widget-icon-list:first-child .elementor-icon-list-text::after,
#menu-footer > .e-con:nth-child(3) > .elementor-widget-icon-list:first-child .elementor-icon-list-text::after {
	transform: rotate(-90deg);
	transition: none;
}

#cmplz-document {
	max-width: 1140px !important;
}

.grecaptcha-badge {
	visibility: hidden !important;
}

/* =========================
   TABLET
========================= */

@media (max-width: 1024px) {
	
	#main-header {
		position: absolute !important; 
	}
	
	#main-header ul {
		padding: 30px;  
		padding-bottom: 200px; 
	}
	
	#main-header .elementor-nav-menu > li > a.elementor-item {
		justify-content: space-between;
		width: 100%;
	}
	
	#main-header .elementor-nav-menu .sub-menu a.elementor-sub-item{
		border:none;
		padding: 20px;
	}
	
	#main-header .dfd-menu-featured-image {
		display: none !important; 
	}
	
	#main-header .sub-menu {
		padding: 0; 
		padding-left: 50px !important; 
	}
	
	.marcas-hover,
	.marcas-hover > .e-con-inner {
		flex-direction: column;
		gap: 16px;
	}

	.marcas-hover .marca-card {
		width: 100%;
		flex: none;
	}

/* 	#carrusel-historia {
		--historia-visible-width: 500px;
		width: min(var(--historia-visible-width), calc(100vw - 20px)) !important;
	}

	#carrusel-historia .swiper-slide::after {
		left: calc(100% + 4px);
	} */
	
	#menu-footer .elementor-icon-list-item a {
		width: 100% !important;
	}
	
	#menu-footer .elementor-icon-list-text {
		justify-content: space-between;
		width: 100%;
	}
}

/* =========================
   MÓVIL
========================= */

@media (max-width: 768px) {
	
	.elementor .e-con.e-parent:not(.not-padding) {
		--padding-left: 20px !important;
		--padding-right: 20px !important;
	}

	#main-header.footer-menu li {
		border-bottom: 1px solid #000;
	}

	#main-header.footer-menu li a {
		margin: 0 !important;
	}

	#main-header.footer-menu .sub-menu {
		position: relative !important;
		z-index: 999 !important;
		margin-left: 0 !important;
		background-color: transparent !important;
		margin-top: 0 !important;
		padding: 0 !important;
	}

	.hero-title-arrow .elementor-heading-title::after {
		width: 60px;
		height: 60px;
		margin-left: 50px;
		margin-top: -40px;
	}

	#home-carrusel {
		--carousel-gap: 18px;
	}

	#home-carrusel .elementor-main-swiper,
	#home-carrusel .swiper {
		height: clamp(280px, 58vw, 520px);
	}

	#home-carrusel .swiper-wrapper {
		flex-direction: row !important;
		gap: var(--carousel-gap);
		height: 100% !important;
	}

	#home-carrusel .swiper-slide {
		width: calc((100% - var(--carousel-gap)) / 1.35) !important;
		height: 100% !important;
	}

	.marcas-hover .marca-card {
		height: auto;
		min-height: 0;
		padding: 22px 62px 70px 24px !important;
	}

	.marcas-hover .marca-card:hover {
		height: auto;
	}

	.marcas-hover .marca-card::after,
	.marcas-hover .marca-card:hover::after {
		top: auto;
		right: 24px;
		bottom: 24px;
		width: 36px;
		height: 36px;
	}

	.marcas-hover .marca-card::after {
		transform: rotate(90deg) !important;
	}

	/*
	.marcas-hover .marca-card:hover::after {
		transform: rotate(0deg);
	}*/

	.marcas-hover .marca-text {
		max-height: none;
		opacity: 1;
		overflow: visible;
		transform: none;
		margin-top: 22px !important;
	}

	.marcas-hover .marca-card .elementor-heading-title {
		font-size: 38px;
	}

	.marcas-hover .marca-text,
	.marcas-hover .marca-text p {
		font-size: 17px !important;
		line-height: 1.45 !important;
	}
/* 
	#carrusel-historia {
		width: calc(100vw - 32px) !important;
		margin-left: auto !important;
		margin-right: 16px !important;
	}

	#carrusel-historia .swiper-slide::after {
		display: none;
	} */
}
