/**
 * Menú móvil Oxygen Pro Menu (off-canvas).
 * Las clases .oxy-pro-menu-off-canvas y .oxy-pro-menu-off-canvas-container
 * las añade el JS de Oxygen al abrir (no al cargar la página).
 */

@media (max-width: 1023px) {

	/* Altura del header (Oxygen: #main-header__row); el JS puede actualizarla en :root */
	#main-header {
		--fer-mobile-header-height: 105px;
	}

	/* Evita seleccionar texto al abrir/cerrar o deslizar en el panel */
	#main-header #main-menu,
	#main-header #main-menu * {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		user-select: none;
	}

	/* Icono hamburguesa */
	#main-header #main-menu .oxy-pro-menu-mobile-open-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		padding: 8px;
		margin: 0;
		border-radius: 10px;
		transition: 0.4s all ease-out;
	}

	#main-header #main-menu .oxy-pro-menu-mobile-open-icon svg {
		width: 26px;
		height: 26px;
	}

	#main-header #main-menu .oxy-pro-menu-mobile-open-icon:hover,
	#main-header #main-menu .oxy-pro-menu-mobile-open-icon:focus-visible {
		background-color: #fff;
		outline: none;
	}

	/* Estado abierto: el burger sigue marcando la posición; el cierre se superpone vía JS */
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-mobile-open-icon {
		visibility: hidden;
		pointer-events: none;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container {
		background-color: #fff !important;
		box-shadow: none;
		top: var(--fer-mobile-header-height, 105px) !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: calc(100dvh - var(--fer-mobile-header-height, 105px)) !important;
		max-height: calc(100dvh - var(--fer-mobile-header-height, 105px)) !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		padding: 0 !important;
		overflow-x: hidden;
		overflow-y: auto;
	}

	/* Oxygen: margin:auto en el wrapper centra el panel */
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container>div:first-child {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	/* Fijo en viewport, encima del burger (coordenadas las pone ltw_script.js) */
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-mobile-close-icon {
		position: fixed !important;
		top: 0;
		left: 0;
		right: auto !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		width: 44px;
		height: 44px;
		padding: 10px;
		margin: 0;
		box-sizing: border-box;
		border-radius: 10px;
		z-index: 2147483647 !important;
		background-color: #fff;
		box-shadow: 0 1px 6px rgba(35, 35, 35, 0.08);
		transition: background-color 0.4s ease-out;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-mobile-close-icon svg {
		width: 22px;
		height: 22px;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-mobile-close-icon:hover,
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-mobile-close-icon:focus-visible {
		background-color: #fff;
		outline: none;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list {
		width: 100%;
		max-width: 100%;
		padding: 0;
		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item {
		width: 100% !important;
		background-color: #fff !important;
		background-image: none !important;
		border-top: none !important;
		/* border-bottom: 1px solid rgba(35, 35, 35, 0.08) !important; */
		justify-content: flex-start !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item>a {
		width: 100% !important;
		justify-content: flex-start !important;
		text-align: left !important;
		font-size: 16px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		color: #232323 !important;
		background-color: #fff !important;
		padding: 14px 30px !important;
		min-height: 48px;
		box-sizing: border-box;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item>a:hover,
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item>a:focus-visible,
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item.current-menu-item>a,
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item.current-menu-ancestor>a {
		background-color: #fff !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item.current-menu-item>a,
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item.current-menu-ancestor>a {
		color: #fba21f !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item.menu-item-has-children>a {
		padding-right: 30px !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .oxy-pro-menu-dropdown-icon-click-area {
		min-width: 44px !important;
		min-height: 44px !important;
		margin-left: auto;
		flex-shrink: 0;
		border-radius: 8px;
		background-color: #fff !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .oxy-pro-menu-dropdown-icon-click-area svg {
		width: 18px;
		height: 18px;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .sub-menu,
	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .menu-item-has-children ul {
		background-color: #fff !important;
		width: 100% !important;
		position: static !important;
		padding: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .sub-menu .menu-item {
		/* border-bottom: 1px solid rgba(35, 35, 35, 0.06) !important; */
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .sub-menu .menu-item>a {
		font-size: 15px !important;
		font-weight: 500 !important;
		background-color: #fff !important;
		padding: 12px 30px !important;
		padding-left: 45px !important;
		min-height: 44px;
		text-align: left !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .sub-menu .menu-item.menu-item-has-children>a {
		padding-right: 30px !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .oxy-pro-menu-off-canvas-container .sub-menu .sub-menu .menu-item>a {
		padding-left: 60px !important;
	}

	#main-header:has(#main-menu.oxy-pro-menu-off-canvas) #header-contact-btn {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}

	.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul,
	.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul {
		border-top: 1px solid rgba(35, 35, 35, 0.08) !important;
	}

	#main-header #main-menu.oxy-pro-menu-off-canvas .menu-main-menu-container>ul>li ul li {
		border-bottom: none !important;
	}
}
