/* ============================================
   PERFORMANCE & COMPATIBILITY FIXES
   Load this AFTER portal.css
   ============================================ */

/* Force hardware acceleration for animations */
.navbar-custom,
.navbar-premium,
.nav-link,
.btn,
.step-card,
.feature-card {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: transform;
}

    /* Prevent repaint/reflow issues */
    .navbar-custom .navbar-nav,
    .navbar-premium .navbar-nav {
        contain: layout;
    }

/* Fix for Chrome rendering issues */
.navbar-custom,
.navbar-premium {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

/* Optimize text rendering in Chrome */
body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Fix Bootstrap conflicts from universal reset */
.navbar,
.nav,
.navbar-nav,
.nav-item,
.nav-link,
.navbar-brand,
.navbar-toggler,
.collapse,
.dropdown,
.dropdown-menu {
    /* Restore Bootstrap defaults that were removed */
}

/* Mobile: Bootstrap collapse works */
@media (max-width: 991.98px) {
    .navbar-expand-lg .navbar-collapse {
        display: none; /* hidden when collapsed */
        width: 100%;
    }

        .navbar-expand-lg .navbar-collapse.show {
            display: block; /* shown when expanded */
        }
}

/* Desktop: always show nav */
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: flex;
        flex-basis: auto;
    }
}

/* Fix container overflow issues */
.container,
.container-fluid {
    overflow: visible;
}

/* Prevent layout shift */
img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Reduce repaint on hover */
.nav-link,
.btn,
.social-link,
.step-card {
    transition-property: transform, box-shadow, background-color, color;
    transition-duration: 0.3s;
    transition-timing-function: ease;
}

/* Fix for Chrome animation performance */
@media (prefers-reduced-motion: no-preference) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Load animations only when in viewport */
[data-aos] {
    pointer-events: auto;
}

/* Optimize large background images */
.hero-section,
.hero-section-premium,
.cta-section {
    background-attachment: scroll;
    -webkit-background-attachment: scroll;
}

/* Fix for Chrome flex layout issues */
.d-flex,
.flex-column,
.flex-row {
    -webkit-box-orient: initial;
    -webkit-box-direction: normal;
}

/* Ensure proper stacking context */
.navbar-custom,
.navbar-premium {
    position: sticky;
    top: 0;
    z-index: 1030;
}

.hero-section,
.hero-section-premium {
    position: relative;
    z-index: 1;
}

    /* Reduce composite layers */
    .hero-section::before,
    .hero-section-premium::before,
    .cta-section::before {
        will-change: auto;
    }

/* Chrome-specific fixes */
@supports (-webkit-appearance: none) {
    /* Fix for Chrome text rendering */
    body {
        font-synthesis: none;
        text-rendering: optimizeSpeed;
    }
    /* Fix for Chrome flex shrink issues */
    .navbar-nav .nav-link span {
        flex-shrink: 1;
        min-width: 0;
    }
}
