/* UNIVERSAL BROWSER FIX - Works for ALL browsers */
/* Chrome, Firefox, Safari, Edge, Opera, etc. */
/* This file MUST load LAST to override all other styles */
/* Ensures consistent output across all web pages */

/* Force html and body visible and clickable (universal) */
html,
body {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    overflow: auto !important;
    height: auto !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
}

/* Force hero section visible with gradient (universal) */
.hero,
#home,
section#home {
    /* Universal flexbox support */
    display: -webkit-flex !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;
    /* Universal gradient support */
    background-image: -webkit-linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    background-image: -moz-linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    background-size: cover !important;
    -webkit-background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    color: white !important;
    flex-direction: column !important;
    -webkit-flex-direction: column !important;
    justify-content: center !important;
    -webkit-justify-content: center !important;
    align-items: center !important;
    -webkit-align-items: center !important;
    text-align: center !important;
    pointer-events: auto !important;
    /* Universal transform support */
    -webkit-transform: translateZ(0) !important;
    -moz-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Force hero content visible (universal) */
.hero-content,
.hero > div,
#home > div {
    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;
    pointer-events: auto !important;
    -webkit-transform: translateZ(0) !important;
    -moz-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Force hero h1 visible (universal) */
.hero h1,
#home h1,
.hero-content h1 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: white !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
    pointer-events: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    -webkit-text-stroke: 0 !important;
}

/* Force hero subtitle visible (universal) */
.hero p,
#home p,
.hero-content p {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: white !important;
    font-size: 1.5rem !important;
    margin-bottom: 30px !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3) !important;
    pointer-events: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Force hero buttons visible and clickable (universal) */
.hero-buttons,
.hero .button,
#home .button,
.hero a,
#home a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    user-select: auto !important;
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    z-index: 100 !important;
    position: relative !important;
}

/* Force all sections visible (universal) */
section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 80px 20px !important;
    pointer-events: auto !important;
    -webkit-transform: translateZ(0) !important;
    -moz-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Force main content visible (universal) */
main,
#main-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    pointer-events: auto !important;
}

/* Force navbar visible and clickable (universal) */
.navbar,
nav,
header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1000 !important;
    pointer-events: auto !important;
}

/* Force ALL nav links clickable (universal) */
.nav-links a,
nav a,
.navbar a,
header a,
.nav-link,
a[href] {
    pointer-events: auto !important;
    cursor: pointer !important;
    user-select: auto !important;
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    z-index: 1001 !important;
    position: relative !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1) !important;
}

/* Force ALL buttons clickable (universal) */
button,
.btn,
[role="button"],
[onclick] {
    pointer-events: auto !important;
    cursor: pointer !important;
    user-select: auto !important;
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    z-index: 100 !important;
    position: relative !important;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1) !important;
}

/* Remove any loading states (universal) */
html.loading,
body.loading,
html.hidden,
body.hidden,
html.blocked,
body.blocked,
html.buffering,
body.buffering,
html.initial-load,
body.initial-load,
html.preload,
body.preload {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    pointer-events: auto !important;
}

/* Remove blocking overlays (universal) */
.overlay:not(.active),
.loading-overlay:not(.active),
.blocking-overlay:not(.active) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Ensure active overlay only blocks when sidebar is active */
.overlay.active:not(:has(+ .sidebar.active)) {
    pointer-events: none !important;
}

/* Ensure text is visible (universal) */
h1, h2, h3, h4, h5, h6, p, span, div, a, li {
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
    pointer-events: auto !important;
}

/* Force all interactive elements clickable (universal) */
a, button, [role="button"], [onclick], input, select, textarea {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Universal font smoothing */
* {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Ensure forms are interactive (universal) */
form {
    pointer-events: auto !important;
}

form * {
    pointer-events: auto !important;
}

/* Universal flexbox support */
.hero,
.hero-content,
.hero-buttons,
.nav-links {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: flex !important;
}

/* Universal transform support */
.hero,
.hero-content {
    -webkit-transform: translateZ(0) !important;
    -moz-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Universal smooth scrolling */
html {
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
}

/* Ensure containers visible (universal) */
.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;
    pointer-events: auto !important;
}

/* Universal image visibility */
img {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
    height: auto !important;
}
