/* HavenMultiRow header styles. Loaded by header.php in this directory. */
/* ════════════════════════════════════════════════════════════════════════════
   HavenMultiRow: show the logo/contact topbar and full nav from lg up.
   Keep the compact mobile header only below 992px.
   ════════════════════════════════════════════════════════════════════════════ */

/* HavenMultiRow no longer uses the standalone topbar */
@media (min-width: 992px) {
    html body #sp-header-topbar {
        display: none !important;
    }
}

/* Hide the topbar below 992px */
@media (max-width: 991.98px) {
    html body #sp-header-topbar {
        display: none !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
    }
}

/* Tighten the topbar slightly between 992px and 1199px so logo/contact fit cleanly */
@media (min-width: 992px) and (max-width: 1199.98px) {
    html body #sp-header-topbar {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    html body #sp-header-topbar .haven-header-email,
    html body #sp-header-topbar .sp-contact-info,
    html body #sp-header-topbar .sp-contact-info > li,
    html body #sp-header-topbar .sp-contact-info > li > a,
    html body #sp-header-topbar .sp-contact-info > li > span {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    html body #sp-header-topbar ul.social-icons > li > a,
    html body #sp-header-topbar ul.social-icons > li > a > span {
        font-size: 16px !important;
    }

    html body #sp-header-topbar .haven-header-email {
        margin-right: 10px !important;
    }
}

/* Show the full menu from lg up, even though Helix marks it xl-only in markup */
@media (min-width: 992px) and (max-width: 1199.98px) {
    html body #sp-header.header-multirow .haven-menu-row > .col-6.d-block.d-lg-none {
        display: none !important;
    }

    html body #sp-header.header-multirow .haven-menu-row > .col-6.col-lg-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    html body #sp-header.header-multirow .haven-menu-row > .col-6.col-lg-12 > .d-flex {
        justify-content: center !important;
    }

    html body #sp-header .sp-megamenu-wrapper,
    html body #sp-header .sp-megamenu-wrapper.d-none,
    html body #sp-header ul.sp-megamenu-parent,
    html body #sp-header ul.sp-megamenu-parent.d-none {
        display: flex !important;
    }

    html body #sp-header #offcanvas-toggler,
    html body #sp-header .offcanvas-toggler-custom,
    html body #sp-header .offcanvas-toggler-secondary,
    html body #sp-header .menu-with-offcanvas {
        display: none !important;
    }
}

/* ── Megamenu: hover colors (sizes handled in header template) ── */
@media (min-width: 992px) {
    html body #sp-header .sp-megamenu-parent > li > a,
    html body #sp-header .sp-megamenu-parent > li > span {
        transition: color 0.2s ease !important;
    }
    html body #sp-header .sp-megamenu-parent > li > a:hover,
    html body #sp-header .sp-megamenu-parent > li > span:hover,
    html body #sp-header .sp-megamenu-parent > li:hover > a,
    html body #sp-header .sp-megamenu-parent > li:hover > span {
        color: #c56d18 !important;
    }
}

