.custom-navbar {
	 background-color: #001f3f !important;
	 border-bottom: 1px solid #001f3f !important;
	 padding: 0 1rem;
	 display: flex;
	 align-items: center;
	 position: fixed;
	 top: 0;
	 left: 0;
	 width: 100%;
	 z-index: 10000;
	 min-height: 80px !important;
	 height: 80px !important;
}
 .custom-navbar .menu-icon {
	 width: 65px;
	 height: 65px;
}
 .custom-navbar .nav-link {
	 position: relative;
	 font-family: 'Lexend Deca', sans-serif;
	 font-weight: 500;
	 margin: 0 0.75rem;
	 color: #fff;
	 transition: color 0.3s ease;
}
 .custom-navbar .nav-link:hover {
	 color: #04fb06;
}
 .custom-navbar .nav-link::after {
	 content: '';
	 position: absolute;
	 left: 0;
	 bottom: -4px;
	 width: 0%;
	 height: 2px;
	 background-color: #00aeef;
	 transition: width 0.3s ease;
}
 .custom-navbar .nav-link:hover::after {
	 width: 100%;
}
 .custom-navbar .nav-link.active-link {
	 background-color: #001f3f;
	 color: #04fb06;
}
 .custom-navbar .nav-link.active-link::after {
	 width: 100%;
}
 .custom-navbar .right-buttons button, .custom-navbar .right-buttons a {
	 font-family: 'Lexend Deca', sans-serif;
	 margin-left: 0.5rem;
	 padding: 0.6rem 1.25rem;
	 border-radius: 6px;
	 transition: all 0.3s ease;
	 text-decoration: none;
}
 .custom-navbar .right-buttons button.btn-outline-primary, .custom-navbar .right-buttons a.btn-outline-primary {
	 border-color: #fff;
	 color: #fff;
}
 .custom-navbar .right-buttons button.btn-outline-primary:hover, .custom-navbar .right-buttons a.btn-outline-primary:hover {
	 background-color: #04dd04;
	 color: #fff;
}
 .custom-navbar .right-buttons button.btn-primary, .custom-navbar .right-buttons a.btn-primary {
	 background-color: #049004;
	 border-color: #049004;
}
 .custom-navbar .right-buttons button.btn-primary:hover, .custom-navbar .right-buttons a.btn-primary:hover {
	 background-color: #04dd04;
	 border-color: #04dd04;
}
 .custom-navbar .desktop-buttons button i, .custom-navbar .desktop-buttons a i {
	 font-size: 1.3rem;
	/* tamaño icono acorde al alto */
	 margin-left: 0.5rem;
	/* separación respecto al texto */
	 display: inline-flex;
	/* asegura alineación */
	 align-items: center;
	/* centra verticalmente */
	 vertical-align: middle;
	/* corrige alineación */
}
 .custom-navbar .search-icon {
	 margin-right: 1rem;
	 font-size: 2rem;
	 color: #fff;
	 cursor: pointer;
	 transition: color 0.3s ease, transform 0.3s ease;
}
 .custom-navbar .search-icon:hover {
	 color: #04dd04;
	 transform: scale(1.1);
}
 .arrow-z {
	 margin-left: 5px;
}
/** Mega Panel Styles */
 .mega-panel {
	 position: fixed;
	 top: 80px;
	 left: 0;
	 width: 100%;
	 height: calc(100dvh - 80px);
	 background-color: #fff;
	 z-index: 9999;
	 overflow-y: auto;
	 overflow-x: hidden;
	 scrollbar-gutter: stable;
	 border-top: 2px solid #007bff;
	 padding: 20px;
}
 .mega-panel .close-btn {
	 position: sticky;
	 top: 20px;
	 left: 20px;
	 background: transparent;
	 border: none;
	 font-size: 1.5rem;
	 color: #001f3f;
	 cursor: pointer;
	 scale: 1.5;
}
 .mega-panel .close-btn:hover {
	 scale: 1.6;
	 color: #001f3f;
}
 .mega-panel .mega-content {
	 display: flex;
	 justify-content: center;
	 gap: 0rem;
	 width: 100%;
	 height: 100%;
	 color: #001f3f;
}
 .mega-panel .mega-content .mega-left, .mega-panel .mega-content .mega-right {
	 max-width: 450px;
	 width: 100%;
	 padding: 1rem 2rem;
}
 .mega-panel .mega-content .mega-title {
	 font-weight: 600;
	 margin-bottom: 1rem;
	 color: #000;
	 text-align: center;
}
 .mega-panel .mega-content .mega-list {
	 list-style: none;
	/* quita los bullets */
	 padding: 0;
	 margin: 0;
}
 .mega-panel .mega-content .mega-list li {
	 margin-bottom: 0.5rem;
	/* separación entre items */
}
 .mega-panel .mega-content .mega-list li a {
	 flex: 1;
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 color: #001f3f;
	 font-family: 'Lexend Deca', sans-serif;
	 text-decoration: none;
	 line-height: 1.4;
	 word-break: break-word;
	 padding: 0.5rem 1rem;
	 border: 1px solid #001f3f;
	 border-radius: 50px;
	/* bordes redondeados */
	 transition: background-color 0.3s ease, color 0.3s ease;
}
 .mega-panel .mega-content .mega-list li a:hover {
	 background-color: #001f3f;
	 color: #fff;
}
 .mega-panel .mega-content .mega-list li a.active-link {
	 background-color: #001f3f;
	 color: #fff;
}
 .mega-panel::-webkit-scrollbar {
	 width: 8px;
}
 .mega-panel::-webkit-scrollbar-thumb {
	 background-color: #00aeef;
	 border-radius: 4px;
}
 .mega-panel::-webkit-scrollbar-track {
	 background-color: #001f3f;
}
 .p-info-mega-right {
	 margin-top: 2rem;
	 font-size: 1.1rem;
	 color: #049004;
}
 .paneles {
	 margin-top: 80px;
	 left: 0;
	 width: 100%;
	 height: calc(100dvh - 80px);
	 background-color: #fff;
	 overflow-y: auto;
	 overflow-x: hidden;
}
 .nav-item.active-link .nav-link {
	 background-color: #001f3f;
	 color: #04fb06;
}
 .nav-item.active-link .nav-link::after {
	 width: 100%;
}
 .has-more.active-link {
	 background-color: #001f3f;
	 color: #04fb06;
}
 .has-more.active-link::after {
	 width: 100%;
}
 .navbar-toggler {
	 border: none;
	 background: transparent;
	 box-shadow: none;
	/* elimina sombra */
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%2304fb06' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22 M4 15h22 M4 23h22'/%3E%3C/svg%3E");
}

 .navbar-toggler:focus {
	 outline: none;
	/* elimina outline */
	 box-shadow: none;
	/* elimina sombra activa */
}
 .navbar-toggler i {
	 color: #fff;
	/* color inicial */
	 font-size: 2rem;
	 transition: transform 0.3s ease, color 0.3s ease;
}
 .navbar-toggler i.bi-list {
	 transform: rotate(0deg);
}
 .navbar-toggler i.bi-x-lg {
	 transform: rotate(180deg);
	/* animación al cambiar */
	 color: #04fb06;
	/* cambia a verde cuando está activo */
}
 .navbar-toggler {
	 border: none;
	 background: transparent;
	 box-shadow: none;
	 order: 2;
	/* asegura que quede antes de los botones */
}
 .right-buttons {
	 order: 3;
	/* botones siempre después del hamburguesa */
	 display: flex;
	 align-items: center;
}
/* Botón usuario: círculo sin fondo, solo icono */
 .btn-user {
	 width: 50px;
	 height: 50px;
	 border-radius: 50%;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 padding: 0;
	 font-size: 1.5rem;
	 background: transparent !important;
	/* sin fondo */
	 border: 0px transparent !important;
	/* sin borde */
}
 .btn-user i {
	 transform: scale(1.9);
	 color: #fff;
	/* icono blanco */
	 transition: transform 0.3s ease;
}
 .btn-user:hover i {
	 color: #04fb06;
}
/* Botón menú: círculo con fondo y borde */
 .btn-menu {
	 width: 50px;
	 height: 50px;
	 border-radius: 50%;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 padding: 0;
	 font-size: 1.5rem;
	 background-color: #001f3f;
	/* fondo azul oscuro */
	 border: 2px solid #04fb06;
	/* borde blanco */
}
 .btn-menu i {
	 transform: scale(1.2);
	 color: #04fb06;
	/* icono blanco */
	 transition: color 0.3s ease, transform 0.3s ease;
}
 .btn-menu:hover i {
	 color: #04fb06;
	/* verde al hover */
	 transform: rotate(180deg);
	/* animación de rotación */
}
 @media (max-width: 400px) {
	 .right-buttons .btn-outline-primary {
		 display: none !important;
		/* oculta el botón Quote */
	}
}
/** SCSS DEL MENU MOVIL */
 .mobile-menu-modal {
	 position: fixed;
	 top: 0;
	 left: 0;
	 width: 100dvw;
	 height: 100dvh;
	 background-color: #fff;
	 z-index: 20000;
	/* por encima de bootstrap */
	 display: flex;
	 flex-direction: column;
}
/* Header */
 .mobile-menu-header {
	 height: 80px;
	/* igual que tu navbar */
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 padding: 0 1rem;
	 border-bottom: 1px solid #001f3f;
	 background-color: #001f3f;
}
 .mobile-menu-header .menu-icon {
	 width: 60px;
	/* igual que desktop */
	 height: 60px;
	/* igual que desktop */
}
 .mobile-menu-header .close-btn {
	 border: none;
	 font-size: 1.5rem;
	 cursor: pointer;
	 transition: transform 0.3s ease;
}
 .mobile-menu-header .close-btn:hover {
	 transform: scale(1.2);
}
/* Cuerpo scrollable */
 .mobile-menu-body {
	 flex: 1;
	/* ocupa todo el espacio restante */
	 overflow-y: auto;
	 padding: 1rem;
}
 .mobile-nav-list {
	 list-style: none;
	 padding: 0;
	 margin: 0;
}
 .mobile-nav-list li a {
	 display: flex;
	/* activa flexbox */
	 align-items: center;
	/* centra verticalmente */
	 justify-content: space-between;
	/* texto a la izquierda, icono al final */
	 height: 45px;
	 padding: 0.5rem 1rem;
	/* padding horizontal */
	 font-family: 'Lexend Deca', sans-serif;
	 color: #001f3f;
	 border: 1px solid #001f3f;
	 border-radius: 50px;
	 text-decoration: none;
	 margin: 0.5rem 0;
	 transition: background-color 0.3s ease, color 0.3s ease;
}
 .mobile-nav-list li a:hover {
	 background-color: #001f3f;
	 color: #fff;
}
 .mobile-nav-list li a i {
	 font-size: 1.4rem;
	/* icono más grande */
	 margin-left: 0.5rem;
	/* separación respecto al texto */
}
 .mobile-buttons {
	 display: flex;
	 margin-top: 4rem;
	 gap: 1rem;
	 padding: 0rem;
	/* Iconos dentro de los botones */
}
 .mobile-buttons button, .mobile-buttons a {
	 flex: 1;
	 height: 50px;
	/* mismo alto que las opciones del menú */
	 font-family: 'Lexend Deca', sans-serif;
	 font-weight: 500;
	 border-radius: 6px;
	 display: flex;
	/* flex para texto + icono */
	 align-items: center;
	/* centra verticalmente */
	 justify-content: center;
	/* centra horizontalmente */
	 position: relative;
	/* permite posicionar icono */
}
 .mobile-buttons button i, .mobile-buttons a i {
	 font-size: 2rem;
	/* icono más grande, proporcional al alto */
	 position: absolute;
	/* lo fijamos al extremo derecho */
	 right: 1rem;
	/* separación del borde derecho */
	 top: 50%;
	/* centrado vertical */
	 transform: translateY(-50%);
	/* ajuste perfecto al centro */
}
 .mobile-buttons .btn-outline-primary {
	 border: 2px solid #001f3f;
	 color: #001f3f;
	 background-color: #fff;
}
 .mobile-buttons .btn-outline-primary:hover {
	 background-color: #001f3f;
	 color: #fff;
}
 .mobile-buttons .btn-primary {
	 background-color: #001f3f;
	 border: 2px solid #001f3f;
	 color: #fff;
}
 .mobile-buttons .btn-primary:hover {
	 background-color: #049004;
	 border-color: #049004;
	 color: #fff;
}
 @media (max-width: 600px) {
	/* Los iconos siguen visibles */
	 .mobile-buttons .btn-outline-primary {
		 color: transparent;
		 position: relative;
	}
	 .mobile-buttons .btn-outline-primary::before {
		 content: "Quote";
		 color: #001f3f;
		 position: absolute;
		 left: 50%;
		 transform: translateX(-50%);
	}
	 .mobile-buttons .btn-primary {
		 color: transparent;
		 position: relative;
	}
	 .mobile-buttons .btn-primary::before {
		 content: "Portal";
		 color: #fff;
		 position: absolute;
		 left: 50%;
		 transform: translateX(-50%);
	}
	 .mobile-buttons button i, .mobile-buttons a i {
		 font-size: 2rem;
		 position: absolute;
		 right: 1rem;
		 top: 50%;
		 transform: translateY(-50%);
	}
}
 .mobile-sub-header {
	 display: flex;
	 align-items: center;
	/* centra verticalmente */
	 justify-content: flex-start;
	 gap: 1rem;
	/* separación entre icono y texto */
	 margin-bottom: 1rem;
}
 .mobile-sub-header .back-btn {
	 border: none;
	 background: transparent;
	 cursor: pointer;
	 font-size: 1.8rem;
	/* tamaño del icono */
	 color: #001f3f;
	 transition: transform 0.3s ease;
}
 .mobile-sub-header .back-btn:hover {
	 transform: scale(1.2);
	 color: #001f3f;
}
 .mobile-sub-header .mega-title {
	 font-weight: 600;
	 font-size: 1.4rem;
	/* más grande que h6 */
	 color: #001f3f;
	 margin: 0;
}
 .global.btn-primary {
	 background-color: transparent !important;
	 border-color: #fff !important;
	 color: #fff !important;
	/* color del texto del botón */
}
 .global.btn-primary:hover {
	 color: #04fb06;
	 border-color: #04fb06 !important;
}
 .global.btn-primary:hover i {
	 color: #04fb06 !important;
	/* icono cambia junto con el botón */
}
 .global.btn-primary i {
	 color: #fff !important;
	/* color inicial del icono */
}
 .mega-panel.d-none {
	 display: none;
}
 .mega-content {
	 display: flex;
}
 .mega-left {
	 width: 30%;
}
 .mega-right {
	 width: 70%;
	 padding-left: 20px;
}
 .mobile-menu-modal {
	 position: fixed;
	 top: 0;
	 left: 0;
	 width: 100%;
	 height: 100%;
	 background: #fff;
	 z-index: 2000;
	 overflow-y: auto;
}
 .mobile-menu-modal.d-none {
	 display: none;
}
 .back-btn {
	 width: 40px;
	 height: 40px;
	 color: #001f3f;
	 font-size: 2rem;
	 margin-right: 1rem;
	 border: 0px !important;
}
 .back-btn:hover {
	 background-color: #e2e6ea;
	 color: #001f3f;
}
 