/* ── Sticky logo swap: desktop only (≥992px) ── */
#sp-header .logo .logo-sticky {
    display: none !important;
}
@media (min-width: 992px) {
    #sp-header.header-sticky .logo-sticky {
        display: inline-block !important;
    }
    #sp-header.header-sticky .logo-default {
        display: none !important;
    }
}

/* ── Header: allow height to grow (but not when sticky — let template param win) ── */
#sp-header:not(.header-sticky) {
    height: auto !important;
    min-height: 60px;
}

/* (header layout handled in HavenMultiRow header.php inline styles) */

/* Consistent left/right gap in header across all breakpoints.
   Default Bootstrap .container caps width (540/720/960/1140) and centers,
   which makes the header gap change at every breakpoint and creates
   asymmetric space between the logo/hamburger and the viewport edges.
   Force full-width container with steady horizontal padding instead. */
#sp-header .container,
#sp-header > .container,
#sp-header-topbar .container {
    max-width: 100% !important;
    padding-left: clamp(16px, 3vw, 48px) !important;
    padding-right: clamp(16px, 3vw, 48px) !important;
}

/* ── Below-menu button strip ── */
#sp-below-menu,
#sp-below-menu * {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
#sp-below-menu [id^="column-wrap-id-"] {
    max-width: 100% !important;
    flex-basis: 100% !important;
}
#sp-below-menu {
    padding: 6px 0 10px !important;
}
#sp-below-menu .sppb-addon-content {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center;
    gap: 12px;
}
#sp-below-menu .sppb-btn {
    font-size: 18px !important;
    white-space: normal !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
#sp-below-menu .sppb-btn:hover,
#sp-below-menu .sppb-btn:focus,
#sp-below-menu .sppb-btn:active {
    background-color: #c56d18 !important;
    border-color: #c56d18 !important;
}

/* ── Body must not clip top of page ── */
html, body {
    overflow-x: hidden !important;
    overflow-y: visible !important;
}
html body.site {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
html body .body-wrapper,
html body .body-innerwrapper {
    overflow: visible !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ── Top bar: enlarge text + icons (color comes from $topbar_text_color via theme.scss) ── */
html body #sp-header-topbar,
html body #sp-top-bar {
    overflow: visible !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    position: relative !important;
    box-sizing: border-box !important;
    display: block !important;
    transform: none !important;
    top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}
html body #sp-header-topbar *,
html body #sp-top-bar * {
    box-sizing: border-box !important;
    max-width: 100% !important;
}
html body #sp-header-topbar .container,
html body #sp-header-topbar .container-inner,
html body #sp-top-bar .container,
html body #sp-top-bar .container-inner {
    overflow: visible !important;
    height: auto !important;
}
html body #sp-header-topbar .container-inner > .row,
html body #sp-top-bar .container-inner > .row {
    min-height: 0 !important;
    height: auto !important;
    align-items: center !important;
    margin: 0 !important;
}

/* ── FAQ accordion: visual cue that titles are clickable ── */
/* ── Responsive iframes (maps, videos) ── */
iframe {
    max-width: 100% !important;
}

