/* Video Background */
.video-background-container,
.video-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    z-index: -2;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.video-background-container video,
.video-bg video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100vw;
    min-height: 100vh;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.video-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    background: linear-gradient(180deg,
        rgba(9,9,11,0.3) 0%,
        rgba(9,9,11,0.5) 30%,
        rgba(9,9,11,0.8) 60%,
        rgba(9,9,11,0.95) 100%);
    pointer-events: none;
    margin: 0;
    padding: 0;
}

html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow-x: hidden;
}

/* Ensure content is above video - but NOT nav (preserve fixed positioning) */
section, footer, header, main, .content {
    position: relative;
    z-index: 1;
}

/* Fixed promo banner at very top */
.promo-banner {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 60 !important;
}

/* Default: nav at top (for pages without promo banner) */
nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 50 !important;
}

/* When promo banner exists, push nav down (44px is promo height) */
.promo-banner ~ nav {
    top: 44px !important;
}

/* Body class alternative for pages with promo banner */
body.has-promo nav {
    top: 44px !important;
}
