/* WordPress integration — Commercial Healthcare page
   Keeps NCCI header/footer; matches Lovable spacing with full-viewport hero. */

:root {
    --ch-header-h: 76px;
    --blue1: #00B4EF;
    --blue2: #0072BB;
    --blue3: #004184;
    --blue4: #000D42;
}

@media (min-width: 992px) {
    :root {
        --ch-header-h: 100px;
    }
}

html:has(body.page-commercial-healthcare),
html:has(body.page-template-page-templates-page-commercial-healthcare-php) {
    background: #030712;
}

body.page-template-page-templates-page-commercial-healthcare-php,
body.page-commercial-healthcare,
body.ch-page {
    background: #030712 !important;
    font-family: 'Raleway', sans-serif !important;
    margin: 0;
    padding: 0;
}

body.page-commercial-healthcare #page,
body.page-commercial-healthcare #content,
body.page-commercial-healthcare .site-content {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Fixed navbar is out of flow — do not reserve masthead height */
body.page-commercial-healthcare #masthead.site-header {
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
}

body.page-commercial-healthcare #empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ch-page-wrap {
    overflow-x: hidden;
    width: 100%;
    isolation: isolate;
    margin: 0;
    --background: oklch(100% 0 0);
    --foreground: oklch(12.9% .042 264.695);
    --muted-foreground: oklch(55.4% .046 257.417);
    --ncci-navy: oklch(21% .07 258);
    --ncci-navy-deep: #000d42;
    --ncci-blue: oklch(72% .16 235);
    --ncci-blue-soft: oklch(85% .09 230);
    --ncci-blue-deep: #004184;
    --ncci-border: #e2e8f0;
    --ncci-surface: #f8fafc;
}

.ch-page-wrap *,
.ch-page-wrap *::before,
.ch-page-wrap *::after {
    box-sizing: border-box;
}

.ch-page-wrap main {
    min-height: 100vh;
    font-family: 'Raleway', sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ch-page-wrap .font-raleway,
.ch-page-wrap [class*="font-raleway"] {
    font-family: 'Raleway', sans-serif !important;
}

.ch-page-wrap .text-muted-foreground {
    color: var(--muted-foreground);
}

/* Full-viewport hero: image fills screen; NCCI menu overlays on top */
.ch-page-wrap main > section:first-child {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ch-page-wrap main > section:first-child > .absolute.inset-0 {
    position: absolute;
    inset: 0;
    z-index: 0;
    min-height: 100%;
    pointer-events: none;
}

.ch-page-wrap main > section:first-child > .absolute.inset-0 img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}

.ch-page-wrap main > section:first-child > .mx-auto.grid.max-w-7xl {
    position: relative;
    z-index: 1;
    width: 100%;
    flex: 0 0 auto;
    /* Reference py-20, but never under the fixed header */
    padding-top: max(5rem, calc(var(--ch-header-h) + 1.25rem)) !important;
    padding-bottom: 5rem !important;
}

@media (min-width: 768px) {
    .ch-page-wrap main > section:first-child > .mx-auto.grid.max-w-7xl {
        padding-top: max(7rem, calc(var(--ch-header-h) + 1.5rem)) !important;
        padding-bottom: 7rem !important;
    }
}

@media (min-width: 1024px) {
    .ch-page-wrap main > section:first-child > .mx-auto.grid.max-w-7xl {
        padding-top: max(8rem, calc(var(--ch-header-h) + 1.5rem)) !important;
        padding-bottom: 8rem !important;
    }
}

/* NCCI header on dark hero */
body.page-commercial-healthcare #navbar {
    background: #fff;
    box-shadow: 0 10px 52px rgba(0, 0, 0, 0.3);
    z-index: 50;
    overflow: visible;
}

body.page-commercial-healthcare #navbar .navbar-content,
body.page-commercial-healthcare #navbar #menu-navbar,
body.page-commercial-healthcare #navbar .navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}

body.page-commercial-healthcare #navbar li.menu-item {
    display: list-item;
    margin: 0 7.3% 0 0 !important;
    padding: 0 0 4px !important;
    align-self: center;
}

body.page-commercial-healthcare #navbar .navbar-brand.white-logo-active .nav-logo-white {
    display: block;
}

body.page-commercial-healthcare #navbar .navbar-brand.white-logo-active .nav-logo-blue {
    display: none;
}

body.page-commercial-healthcare #footer {
    margin-top: 0;
    position: relative;
    z-index: 30;
    clear: both;
    background-color: #000D42 !important;
}

body.page-commercial-healthcare #footer .all-rights {
    background-color: #000D42 !important;
}

body.page-commercial-healthcare .ch-page-wrap {
    position: relative;
    z-index: 1;
}

#lovable-badge {
    display: none !important;
}

/* Who We Support: match reference card heights (no column stretch) */
@media (width >= 64rem) {
    .ch-page-wrap .mt-10.grid.lg\:grid-cols-5 {
        align-items: start;
    }

    .ch-page-wrap .mt-10.grid.lg\:grid-cols-5 > .grid.lg\:col-span-2 {
        align-content: start;
    }
}

.ch-page-wrap main > section {
    scroll-margin-top: var(--ch-header-h);
}

.ch-page-wrap .nr-node:hover .nr-tip,
.ch-page-wrap .nr-node:focus .nr-tip,
.ch-page-wrap .nr-node.nr-node-active .nr-tip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
