/* ld_custom_menu — Epic Widgets (implementación propia). */
.elementor-widget-ld_custom_menu .lqd-custom-menu{position:relative}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul{margin:0;padding:0;list-style:none}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li{margin:0 0 10px;list-style:none}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li:last-child{margin-bottom:0}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.inline-ul{display:flex;flex-wrap:wrap;align-items:center}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.inline-ul>li{margin-bottom:0}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.inline-ul>li:not(:last-child){margin-inline-end:1.5em}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li>a{
	position:relative;display:inline-flex;align-items:center;gap:.4em;
	color:inherit;text-decoration:none;transition:color .3s ease
}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li>a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.elementor-widget-ld_custom_menu .lqd-menu-td-underline>.reset-ul>li>a:after{
	content:"";position:absolute;inset-inline:0;bottom:-.15em;height:1px;background:currentColor;
	transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.23,1,.32,1)
}
.elementor-widget-ld_custom_menu .lqd-menu-td-underline>.reset-ul>li>a:is(:hover,:focus-visible):after{transform:scaleX(1);transform-origin:left}
.elementor-widget-ld_custom_menu .link-icon{display:inline-flex}
.elementor-widget-ld_custom_menu .link-badge{display:inline-block;margin-inline-start:.5em;padding:.2em .6em;border-radius:1em;font-size:.75em;line-height:1.3;background:var(--badge-color,rgba(0,0,0,.08))}
/* Icons / label */
.elementor-widget-ld_custom_menu .link-icon.icon-push-to-edge.right-icon{margin-inline-start:auto}
.elementor-widget-ld_custom_menu .link-icon.icon-push-to-edge.left-icon{margin-inline-end:auto}
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li>a:has(.icon-push-to-edge){display:flex;width:100%}

/* Items with separators (border_color / border_hcolor set). */
.elementor-widget-ld_custom_menu .menu-items-has-border>.reset-ul>li>a{display:flex;width:100%;padding-top:.75em;padding-bottom:.75em;border:0 solid #e8e8e8;transition:color .3s ease,border-color .3s ease}
.elementor-widget-ld_custom_menu .menu-items-has-border>.reset-ul:not(.inline-ul)>li:not(:last-child)>a{border-bottom-width:1px}
.elementor-widget-ld_custom_menu .menu-items-has-border>.inline-ul>li>a{width:auto;padding-top:1em;padding-bottom:1em}
.elementor-widget-ld_custom_menu .menu-items-has-border>.inline-ul>li:not(:last-child)>a{border-inline-end-width:1px;padding-inline-end:1em}
.elementor-widget-ld_custom_menu .menu-items-has-border>.inline-ul>li:not(:first-child)>a{padding-inline-start:1em}
.elementor-widget-ld_custom_menu .menu-items-has-border>.inline-ul>li:not(:last-child){margin-inline-end:0}

/* Sub-menus (shared walker: ul.nav-item-children + button.submenu-expander after the link). */
.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li{position:relative;display:flex;flex-wrap:wrap;align-items:center}
.elementor-widget-ld_custom_menu .submenu-expander{
	position:absolute;top:0;inset-inline-end:1.85em;margin-top:calc((1lh - 30px)/2);z-index:3;
	display:none;align-items:center;justify-content:center;width:30px;height:30px;padding:0;
	border:0;border-radius:3px;background:rgba(0,0,0,.05);color:inherit;font-size:13px;line-height:1;cursor:pointer
}
.elementor-widget-ld_custom_menu .submenu-expander svg{transition:transform .3s cubic-bezier(.23,1,.32,1)}
.elementor-widget-ld_custom_menu li.is-active>.submenu-expander svg{transform:rotate(180deg)}
.elementor-widget-ld_custom_menu .submenu-expander:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.elementor-widget-ld_custom_menu .nav-item-children{
	position:absolute;top:0;left:100%;z-index:11;min-width:232px;margin:0;padding:1.06em 0;list-style:none;
	background:#fff;border-radius:5px;box-shadow:0 18px 40px rgba(0,0,0,.12);text-align:start;
	opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
	transition:opacity .5s cubic-bezier(.19,1,.22,1),transform .85s cubic-bezier(.19,1,.22,1),visibility 0s linear .5s
}
.elementor-widget-ld_custom_menu .nav-item-children.to-left{left:auto;right:100%}
.elementor-widget-ld_custom_menu .nav-item-children>li{margin:0;list-style:none}
.elementor-widget-ld_custom_menu .nav-item-children>li>a{display:block;padding:.5em 1.6em;color:#5a5b63;text-decoration:none;white-space:nowrap;transition:color .25s}
.elementor-widget-ld_custom_menu .nav-item-children>li>a:is(:hover,:focus-visible){color:#000}
.elementor-widget-ld_custom_menu .nav-item-children>li>a:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
@media (min-width:1025px){
	.elementor-widget-ld_custom_menu li:is(:hover,.is-active)>.nav-item-children{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
	/* Separate rule: browsers without :has() must keep the hover rule above. */
	.elementor-widget-ld_custom_menu li:has(>a:focus-visible,>.nav-item-children :focus-visible)>.nav-item-children{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
}
/* Tablet/mobile: in-flow panel toggled by the chevron (hidden on desktop, like Hub). */
@media (max-width:1024px){
	.elementor-widget-ld_custom_menu .submenu-expander{display:inline-flex}
	.elementor-widget-ld_custom_menu .nav-item-children{
		position:relative;left:auto;right:auto;flex:0 0 100%;display:none;min-width:0;margin-top:.5em;
		opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none
	}
	.elementor-widget-ld_custom_menu li.is-active>.nav-item-children{display:block}
}

@media (prefers-reduced-motion:reduce){
	.elementor-widget-ld_custom_menu .lqd-custom-menu>.reset-ul>li>a,
	.elementor-widget-ld_custom_menu .lqd-menu-td-underline>.reset-ul>li>a:after,
	.elementor-widget-ld_custom_menu .nav-item-children,
	.elementor-widget-ld_custom_menu .submenu-expander svg{transition:none}
}
