/* ==========================================
   CONTENEDOR PRINCIPAL DEL MODAL
   ========================================== */
.mega-menu-content {
    border-radius: 12px !important;
    overflow: hidden;
    border: none !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;
    max-height: 95vh;
}

/* ==========================================
   LATERAL IZQUIERDO (LILA)
   ========================================== */
.mega-menu-sidebar {
    background: linear-gradient(180deg, #dbdaf5 0%, #f4f3ff 100%) !important;
    padding: 2rem 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
}

.section-title-main {
    color: #4a4a68 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    margin-bottom: 0.6rem !important;
}

.sidebar-item-link {
    color: #656485 !important;
    text-decoration: none !important;
    font-size: 0.82rem !important;
    transition: color 0.2s ease-in-out !important;
}

.sidebar-item-link:hover {
    color: #4a22b5 !important;
}

.sidebar-sublist {
    padding-left: 0.25rem !important;
    margin: 0 !important;
    list-style: none !important;
}

.sidebar-sublist li {
    margin-bottom: 0.5rem !important;
}

.sidebar-sublist li a {
    color: #656485 !important;
    text-decoration: none !important;
    font-size: 0.82rem !important;
    display: inline-block !important;
    transition: all 0.2s ease-in-out !important;
}

.sidebar-sublist li a:hover {
    color: #4a22b5 !important;
    transform: translateX(3px) !important;
}

/* ==========================================
   CUERPO DERECHO
   ========================================== */
.mega-menu-body {
    background-color: #ffffff !important;
    padding: 1.8rem 2rem 1.5rem 2rem !important;
    position: relative !important;
    min-height: 100% !important; /* Cambiamos min-height fijo por 100% */
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Empuja el contenedor superior arriba y el inferior abajo */
}

.btn-close-custom {
    position: absolute !important;
    top: 1rem !important;
    right: 1.2rem !important;
    z-index: 10 !important;
}

.mega-menu-body .option-grid {
    margin-bottom: 1rem !important;
    align-items: flex-start !important;
}

/* ==========================================
   BOTONES TARJETA - ALTURA Y ANCHO CONTROLADOS
   ========================================== */
/* 1. Alineación vertical central en la tarjeta padre */
.mega-menu-body .menu-option-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important; /* <--- Centra verticalmente todo el contenido */
    justify-content: flex-start !important;
    padding: 0.5rem 0.75rem !important;
    height: 52px !important;
    max-height: 52px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mega-menu-body .menu-option-item:hover {
    background-color: #f4f6fc !important;
    border-color: #3b4277 !important;
    transform: translateY(-2px) !important;
}

/* Contenedor del ícono */
.mega-menu-body .icon-container {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    margin-right: 0.6rem !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important; /* Ocupa el 100% del alto disponible para centrar fácil */
}

/* Imagen del ícono */
.mega-menu-body .icon-container img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
    display: block !important;
    margin-top: 20px !important;
}

/* Contenedores de Texto */
.mega-menu-body .text-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    flex: 1 !important;
    overflow: hidden !important;
}

.mega-menu-body .option-title {
    color: #2e384d !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.8rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.mega-menu-body .option-desc {
    color: #9299a8 !important;
    font-size: 0.68rem !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ==========================================
   SECCIÓN INFERIOR - APPS MÓVILES
   ========================================== */
.mobile-apps-section {
    border-top: 1px dotted #dee2e6 !important;
    padding-top: 0.8rem !important;
    margin-top: auto !important; /* Asegura el empuje vertical hacia abajo */
}
.apps-title {
    color: #2e384d !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    margin-bottom: 0.1rem !important;
}

.apps-desc {
    color: #9299a8 !important;
    font-size: 0.68rem !important;
    margin-bottom: 0.5rem !important;
    line-height: 1.2 !important;
}

.btn-mobile-app {
    background-color: #8c5861 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0.25rem 0.75rem !important;
    font-size: 0.72rem !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: background-color 0.2s ease-in-out !important;
    height: 30px !important;
    gap: 4px !important;
}

.btn-mobile-app:hover {
    background-color: #73464f !important;
    color: #ffffff !important;
}

.btn-mobile-app img {
    width: 14px !important;
    height: 14px !important;
    object-fit: contain !important;
}