
/* BEMCP:nz-gradient-text — managed block, do not edit inline. */
/* Sky-to-lime gradient text. Elementor has no background-clip:text control.
   Add "nz-gradient-text" as a CSS class on a heading/text widget, or wrap the
   words in <span class="nz-gradient-text"> inside a heading's title. */
.nz-gradient-text,
.nz-gradient-text .elementor-heading-title,
.nz-gradient-text .elementor-widget-container p {
    background-image: linear-gradient(90deg, var(--e-global-color-nzsky300) 0%, var(--e-global-color-nzlime500) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* Inline spans need a block context for the gradient box to size to the text. */
span.nz-gradient-text {
    display: inline-block;
}
/* /BEMCP:nz-gradient-text */

/* BEMCP:nz-promo-strip — managed block, do not edit inline. */
/* Promo bar gradient. Three colour stops, which Elementor's two-stop gradient
   control cannot express. Leave the container's own background unset so this
   is the only background rule in play. */
.nz-promo-strip {
    background-image: linear-gradient(90deg,
        var(--e-global-color-nzlime500) 0%,
        var(--e-global-color-nzlime300) 31.25%,
        var(--e-global-color-nzlime400) 100%);
}
/* /BEMCP:nz-promo-strip */

/* BEMCP:nz-mobile-menu — managed block, do not edit inline. */
/* Mobile menu, ported from the pattern inlined in the legacy ot_header_builders
   header (post 4404) so the NZ 2026 theme-builder header behaves identically.
   Class names deliberately match the originals. Rules are written flat rather
   than nested so they do not depend on CSS nesting support.
   The hide/show rules carry !important because the panel is an Elementor
   container: .e-con sets display from its own --display variable at the same
   specificity, and in the original these rules were inline page CSS that always
   won on order. */

.mobile-menu-trigger {
    cursor: pointer;
}

.mobile-menu-trigger #mobile-menu-open {
    display: flex;
}

.mobile-menu-trigger #mobile-menu-close {
    display: none;
}

.mobile-menu-trigger.active #mobile-menu-open {
    display: none;
}

.mobile-menu-trigger.active #mobile-menu-close {
    display: flex;
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100svh;
    background-color: rgba(33, 33, 33, 0.60);
    z-index: 9;
}

.mobile-menu,
.mobile-menu-overlay {
    display: none !important;
}

@media screen and (max-width: 1024px) {
    .mobile-menu.active,
    .mobile-menu-overlay.active {
        display: flex !important;
    }

    html.noscroll {
        touch-action: none;
        overflow: hidden;
    }
}
/* /BEMCP:nz-mobile-menu */

/* BEMCP:nz-visibility — managed block, do not edit inline. */
/* Header visibility utilities. Elementor's hide_desktop/hide_tablet settings
   emit a breakpoint-less class on this install, so the NZ header switches on
   these instead. 1024px matches the breakpoint the ported mobile menu uses. */
.nz-desktop-only {
    display: flex;
}

.nz-mobile-only {
    display: none;
}

@media screen and (max-width: 1024px) {
    .nz-desktop-only {
        display: none !important;
    }

    .nz-mobile-only {
        display: flex !important;
    }
}
/* /BEMCP:nz-visibility */

/* BEMCP:nz-legal — managed block, do not edit inline. */
/* Legal pages (privacy policy, terms and conditions).
   Clause numbers are literal text because the documents cross-reference each
   other by number, so they must survive copy/paste and any later editing.
   This block only supplies the hanging indent and the nested list styles, so
   the markup in the editor stays clean. Add "nz-legal" to the section container. */

.nz-legal p {
    margin-bottom: .85em;
}

.nz-legal p:last-child {
    margin-bottom: 0;
}

/* Numbered clause: <p class="cl"><strong>7.5</strong>&nbsp;&nbsp;Refunds will be… */
.nz-legal .cl {
    padding-left: 3em;
    text-indent: -3em;
}

.nz-legal ol {
    margin: 0 0 .85em;
    padding-left: 5.4em;
}

.nz-legal ol li {
    margin-bottom: .5em;
}

.nz-legal ol li:last-child {
    margin-bottom: 0;
}

.nz-legal ol.alpha {
    list-style-type: lower-alpha;
}

.nz-legal ol.roman {
    list-style-type: lower-roman;
    padding-left: 7.6em;
}

@media screen and (max-width: 767px) {
    .nz-legal .cl {
        padding-left: 2.4em;
        text-indent: -2.4em;
    }

    .nz-legal ol {
        padding-left: 2.6em;
    }

    .nz-legal ol.roman {
        padding-left: 3.2em;
    }
}
/* /BEMCP:nz-legal */
