.jsmm-menu,
.jsmm-menu *{
	box-sizing:border-box;
}

.jsmm-menu{
	--jsmm-panel-width:1200px;
	position:relative;
	width:100%;
	max-width:100%;
}

.jsmm-menu-list{
	display:flex;
	align-items:center;
	gap:28px;
	list-style:none;
	margin:0;
	padding:0;
	flex-wrap:nowrap;
}

.jsmm-menu-item{
	position:relative;
	flex:0 0 auto;
	min-width:max-content;
}

.jsmm-menu-link,
.jsmm-menu-link:link,
.jsmm-menu-link:visited{
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--jsmm-link-color, var(--jsmm-sticky-link-color, inherit)) !important;
	text-decoration:none;
	cursor:pointer;
	transition:color .18s ease;
	white-space:nowrap;
	word-break:normal;
	overflow-wrap:normal;
	line-height:1.2;
}

.jsmm-menu-link:hover,
.jsmm-menu-link:focus,
.jsmm-menu-item.is-open > .jsmm-menu-link{
	color:var(--jsmm-hover-color, var(--jsmm-sticky-hover-color, var(--jsmm-link-color, var(--jsmm-sticky-link-color, inherit)))) !important;
	text-decoration:none;
}

.jsmm-menu-item.is-current > .jsmm-menu-link,
.jsmm-menu-link[aria-current="page"]{
	color:var(--jsmm-active-color, var(--jsmm-sticky-active-color, var(--jsmm-hover-color, var(--jsmm-sticky-hover-color, var(--jsmm-link-color, var(--jsmm-sticky-link-color, inherit)))))) !important;
}

/* Sticky transparente: manda sobre el color del menú si está definido. */
.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-link,
.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-link:link,
.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-link:visited{
	color:var(--jsmm-sticky-link-color, var(--jsmm-link-color, inherit)) !important;
}

.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-link:hover,
.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-link:focus,
.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-item.is-open > .jsmm-menu-link{
	color:var(--jsmm-sticky-hover-color, var(--jsmm-hover-color, var(--jsmm-sticky-link-color, var(--jsmm-link-color, inherit)))) !important;
}

.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-item.is-current > .jsmm-menu-link,
.jsmm-sticky-applied:not(.jsmm-is-scrolled) .jsmm-menu .jsmm-menu-link[aria-current="page"]{
	color:var(--jsmm-sticky-active-color, var(--jsmm-active-color, var(--jsmm-sticky-hover-color, var(--jsmm-hover-color, var(--jsmm-sticky-link-color, var(--jsmm-link-color, inherit)))))) !important;
}

/* Sticky con fondo / scroll: manda sobre sticky transparente y menú si está definido. */
.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-link,
.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-link:link,
.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-link:visited{
	color:var(--jsmm-sticky-bg-link-color, var(--jsmm-sticky-link-color, var(--jsmm-link-color, inherit))) !important;
}

.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-link:hover,
.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-link:focus,
.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-item.is-open > .jsmm-menu-link{
	color:var(--jsmm-sticky-bg-hover-color, var(--jsmm-sticky-hover-color, var(--jsmm-hover-color, var(--jsmm-sticky-bg-link-color, var(--jsmm-sticky-link-color, var(--jsmm-link-color, inherit)))))) !important;
}

.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-item.is-current > .jsmm-menu-link,
.jsmm-sticky-applied.jsmm-is-scrolled .jsmm-menu .jsmm-menu-link[aria-current="page"]{
	color:var(--jsmm-sticky-bg-active-color, var(--jsmm-sticky-active-color, var(--jsmm-active-color, var(--jsmm-sticky-bg-hover-color, var(--jsmm-sticky-hover-color, var(--jsmm-hover-color, var(--jsmm-sticky-bg-link-color, var(--jsmm-sticky-link-color, var(--jsmm-link-color, inherit))))))))) !important;
}

.jsmm-mega-panel{
	position:absolute;
	top:100%;
	left:0;
	width:var(--jsmm-panel-width);
	max-width:calc(100vw - 32px);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translateY(10px);
	transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
	z-index:9999;
	padding-top:14px;
	background:transparent;
}

.jsmm-menu-item.is-open > .jsmm-mega-panel{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateY(0);
}

.jsmm-align-center .jsmm-mega-panel{
	left:50%;
	transform:translate(-50%,10px);
}

.jsmm-align-center .jsmm-menu-item.is-open > .jsmm-mega-panel{
	transform:translate(-50%,0);
}

.jsmm-align-right .jsmm-mega-panel{
	left:auto;
	right:0;
}