/* ── Kill any divider/shadow between topbar and lavender nav at all resolutions ── */
html body #sp-header-topbar,
html body #sp-header-topbar .container,
html body #sp-header-topbar .container-inner,
html body #sp-header-topbar::after,
html body #sp-header-topbar::before {
    border-bottom: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
}
html body #sp-header.lg-header.header-multirow,
html body #sp-header.lg-header,
html body #sp-header {
    border-top: 0 !important;
    box-shadow: none !important;
}
html body .sp-contact-info,
html body .sp-contact-info > li,
html body .sp-contact-info > li > a,
html body .sp-contact-info > li > span {
    font-size: 20px !important;
    line-height: 1.6 !important;
    color: #4e205b !important;
}
html body .sp-contact-info {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}
html body .sp-contact-info > li {
    padding: 2px 0 !important;
    line-height: 1.6 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
html body .sp-contact-info > li > a {
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
    max-width: 100% !important;
    display: inline-block !important;
}

html body ul.social-icons > li > a,
html body ul.social-icons > li > a > span {
    font-size: 22px !important;
    line-height: 1.6 !important;
    color: #4e205b !important;
}
html body ul.sp-contact-info > li:hover > span.fas,
html body ul.sp-contact-info > li:hover > span.far,
html body ul.sp-contact-info > li:hover > span,
html body ul.sp-contact-info > li:hover > a,
html body ul.sp-contact-info > li > a:hover,
html body ul.sp-contact-info > li > a:focus,
html body ul.sp-contact-info > li > a:active,
html body ul.sp-contact-info > li > span:hover,
html body ul.sp-contact-info > li.sp-contact-phone:hover > span,
html body ul.sp-contact-info > li.sp-contact-phone:hover > a,
html body ul.sp-contact-info > li.sp-contact-phone > a:hover,
html body ul.sp-contact-info > li.sp-contact-phone > a:focus,
html body ul.sp-contact-info > li.sp-contact-phone > a:active,
html body ul.sp-contact-info > li.sp-contact-mobile:hover > span,
html body ul.sp-contact-info > li.sp-contact-mobile:hover > a,
html body ul.sp-contact-info > li.sp-contact-mobile > a:hover,
html body ul.sp-contact-info > li.sp-contact-mobile > a:focus,
html body ul.sp-contact-info > li.sp-contact-mobile > a:active,
html body ul.sp-contact-info > li.sp-contact-email:hover > span,
html body ul.sp-contact-info > li.sp-contact-email:hover > a,
html body ul.sp-contact-info > li.sp-contact-email > a:hover,
html body ul.sp-contact-info > li.sp-contact-email > a:focus,
html body ul.sp-contact-info > li.sp-contact-email > a:active,
html body ul.social-icons > li > a:hover,
html body ul.social-icons > li > a:focus,
html body ul.social-icons > li > a:active,
html body ul.social-icons > li > a:hover > span,
html body ul.social-icons > li > a:focus > span,
html body ul.social-icons > li > a:active > span {
    color: #c56d18 !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* (nav font sizes now handled in breakpoint-specific rules above) */

@media (min-width: 1400px) {
    #sp-header.lg-header.header-multirow > .container,
    #sp-header-topbar > .container {
        max-width: min(1380px, calc(100vw - 32px)) !important;
    }
}

/* ── Dropdown menu: 14px text, auto-fit width ── */
.sp-megamenu-parent .sp-dropdown {
    min-width: max-content !important;
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    min-width: max-content !important;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > span:not(.sp-menu-badge) {
    font-size: 18px !important;
    display: block !important;
    white-space: nowrap !important;
    padding-right: 20px !important;
    transition: color 0.2s ease !important;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > span:not(.sp-menu-badge):hover,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover > span:not(.sp-menu-badge) {
    color: #c56d18 !important;
}

/* Ensure desktop hover works anywhere full menu is visible (lg+),
   even if JS leaves inline display:none on a dropdown. */
@media (min-width: 992px) {
    #sp-header.header-multirow .haven-menu-row,
    #sp-header.header-multirow .sp-megamenu-wrapper,
    #sp-header.header-multirow .sp-megamenu-parent {
        overflow: visible !important;
    }

    #sp-header.header-multirow .sp-megamenu-parent > li.sp-has-child:hover > .sp-dropdown,
    #sp-header.header-multirow .sp-megamenu-parent > li.sp-has-child:focus-within > .sp-dropdown,
    #sp-header.header-multirow .sp-megamenu-parent .sp-dropdown .sp-has-child:hover > .sp-dropdown,
    #sp-header.header-multirow .sp-megamenu-parent .sp-dropdown .sp-has-child:focus-within > .sp-dropdown {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 1200 !important;
    }
}
