/* FIREFOX CONTENT VISIBILITY FIX - Critical for Firefox browser */
/* This file ensures all content is visible in Mozilla Firefox */
/* Loads LAST to override all other CSS */

/* Force html and body visible first */
html,
body {
    visibility: visible !important;
    opacity: 1 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Force main content visible */
main,
#main-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    min-height: auto !important;
    width: 100% !important;
    background-color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Force hero section visible */
.hero,
#home {
    display: -moz-box !important;
    display: -moz-flex !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    min-height: 100vh !important;
    width: 100% !important;
    margin-top: 60px !important;
    padding: 150px 20px 100px !important;
    background-color: #1a1a2e !important;
    background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Force hero content visible */
.hero-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

/* Force all hero text visible */
.hero h1,
.hero p,
.hero-buttons,
.hero-scroll-indicator {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: white !important;
    position: relative !important;
    z-index: 11 !important;
}

.hero h1 {
    font-size: 3.5rem !important;
    margin-bottom: 20px !important;
    font-weight: 700 !important;
}

.hero p {
    font-size: 1.5rem !important;
    margin-bottom: 30px !important;
}

.hero-buttons {
    display: -moz-box !important;
    display: -moz-flex !important;
    display: flex !important;
    gap: 1rem !important;
    justify-content: center !important;
    margin-top: 30px !important;
}

/* Force all sections visible */
section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 80px 20px !important;
}

/* Force containers visible */
.container,
.about-container,
.projects-container,
.resources-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Remove any blocking overlays */
.overlay:not(.active) {
    display: none !important;
    pointer-events: none !important;
}

/* Fix for Firefox rendering */
* {
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
}

/* Ensure text is readable */
h1, h2, h3, h4, h5, h6, p, span, div, a, li {
    color: inherit !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Fix for Firefox flexbox */
.hero,
.hero-content,
.nav-links,
.about-container,
.projects-container {
    display: -moz-box !important;
    display: -moz-flex !important;
    display: flex !important;
}

/* Firefox-specific transform fix */
.hero,
.hero-content {
    -moz-transform: translateZ(0);
    transform: translateZ(0);
}

/* Remove any loading states that hide content */
body.loading,
html.loading,
body.hidden,
html.hidden {
    visibility: visible !important;
    opacity: 1 !important;
}
