/* =========================================
   1. Quick Navigation Grid & Cards
   ========================================= */

#dashboard .widget_nav_menu ul, 
.essentials .widget_nav_menu ul {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    list-style-type: none;
    margin-top: 15px;
    padding: 0;
}

#dashboard .widget_nav_menu ul .menu-item a, 
.essentials .widget_nav_menu ul .menu-item a {
    display: flex;
    flex-direction: column; /* Stacks Icon */
    align-items: center;
    justify-content: center;
    padding: 12px 10px !important; 
    gap: 3px !important;
    
    /* Modern Card Styling */
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
    
    /* Typography & Layout */
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    width: 100%; 
    box-sizing: border-box;
    
    /* Smooth transition for hover effects */
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#dashboard .widget_nav_menu ul .menu-item a:hover, 
.essentials .widget_nav_menu ul .menu-item a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.08);
    border-color: #900000 !important;
}

#dashboard .widget_nav_menu ul .menu-item a i, 
.essentials .widget_nav_menu ul .menu-item a i {
    font-size: 1.5em;
    color: var(--wj-red) !important;
    margin-bottom: 4px;
}

/* =========================================
   2. News Carousel Height & Overlay Fixes
   ========================================= */

/* Remove aspect ratio lock */
.owl-item article.news-item {
    aspect-ratio: auto !important; 
    height: 100% !important;
}

/* Force the carousel chain to fill the height */
.owl-carousel,
.owl-carousel .owl-stage-outer,
.owl-carousel .owl-stage,
.owl-carousel .owl-item {
    height: 100% !important;
}

/* Set wrapper for overlapping layers */
.owl-item .news-item .news-link {
    position: relative;
    overflow: hidden; 
    height: 100% !important;
    display: block;
}

/* Pin background image to the back */
.owl-item .news-item .bg-img {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
    z-index: 1;
}

/* Pull the dark gradient overlay over the image */
.owl-item .news-item .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%; 
    z-index: 2;
}

/* Anchor text content to the bottom and bring to front */
.owl-item .news-item .news-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    box-sizing: border-box; 
}