/* SAFARI COMPLETE FIX - Aggressive CSS to ensure all content displays */
/* This file MUST load LAST to override all other styles */

/* Force html and body visible */
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;
    -webkit-font-smoothing: antialiased !important;
}

/* Force hero section visible with gradient */
.hero,
#home,
section#home {
    display: -webkit-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: -webkit-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;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Force hero content visible */
.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;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Force hero h1 visible */
.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;
    -webkit-font-smoothing: antialiased !important;
    -webkit-text-stroke: 0 !important;
}

/* Force hero subtitle visible */
.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;
    -webkit-font-smoothing: antialiased !important;
}

/* Force hero buttons visible */
.hero-buttons,
.hero .button,
#home .button {
    display: -webkit-flex !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    gap: 1rem !important;
    justify-content: center !important;
    -webkit-justify-content: center !important;
    margin-top: 30px !important;
    flex-wrap: wrap !important;
    -webkit-flex-wrap: wrap !important;
}

/* Force all sections visible */
section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 80px 20px !important;
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(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;
    width: 100% !important;
}

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

/* Force nav links clickable */
.nav-links a,
nav a,
.navbar a {
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-user-select: auto !important;
    user-select: auto !important;
}

/* Remove any loading states */
html.loading,
body.loading,
html.hidden,
body.hidden,
html.blocked,
body.blocked,
html.buffering,
body.buffering {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

/* Remove blocking overlays */
.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 text is visible */
h1, h2, h3, h4, h5, h6, p, span, div, a, li {
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
    -webkit-font-smoothing: antialiased !important;
}

/* Safari-specific flexbox fix */
.hero,
.hero-content,
.hero-buttons {
    display: -webkit-flex !important;
    display: flex !important;
}

/* Safari-specific transform fix */
.hero,
.hero-content {
    -webkit-transform: translateZ(0) !important;
    transform: translateZ(0) !important;
}

/* Fix for Safari rendering issues */
* {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
