/* ==========================================================================
   Technovix - Custom mobile navigation (replaces Max Mega Menu below 992px)
   ========================================================================== */
.tvx-mnav-toggle,
.tvx-mnav { display: none; }

@media (max-width: 991px) {
	#mega-menu-wrap-menu-1 { display: none !important; }
	.main-header .header-actions { display: none; }

	.tvx-mnav-toggle {
		display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
		width: 44px; height: 44px; padding: 10px; margin-left: auto;
		background: transparent; border: 0; cursor: pointer;
	}
	.tvx-mnav-toggle__bar { display: block; width: 24px; height: 2px; border-radius: 2px; background: #1E253D; transition: transform .3s ease, opacity .2s ease; }

	.tvx-mnav { display: block; position: fixed; inset: 0; z-index: 10000; visibility: hidden; pointer-events: none; }
	.tvx-mnav.is-open { visibility: visible; pointer-events: auto; }

	.tvx-mnav__overlay { position: absolute; inset: 0; background: rgba(10,14,25,.5); opacity: 0; transition: opacity .35s ease; }
	.tvx-mnav.is-open .tvx-mnav__overlay { opacity: 1; }

	.tvx-mnav__panel {
		position: absolute; top: 0; right: 0; height: 100vh; height: 100dvh;
		width: min(360px, 86vw); background: #ffffff; box-shadow: -24px 0 60px rgba(10,14,25,.18);
		display: flex; flex-direction: column;
		padding: 24px 22px calc(24px + env(safe-area-inset-bottom));
		overflow-y: auto; -webkit-overflow-scrolling: touch;
		transform: translateX(100%); transition: transform .38s cubic-bezier(.4,0,.2,1);
	}
	.tvx-mnav.is-open .tvx-mnav__panel { transform: translateX(0); }

	.tvx-mnav__close { align-self: flex-end; position: relative; width: 40px; height: 40px; background: transparent; border: 0; cursor: pointer; margin-bottom: 8px; }
	.tvx-mnav__close span { position: absolute; top: 50%; left: 50%; width: 22px; height: 2px; background: #1E253D; border-radius: 2px; }
	.tvx-mnav__close span:first-child { transform: translate(-50%,-50%) rotate(45deg); }
	.tvx-mnav__close span:last-child { transform: translate(-50%,-50%) rotate(-45deg); }

	.tvx-mnav__menu { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; }
	.tvx-mnav__menu li { position: relative; border-bottom: 1px solid #EEF1F5; }
	.tvx-mnav__menu a { display: block; padding: 15px 4px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .01em; color: #1E253D; text-decoration: none; transition: color .2s ease; }
	.tvx-mnav__menu a:hover,
	.tvx-mnav__menu .current-menu-item > a { color: #FF5722 !important; }

	/* Submenu toggle: chevron arrow (matches desktop nav) */
	.tvx-mnav__caret { position: absolute; top: 3px; right: 0; width: 46px; height: 46px; background: transparent; border: 0; cursor: pointer; z-index: 2; color: #1E253D; transition: color .25s ease; }
	.tvx-mnav__caret::after {
		content: '';
		position: absolute; top: 50%; left: 50%;
		width: 9px; height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translate(-50%, -70%) rotate(45deg);
		transition: transform .3s ease;
	}
	.tvx-mnav__menu li.is-open > .tvx-mnav__caret { color: #FF5722; }
	.tvx-mnav__menu li.is-open > .tvx-mnav__caret::after {
		transform: translate(-50%, -30%) rotate(-135deg);
	}

	.tvx-mnav__menu .sub-menu { list-style: none; margin: 0; padding: 0; max-height: 0; overflow: hidden; transition: max-height .35s ease; }
	.tvx-mnav__menu li.is-open > .sub-menu { max-height: 600px; }
	.tvx-mnav__menu .sub-menu li { border-bottom: 0; }
	.tvx-mnav__menu .sub-menu a {         
		padding: 12px 4px 12px 16px;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0;
        color: #3A4A62;
        text-transform: uppercase; }
	.tvx-mnav__menu .sub-menu a:hover { color: #FF5722; }

	.tvx-mnav__actions { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #EEF1F5; }
	.tvx-mnav__actions .btn-login, .tvx-mnav__actions .btn-orange-header { width: 100%; justify-content: center;background: #FF5728 !important; font-size: 14px; }
	.tvx-mnav__actions .btn-login { display: flex !important; background: #ffffff !important; border: 1px solid #1E253D !important; color: #1E253D !important; width: 100%; justify-content: center; }
}

@media (min-width: 992px) {
	.tvx-mnav-toggle,
	.tvx-mnav { display: none !important; }
}