.jsmm-width-default .jsmm-mega-panel{
	width:auto;
	min-width:100%;
}

.jsmm-width-custom .jsmm-mega-panel{
	width:var(--jsmm-panel-width);
}

.jsmm-width-full .jsmm-menu-item{
	position:static;
}

.jsmm-width-full .jsmm-mega-panel{
	left:0 !important;
	right:auto !important;
	width:100vw !important;
	max-width:100vw !important;
	margin-left:calc(50% - 50vw) !important;
	transform:translateY(10px) !important;
}

.jsmm-width-full .jsmm-menu-item.is-open > .jsmm-mega-panel{
	transform:translateY(0) !important;
}

.jsmm-position-relative{
	position:relative;
}

.jsmm-position-relative .jsmm-menu-item{
	position:static;
}

.jsmm-position-relative.jsmm-align-center .jsmm-mega-panel{
	left:50%;
	right:auto;
	transform:translate(-50%,10px);
}

.jsmm-position-relative.jsmm-align-center .jsmm-menu-item.is-open > .jsmm-mega-panel{
	transform:translate(-50%,0);
}

.jsmm-position-relative.jsmm-align-right .jsmm-mega-panel{
	left:auto;
	right:0;
}

/* Padre CSS */
.jsmm-position-parent{
	position:relative;
	--jsmm-parent-panel-left:0px;
	--jsmm-parent-panel-top:0px;
	--jsmm-parent-panel-width:100vw;
}

.jsmm-position-parent .jsmm-menu-item{
	position:static;
}

.jsmm-position-parent .jsmm-mega-panel,
.jsmm-position-parent.jsmm-width-full .jsmm-mega-panel,
.jsmm-position-parent.jsmm-width-custom .jsmm-mega-panel,
.jsmm-position-parent.jsmm-width-default .jsmm-mega-panel{
	position:fixed !important;
	left:var(--jsmm-parent-panel-left,0px) !important;
	top:var(--jsmm-parent-panel-top,0px) !important;
	width:var(--jsmm-parent-panel-width,100vw) !important;
	max-width:none !important;
	margin-left:0 !important;
	padding-top:0 !important;
	transform:translateY(0) !important;
}

.jsmm-position-parent .jsmm-menu-item.is-open > .jsmm-mega-panel{
	transform:translateY(0) !important;
}

.jsmm-mega-inner,
.jsmm-mega-inner > .elementor{
	background:transparent;
	width:100%;
	max-width:100%;
	overflow:visible;
}

/* Sticky */
.jsmm-sticky-applied{
	position:fixed !important;
	top:var(--jsmm-sticky-effective-top,var(--jsmm-sticky-top,0px)) !important;
	left:0 !important;
	right:0 !important;
	width:100% !important;
	z-index:var(--jsmm-sticky-zindex,9998) !important;
	background:var(--jsmm-sticky-bg-current,transparent) !important;
	box-shadow:var(--jsmm-sticky-shadow-current,none) !important;
	border-bottom:var(--jsmm-sticky-border-width-current,0px) solid var(--jsmm-sticky-border-color-current,transparent) !important;
	transition:background-color .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.jsmm-sticky-applied.jsmm-sticky-position-sticky{
	position:sticky !important;
}

@media(max-width:1024px){
	.jsmm-menu-list{
		flex-direction:column;
		align-items:stretch;
		gap:0;
		flex-wrap:nowrap;
	}

	.jsmm-menu-item{
		min-width:0;
	}

	.jsmm-menu-link{
		justify-content:space-between;
		width:100%;
		white-space:normal;
	}

	.jsmm-mega-panel,
	.jsmm-align-center .jsmm-mega-panel,
	.jsmm-align-right .jsmm-mega-panel,
	.jsmm-width-full .jsmm-mega-panel,
	.jsmm-position-parent .jsmm-mega-panel{
		position:static !important;
		width:100% !important;
		max-width:100% !important;
		left:auto !important;
		top:auto !important;
		margin-left:0 !important;
		padding-top:0 !important;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:none !important;
		display:none;
	}

	.jsmm-menu-item.is-open > .jsmm-mega-panel{
		display:block;
		transform:none !important;
	}
}


/* JSMM v1.0.23 - el fondo del panel lo puede controlar Elementor:
   color, imagen o degradado desde Estilo > Panel. */
.jsmm-mega-inner{
	background:transparent;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}


/* JSMM v1.0.24 - fondo avanzado panel: color, imagen o degradado. */
.jsmm-mega-inner{
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
