/* ============================================
   NAVBAR FIX - Prevents Content Overlap
   Global fix for fixed-top navbar spacing
   ============================================ */

/* Ensure navbar has proper z-index */
.navbar.fixed-top,
.navbar.fixed-top.landing-navbar {
    z-index: 1030 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
}

/* Landing page navbar styling - Keep dark gray like other pages */
.landing-navbar {
    background: #1f2937 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Calculate navbar height dynamically */
.navbar {
    min-height: auto !important;
}

/* Body padding for fixed navbar - calculated based on logo height */
body {
    padding-top: 0 !important; /* Let individual sections handle their own padding */
}

/* Landing page hero section - specific fix */
/* Note: Landing page handles its own padding to accommodate stage labels */
.landing-hero {
    /* Let landing.php handle padding-top for animation labels */
}

/* Other sections that come after fixed navbar */
section:first-of-type:not(.landing-hero),
main:first-of-type {
    padding-top: 160px !important;
}

/* Responsive adjustments */
@media (max-width: 992px) {
    section:first-of-type:not(.landing-hero),
    main:first-of-type {
        padding-top: 140px !important;
    }
}

@media (max-width: 768px) {
    section:first-of-type:not(.landing-hero),
    main:first-of-type {
        padding-top: 120px !important;
    }
}

@media (max-width: 576px) {
    section:first-of-type:not(.landing-hero),
    main:first-of-type {
        padding-top: 110px !important;
    }
}

/* Ensure navbar doesn't overlap content on scroll */
.navbar.fixed-top + * {
    margin-top: 0 !important;
}

/* Fix for smooth scrolling with fixed navbar */
html {
    scroll-padding-top: 160px;
}

@media (max-width: 992px) {
    html {
        scroll-padding-top: 140px;
    }
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 120px;
    }
}

@media (max-width: 576px) {
    html {
        scroll-padding-top: 110px;
    }
}

