/**
 * NAVBAR ICONS VISIBLE
 * Ensures theme toggle (moon/sun) and menu button (hamburger) icons are always visible
 * Prevents icons from showing as placeholders or rectangles
 */

/* Theme Toggle Icon - Force Visibility (Dark Gray Icon) */
.theme-toggle,
#theme-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #333 !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

.theme-toggle i,
.theme-toggle .fas,
.theme-toggle .fa-moon,
.theme-toggle .fa-sun,
#theme-toggle i,
#theme-toggle .fas,
#theme-toggle .fa-moon,
#theme-toggle .fa-sun {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: 20px !important;
    min-height: 20px !important;
    color: #333 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure ::before pseudo-element (where Font Awesome renders) is visible */
.theme-toggle i::before,
.theme-toggle .fas::before,
.theme-toggle .fa-moon::before,
.theme-toggle .fa-sun::before,
#theme-toggle i::before {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    color: #333 !important;
}

/* Menu Button Icon - Force Visibility (Light Gray Background, Dark Icon) */
.menu-btn,
#nav-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #f5f5f5 !important;
    border: none !important;
    border-radius: 8px !important;
    color: #333 !important;
    cursor: pointer !important;
    width: 40px !important;
    height: 36px !important;
    min-width: 40px !important;
    min-height: 36px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.menu-btn i,
.menu-btn .fas,
.menu-btn .fa-bars,
#nav-toggle i,
#nav-toggle .fas,
#nav-toggle .fa-bars {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: 18px !important;
    min-height: 18px !important;
    color: #333 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure ::before pseudo-element (where Font Awesome renders) is visible */
.menu-btn i::before,
.menu-btn .fas::before,
.menu-btn .fa-bars::before,
#nav-toggle i::before {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    color: #333 !important;
}

/* Buttons in nav-links */
.nav-links .theme-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #333 !important;
    cursor: pointer !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
}

.nav-links .menu-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 36px !important;
    min-width: 40px !important;
    min-height: 36px !important;
    max-width: 40px !important;
    max-height: 36px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 8px !important;
    background: #f5f5f5 !important;
    color: #333 !important;
    cursor: pointer !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.nav-links .theme-toggle i,
.nav-links .theme-toggle .fas,
.nav-links .theme-toggle .fa-moon,
.nav-links .theme-toggle .fa-sun {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: 20px !important;
    min-height: 20px !important;
    color: #333 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nav-links .menu-btn i,
.nav-links .menu-btn .fas,
.nav-links .menu-btn .fa-bars {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: 18px !important;
    min-height: 18px !important;
    color: #333 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure ::before pseudo-elements are visible in nav-links */
.nav-links .theme-toggle i::before,
.nav-links .menu-btn i::before {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    color: #333 !important;
}

/* Dark Mode */
body.dark-mode .theme-toggle,
body.dark-mode .menu-btn {
    border-color: var(--dark-border-color, #444) !important;
    color: var(--dark-text-color, #eee) !important;
}

body.dark-mode .theme-toggle i,
body.dark-mode .menu-btn i {
    color: var(--dark-text-color, #eee) !important;
}

/* Hover States */
.theme-toggle:hover {
    background: transparent !important;
    color: #000 !important;
}

.theme-toggle:hover i {
    color: #000 !important;
}

.menu-btn:hover {
    background: #e8e8e8 !important;
    color: #333 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}

.menu-btn:hover i {
    color: #333 !important;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .nav-links .theme-toggle {
        width: auto !important;
        height: auto !important;
    }
    
    .nav-links .menu-btn {
        width: 36px !important;
        height: 32px !important;
        min-width: 36px !important;
        min-height: 32px !important;
        max-width: 36px !important;
        max-height: 32px !important;
    }
    
    .nav-links .theme-toggle i {
        font-size: 1.2rem !important;
    }
    
    .nav-links .menu-btn i {
        font-size: 1rem !important;
    }
}

/* Override any conflicting styles */
.theme-toggle *,
.menu-btn * {
    color: #333 !important;
}

.theme-toggle::before,
.menu-btn::before,
.theme-toggle::after,
.menu-btn::after {
    display: none !important;
}