/* ── Mission statement box: tighten on mobile ── */
@media (max-width: 575.98px) {
    #column-id-jQCKUuWE8N9x389DvCX1C {
        border-radius: 20px !important;
        padding: 20px 15px !important;
    }
    #column-id-jQCKUuWE8N9x389DvCX1C .sppb-column-overlay {
        border-radius: 20px !important;
    }
    #column-id-jQCKUuWE8N9x389DvCX1C .sppb-btn {
        display: inline-flex !important;
        width: auto !important;
        max-width: none !important;
    }
    #column-id-jQCKUuWE8N9x389DvCX1C .sppb-button-wrapper {
        text-align: center !important;
    }
    #column-wrap-id-jQCKUuWE8N9x389DvCX1C {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    #section-id-NMPThRRlKzENnu8_zHxnZ > .sppb-row-container > .sppb-row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        justify-content: center !important;
    }
    #section-id-NMPThRRlKzENnu8_zHxnZ > .sppb-row-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.sppb-addon-accordion .sppb-panel-heading {
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}
.sppb-addon-accordion .sppb-panel-heading:hover,
.sppb-addon-accordion .sppb-panel-heading:hover .sppb-panel-title,
.sppb-addon-accordion .sppb-panel-heading:hover .sppb-panel-title a {
    background-color: #c56d18 !important;
    color: #fff !important;
}
.sppb-addon-accordion .sppb-panel-heading:hover .sppb-panel-title,
.sppb-addon-accordion .sppb-panel-heading:hover .sppb-panel-title a {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* ── Service boxes: equal height, rounded corners, button alignment ── */

/* Parent row: stretch columns to equal height */
.service-row > .sppb-row-container > .sppb-row {
    align-items: stretch !important;
    row-gap: 20px !important;
}
.service-row {
    padding-bottom: 20px !important;
}
@media (max-width: 575.98px) {
    .service-row > .sppb-row-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .service-row > .sppb-row-container > .sppb-row {
        justify-content: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .service-row > .sppb-row-container > .sppb-row > .sppb-row-column {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .service-row .sppb-section.bottom-border,
    .service-row .sppb-addon-content,
    .service-row .sppb-addon-title,
    .service-row .sppb-button-wrapper {
        text-align: center !important;
    }
}
.service-row > .sppb-row-container > .sppb-row > .sppb-row-column {
    display: flex !important;
    flex-direction: column !important;
}
.service-row > .sppb-row-container > .sppb-row > .sppb-row-column > .sppb-column {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
.service-row > .sppb-row-container > .sppb-row > .sppb-row-column > .sppb-column > .sppb-column-addons {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    border-radius: 35px !important;
    overflow: hidden !important;
}

/* Card: stretch to fill remaining space after image */
.sppb-section.bottom-border {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}
.sppb-section.bottom-border > .sppb-container-inner {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row {
    flex: 1 1 auto !important;
    align-items: stretch !important;
}
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row > .sppb-row-column {
    display: flex !important;
    flex-direction: column !important;
}
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row > .sppb-row-column > .sppb-column {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row > .sppb-row-column > .sppb-column > .sppb-column-addons {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

/* Push Learn More button to bottom */
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row > .sppb-row-column > .sppb-column > .sppb-column-addons > .addon-root-text-block {
    flex: 1 1 0 !important;
}
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row > .sppb-row-column > .sppb-column > .sppb-column-addons > .addon-root-empty-space,
.sppb-section.bottom-border > .sppb-container-inner > .sppb-row > .sppb-row-column > .sppb-column > .sppb-column-addons > .addon-root-button {
    flex: 0 0 auto !important;
}

/* ── Center images in columns marked sppb-align-items-center ── */
html body .sppb-column.sppb-align-items-center > .sppb-column-addons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
html body .sppb-column.sppb-align-items-center .sppb-addon-single-image-container {
    display: flex !important;
    justify-content: center !important;
}
html body .sppb-column.sppb-align-items-center .sppb-addon-single-image-container img {
    margin: 0 auto !important;
}

/* ── Contact page: form layout and Turnstile ── */
@media (max-width: 767.98px) {
    .rsform-block .formControlLabel,
    .rsform-block .formControls {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
html body .cf-turnstile,
html body .cf-turnstile iframe {
    max-width: 100% !important;
}
html body .rsform-block-capcha {
    clear: both !important;
    width: 100% !important;
    overflow: hidden !important;
}

/* ── RSForm submit buttons: round pill, brand colors ── */
.rsform-submit-button.btn.btn-primary {
    border-radius: 100px !important;
    background-color: #9472ad !important;
    border-color: #9472ad !important;
    color: #fff !important;
    padding: 10px 30px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
.rsform-submit-button.btn.btn-primary:hover,
.rsform-submit-button.btn.btn-primary:focus,
.rsform-submit-button.btn.btn-primary:active {
    background-color: #c56d18 !important;
    border-color: #c56d18 !important;
    color: #fff !important;
}

