.elementor-5169 .elementor-element.elementor-element-b288436{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5169 .elementor-element.elementor-element-3801f2c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5169 .elementor-element.elementor-element-f0f033b{--display:flex;}.elementor-5169 .elementor-element.elementor-element-4881ce4{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );}.elementor-5169 .elementor-element.elementor-element-b26041f{--display:flex;}.elementor-5169 .elementor-element.elementor-element-f9f4268{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5169 .elementor-element.elementor-element-b582c16{--display:flex;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-5169 .elementor-element.elementor-element-be73608 .elementor-icon-wrapper{text-align:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5169 .elementor-element.elementor-element-b41af82{--display:flex;}.elementor-5169 .elementor-element.elementor-element-f02f37c .woolentor-myaccount-form-lostpassword form.woocommerce-ResetPassword .form-row label{text-align:left;}.elementor-5169 .elementor-element.elementor-element-5f7365d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5169 .elementor-element.elementor-element-f94806a{--display:flex;}.elementor-5169 .elementor-element.elementor-element-5fcf5c7{--display:flex;}.elementor-5169 .elementor-element.elementor-element-07a7c0f{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5169 .elementor-element.elementor-element-b97929a{--display:flex;}.elementor-5169 .elementor-element.elementor-element-3baaedf{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5169 .elementor-element.elementor-element-23ef508{--display:flex;}.elementor-5169 .elementor-element.elementor-element-182cfc3 .elementor-icon-wrapper{text-align:center;}.elementor-5169 .elementor-element.elementor-element-2286b0a{--display:flex;}.elementor-5169 .elementor-element.elementor-element-2420984 .elementor-icon-wrapper{text-align:center;}.elementor-5169 .elementor-element.elementor-element-7fe937f{--display:flex;}.elementor-5169 .elementor-element.elementor-element-a23f734 .elementor-icon-wrapper{text-align:center;}.elementor-5169 .elementor-element.elementor-element-c691b1e{--display:flex;}.elementor-5169 .elementor-element.elementor-element-d41b2a5 .elementor-icon-wrapper{text-align:center;}/* Start custom CSS for container, class: .elementor-element-b288436 *//* ==========================================================
   NOVASCENT — RESET PASSWORD
   MASTER CSS v2 — NS DESIGN SYSTEM ALIGNED
   Elementor + WooLentor / WooCommerce
   ========================================================== */


/* ==========================================================
   01. NOVASCENT DESIGN TOKENS
   ========================================================== */

.ns-reset-page {
    --ns-green: #003F34;
    --ns-green-hover: #005246;
    --ns-gold: #A06E04;
    --ns-beige: #F3EEE8;
    --ns-beige-dark: #E8DED2;
    --ns-cream-light: #F7F2EC;
    --ns-cream-shadow: #EEE6DC;
    --ns-white: #FFFFFF;
    --ns-black: #000000;
    --ns-muted: #777777;

    --ns-border: rgba(0,55,45,.16);
    --ns-border-dark: rgba(0,55,45,.28);
    --ns-gold-border: rgba(160,110,4,.46);
    --ns-soft: rgba(255,255,255,.12);
    --ns-soft-hover: rgba(255,255,255,.20);

    --ns-radius: 10px;
    --ns-font: "Crimson Pro", serif;

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 1800px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    background: var(--ns-beige) !important;

    color: var(--ns-black) !important;

    font-family: var(--ns-font) !important;

    overflow: hidden !important;
}


/* Force the established NovaScent font on text controls. */
.ns-reset-page h1,
.ns-reset-page h2,
.ns-reset-page h3,
.ns-reset-page p,
.ns-reset-page span,
.ns-reset-page label,
.ns-reset-page input,
.ns-reset-page button,
.ns-reset-page a {
    font-family: var(--ns-font) !important;
}


/* ==========================================================
   02. HERO / MAIN LAYOUT
   ========================================================== */

.ns-reset-main {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--ns-beige) !important;
}

.ns-reset-main.e-con-full,
.ns-reset-main.e-con-boxed > .e-con-inner {
    display: grid !important;

    grid-template-columns:
        minmax(0,48%)
        minmax(0,52%) !important;

    align-items: stretch !important;

    gap: 0 !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 740px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   03. LEFT EDITORIAL IMAGE
   NS green atmosphere + beige fade into form area
   ========================================================== */

.ns-reset-visual {
    position: relative !important;

    display: flex !important;

    align-items: stretch !important;
    justify-content: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 740px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--ns-green) !important;

    overflow: hidden !important;

    isolation: isolate !important;
}

.ns-reset-visual-inner {
    position: relative !important;

    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

.ns-reset-visual-image,
.ns-reset-visual-image > .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-visual-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 740px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    border: 0 !important;
    border-radius: 0 !important;

    filter:
        saturate(.92)
        contrast(.98)
        brightness(.97) !important;

    transform: scale(1.015) !important;
}


/* NovaScent editorial green treatment. */
.ns-reset-visual::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: 2 !important;

    background:
        linear-gradient(
            105deg,
            rgba(0,63,52,.28) 0%,
            rgba(0,63,52,.14) 34%,
            rgba(0,63,52,.04) 58%,
            rgba(0,63,52,0) 74%
        ) !important;

    pointer-events: none !important;
}


/* Soft fade from the image into NovaScent beige, matching the mockup. */
.ns-reset-visual::after {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 44% !important;

    z-index: 3 !important;

    background:
        linear-gradient(
            90deg,
            rgba(243,238,232,0) 0%,
            rgba(243,238,232,.12) 28%,
            rgba(243,238,232,.42) 58%,
            rgba(243,238,232,.82) 82%,
            var(--ns-beige) 100%
        ) !important;

    pointer-events: none !important;
}


/* ==========================================================
   04. RIGHT CONTENT AREA
   ========================================================== */

.ns-reset-content {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 740px !important;

    margin: 0 !important;

    padding:
        clamp(60px,5vw,80px)
        clamp(42px,5vw,78px) !important;

    background: var(--ns-beige) !important;
}


/* ==========================================================
   05. LUXURY RESET CARD
   Uses the established NovaScent luxury form treatment.
   ========================================================== */

.ns-reset-card {
    box-sizing: border-box !important;

    position: relative !important;

    display: flex !important;

    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 640px !important;

    margin: 0 auto !important;

    padding:
        50px
        48px !important;

    background:
        linear-gradient(
            145deg,
            var(--ns-cream-light) 0%,
            var(--ns-beige) 55%,
            var(--ns-cream-shadow) 100%
        ) !important;

    border: 1px solid rgba(160,110,4,.65) !important;
    border-radius: 16px !important;

    box-shadow:
        0 30px 80px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.72) !important;

    overflow: hidden !important;
}


/* Thin precise gold detail. */
.ns-reset-card::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    left: 50% !important;

    width: 60px !important;
    height: 1px !important;

    background: var(--ns-gold) !important;

    transform: translateX(-50%) !important;

    pointer-events: none !important;
}


/* ==========================================================
   06. NS LOTUS MARK
   Force Elementor/custom SVG and icon font to NovaScent gold.
   ========================================================== */

.ns-reset-mark {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 !important;
}

.ns-reset-mark-icon,
.ns-reset-mark-icon > .elementor-widget-container,
.ns-reset-mark-icon .elementor-icon-wrapper {
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
}

.ns-reset-mark-icon .elementor-icon {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 68px !important;
    height: 68px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ns-gold) !important;
    -webkit-text-fill-color: var(--ns-gold) !important;
    fill: var(--ns-gold) !important;

    font-size: 64px !important;
    line-height: 1 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
}

.ns-reset-mark-icon .elementor-icon i,
.ns-reset-mark-icon .elementor-icon i::before {
    color: var(--ns-gold) !important;
    -webkit-text-fill-color: var(--ns-gold) !important;

    font-size: inherit !important;
}

.ns-reset-mark-icon .elementor-icon svg {
    width: 100% !important;
    height: 100% !important;

    color: var(--ns-gold) !important;
    fill: var(--ns-gold) !important;
}

/* Force custom SVG artwork to inherit NS gold. */
.ns-reset-mark-icon .elementor-icon svg path,
.ns-reset-mark-icon .elementor-icon svg circle,
.ns-reset-mark-icon .elementor-icon svg rect,
.ns-reset-mark-icon .elementor-icon svg polygon,
.ns-reset-mark-icon .elementor-icon svg ellipse,
.ns-reset-mark-icon .elementor-icon svg line,
.ns-reset-mark-icon .elementor-icon svg polyline,
.ns-reset-mark-icon .elementor-icon svg g {
    color: var(--ns-gold) !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}


/* ==========================================================
   07. PAGE HEADING
   ========================================================== */

.ns-reset-title {
    width: 100% !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    text-align: center !important;
}

.ns-reset-title .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--ns-green) !important;
    -webkit-text-fill-color: var(--ns-green) !important;

    font-family: var(--ns-font) !important;
    font-size: 42px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;

    letter-spacing: 0 !important;

    text-align: center !important;
}


/* ==========================================================
   08. INTRO TEXT
   ========================================================== */

.ns-reset-intro {
    width: 100% !important;
    max-width: 510px !important;

    margin: 0 auto 34px !important;
    padding: 0 !important;

    text-align: center !important;
}

.ns-reset-intro,
.ns-reset-intro * {
    color: var(--ns-black) !important;
    -webkit-text-fill-color: var(--ns-black) !important;

    font-family: var(--ns-font) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

.ns-reset-intro p {
    margin: 0 !important;
}


/* ==========================================================
   09. FORM WRAPPERS
   ========================================================== */

.ns-reset-form,
.ns-reset-form-widget,
.ns-reset-form-widget > .elementor-widget-container,
.ns-reset-form .woolentor-myaccount-form-lostpassword,
.ns-reset-form .woocommerce-ResetPassword {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-form .woocommerce-ResetPassword {
    display: block !important;
}


/* ==========================================================
   10. WOOCOMMERCE NOTICES
   ========================================================== */

.ns-reset-form .woocommerce-notices-wrapper {
    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 !important;
}

.ns-reset-form .woocommerce-error,
.ns-reset-form .woocommerce-message,
.ns-reset-form .woocommerce-info {
    box-sizing: border-box !important;

    width: 100% !important;

    margin: 0 0 18px !important;
    padding: 14px 16px !important;

    background: rgba(255,255,255,.55) !important;

    color: var(--ns-black) !important;

    border: 1px solid var(--ns-border) !important;
    border-left: 3px solid var(--ns-gold) !important;
    border-radius: 9px !important;

    box-shadow: none !important;

    font-family: var(--ns-font) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    list-style: none !important;
}

.ns-reset-form .woocommerce-error::before,
.ns-reset-form .woocommerce-message::before,
.ns-reset-form .woocommerce-info::before {
    display: none !important;
}


/* ==========================================================
   11. FORM ROWS
   ========================================================== */

.ns-reset-form .woocommerce-form-row,
.ns-reset-form .form-row {
    display: block !important;

    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 !important;
}

.ns-reset-form .clear {
    display: none !important;
}


/* ==========================================================
   12. FORM LABEL
   ========================================================== */

.ns-reset-form label {
    display: block !important;

    width: 100% !important;

    margin: 0 0 9px !important;
    padding: 0 !important;

    color: var(--ns-green) !important;
    -webkit-text-fill-color: var(--ns-green) !important;

    font-family: var(--ns-font) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;

    letter-spacing: .15px !important;
}


/* ==========================================================
   13. FORM INPUT
   ========================================================== */

.ns-reset-form input[type="text"],
.ns-reset-form input[type="email"],
.ns-reset-form input[type="password"] {
    box-sizing: border-box !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: 56px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    background: rgba(255,255,255,.55) !important;

    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;

    border: 1px solid rgba(0,55,45,.20) !important;
    border-radius: 9px !important;

    box-shadow: none !important;
    outline: none !important;

    font-family: var(--ns-font) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}

.ns-reset-form input[type="text"]:hover,
.ns-reset-form input[type="email"]:hover,
.ns-reset-form input[type="password"]:hover {
    background: rgba(255,255,255,.72) !important;
    border-color: rgba(160,110,4,.46) !important;
}

.ns-reset-form input[type="text"]:focus,
.ns-reset-form input[type="email"]:focus,
.ns-reset-form input[type="password"]:focus {
    background: rgba(255,255,255,.85) !important;

    border-color: var(--ns-gold) !important;

    box-shadow:
        0 0 0 3px rgba(160,110,4,.08) !important;
}


/* ==========================================================
   14. PRIMARY RESET BUTTON
   ========================================================== */

.ns-reset-form
button.woocommerce-Button.button,
.ns-reset-form
button[type="submit"] {
    box-sizing: border-box !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 52px !important;

    margin: 2px 0 0 !important;
    padding: 0 24px !important;

    background: var(--ns-green) !important;

    color: var(--ns-white) !important;
    -webkit-text-fill-color: var(--ns-white) !important;

    border: 1px solid var(--ns-green) !important;
    border-radius: var(--ns-radius) !important;

    box-shadow: none !important;

    font-family: var(--ns-font) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    letter-spacing: .02em !important;

    text-align: center !important;

    cursor: pointer !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease !important;
}

.ns-reset-form
button.woocommerce-Button.button:hover,
.ns-reset-form
button[type="submit"]:hover {
    background: var(--ns-green-hover) !important;

    border-color: var(--ns-green-hover) !important;

    transform: translateY(-1px) !important;
}

.ns-reset-form
button.woocommerce-Button.button:focus-visible,
.ns-reset-form
button[type="submit"]:focus-visible {
    outline: 2px solid rgba(160,110,4,.72) !important;
    outline-offset: 3px !important;
}


/* ==========================================================
   15. DIVIDER
   ========================================================== */

.ns-reset-divider {
    display: grid !important;

    grid-template-columns:
        minmax(0,1fr)
        auto
        minmax(0,1fr) !important;

    align-items: center !important;

    gap: 18px !important;

    width: 100% !important;

    margin: 30px 0 22px !important;
    padding: 0 !important;
}

.ns-reset-divider-line {
    display: block !important;

    width: 100% !important;
    height: 1px !important;
    min-height: 1px !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(160,110,4,.46),
            transparent
        ) !important;

    overflow: hidden !important;
}

.ns-reset-divider-line > * {
    display: none !important;
}

.ns-reset-divider-text {
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-divider-text,
.ns-reset-divider-text * {
    color: var(--ns-muted) !important;

    font-family: var(--ns-font) !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #003F34 !important;

    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.ns-reset-divider-text p {
    margin: 0 !important;
}


/* ==========================================================
   16. BACK TO LOGIN LINK
   ========================================================== */

.ns-reset-login {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-login-link,
.ns-reset-login-link > .elementor-widget-container,
.ns-reset-login-link .elementor-button-wrapper {
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-login-link a.elementor-button {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 9px !important;

    width: auto !important;
    min-height: 38px !important;

    margin: 0 !important;
    padding: 5px 8px !important;

    background: transparent !important;

    color: var(--ns-gold) !important;
    -webkit-text-fill-color: var(--ns-gold) !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    font-family: var(--ns-font) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    text-decoration: none !important;
    text-underline-offset: 3px !important;

    transition:
        color .2s ease,
        transform .2s ease !important;
}

.ns-reset-login-link a.elementor-button::before {
    content: "←" !important;

    display: inline-block !important;

    font-family: Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    transition: transform .2s ease !important;
}

.ns-reset-login-link a.elementor-button:hover {
    color: var(--ns-green) !important;
    -webkit-text-fill-color: var(--ns-green) !important;

    text-decoration: underline !important;
}

.ns-reset-login-link a.elementor-button:hover::before {
    transform: translateX(-3px) !important;
}


/* ==========================================================
   17. BENEFITS STRIP
   ========================================================== */

.ns-reset-benefits {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--ns-beige) !important;

    border-top: 1px solid rgba(160,110,4,.32) !important;
}

.ns-reset-benefits.e-con-full,
.ns-reset-benefits.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-benefits-inner {
    display: grid !important;

    grid-template-columns:
        repeat(4,minmax(0,1fr)) !important;

    align-items: stretch !important;

    width: calc(100% - 80px) !important;
    max-width: 1720px !important;

    margin: 0 auto !important;
    padding: 24px 0 !important;

    gap: 0 !important;
}


/* ==========================================================
   18. BENEFIT ITEM
   ========================================================== */

.ns-reset-benefit {
    box-sizing: border-box !important;

    position: relative !important;

    display: flex !important;

    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 15px !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 10px 24px !important;
}

.ns-reset-benefit + .ns-reset-benefit {
    border-left: 1px solid rgba(160,110,4,.28) !important;
}


/* ==========================================================
   19. BENEFIT ICON
   ========================================================== */

.ns-reset-benefit-icon,
.ns-reset-benefit-icon > .elementor-widget-container {
    flex: 0 0 auto !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-benefit-icon .elementor-icon-wrapper {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-benefit-icon .elementor-icon {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ns-gold) !important;
    -webkit-text-fill-color: var(--ns-gold) !important;
    fill: var(--ns-gold) !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    font-size: 25px !important;
    line-height: 1 !important;
}

.ns-reset-benefit-icon .elementor-icon i,
.ns-reset-benefit-icon .elementor-icon i::before {
    color: var(--ns-gold) !important;
    -webkit-text-fill-color: var(--ns-gold) !important;
}

.ns-reset-benefit-icon .elementor-icon svg {
    width: 100% !important;
    height: 100% !important;

    color: var(--ns-gold) !important;
    fill: var(--ns-gold) !important;
}

.ns-reset-benefit-icon .elementor-icon svg path,
.ns-reset-benefit-icon .elementor-icon svg circle,
.ns-reset-benefit-icon .elementor-icon svg rect,
.ns-reset-benefit-icon .elementor-icon svg polygon,
.ns-reset-benefit-icon .elementor-icon svg ellipse,
.ns-reset-benefit-icon .elementor-icon svg line,
.ns-reset-benefit-icon .elementor-icon svg polyline,
.ns-reset-benefit-icon .elementor-icon svg g {
    color: var(--ns-gold) !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}


/* ==========================================================
   20. BENEFIT TEXT
   ========================================================== */

.ns-reset-benefit-text {
    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.ns-reset-benefit-text,
.ns-reset-benefit-text * {
    color: var(--ns-green) !important;
    -webkit-text-fill-color: var(--ns-green) !important;

    font-family: var(--ns-font) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.ns-reset-benefit-text p,
.ns-reset-benefit-text pre,
.ns-reset-benefit-text code {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    color: inherit !important;

    font: inherit !important;

    white-space: normal !important;
}


/* ==========================================================
   21. ELEMENTOR DEFAULT CLEANUP
   ========================================================== */

.ns-reset-page .elementor-widget {
    margin-bottom: 0 !important;
}

.ns-reset-page .elementor-widget-container {
    box-sizing: border-box !important;
}

.ns-reset-page a,
.ns-reset-page button,
.ns-reset-page input {
    -webkit-tap-highlight-color: transparent !important;
}


/* ==========================================================
   22. RESPONSIVE — TABLET / SMALL DESKTOP
   ========================================================== */

@media (max-width: 1024px) {

    .ns-reset-main.e-con-full,
    .ns-reset-main.e-con-boxed > .e-con-inner {
        grid-template-columns:
            minmax(0,43%)
            minmax(0,57%) !important;

        min-height: 690px !important;
    }

    .ns-reset-visual,
    .ns-reset-content {
        min-height: 690px !important;
    }

    .ns-reset-visual-image img {
        min-height: 690px !important;
    }

    .ns-reset-content {
        padding:
            50px
            24px !important;
    }

    .ns-reset-card {
        max-width: 590px !important;

        padding:
            44px
            36px !important;
    }

    .ns-reset-title .elementor-heading-title {
        font-size: 40px !important;
    }

    .ns-reset-benefits-inner {
        width: calc(100% - 48px) !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        padding: 18px 0 !important;
    }

    .ns-reset-benefit {
        justify-content: flex-start !important;

        padding: 14px 22px !important;

        border-left: 0 !important;
    }

    .ns-reset-benefit:nth-child(even) {
        border-left: 1px solid rgba(160,110,4,.28) !important;
    }

    .ns-reset-benefit:nth-child(n+3) {
        border-top: 1px solid rgba(160,110,4,.22) !important;
    }
}


/* ==========================================================
   23. RESPONSIVE — STACKED TABLET
   ========================================================== */

@media (max-width: 850px) {

    .ns-reset-main.e-con-full,
    .ns-reset-main.e-con-boxed > .e-con-inner {
        grid-template-columns: 1fr !important;

        grid-template-rows:
            340px
            auto !important;

        min-height: 0 !important;
    }

    .ns-reset-visual,
    .ns-reset-visual-inner,
    .ns-reset-visual-image,
    .ns-reset-visual-image > .elementor-widget-container {
        min-height: 340px !important;
        height: 340px !important;
    }

    .ns-reset-visual-image img {
        min-height: 340px !important;
        height: 340px !important;

        object-position: center 48% !important;
    }

    /*
     * Once the image is above the form,
     * the fade changes from right-edge to bottom-edge.
     */
    .ns-reset-visual::after {
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        width: 100% !important;
        height: 46% !important;

        background:
            linear-gradient(
                180deg,
                rgba(243,238,232,0) 0%,
                rgba(243,238,232,.18) 35%,
                rgba(243,238,232,.68) 72%,
                var(--ns-beige) 100%
            ) !important;
    }

    .ns-reset-content {
        min-height: 0 !important;

        padding:
            56px
            24px
            62px !important;
    }

    .ns-reset-card {
        max-width: 650px !important;
    }
}


/* ==========================================================
   24. RESPONSIVE — MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .ns-reset-main.e-con-full,
    .ns-reset-main.e-con-boxed > .e-con-inner {
        grid-template-rows:
            240px
            auto !important;
    }

    .ns-reset-visual,
    .ns-reset-visual-inner,
    .ns-reset-visual-image,
    .ns-reset-visual-image > .elementor-widget-container {
        min-height: 240px !important;
        height: 240px !important;
    }

    .ns-reset-visual-image img {
        min-height: 240px !important;
        height: 240px !important;
    }

    .ns-reset-content {
        padding:
            42px
            15px
            48px !important;
    }

    .ns-reset-card {
        max-width: 600px !important;

        padding:
            38px
            26px !important;

        border-radius: 16px !important;
    }

    .ns-reset-mark {
        margin-bottom: 16px !important;
    }

    .ns-reset-mark-icon .elementor-icon {
        width: 58px !important;
        height: 58px !important;

        font-size: 54px !important;
    }

    .ns-reset-title .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.15 !important;
    }

    .ns-reset-intro {
        max-width: 470px !important;

        margin-bottom: 28px !important;
    }

    .ns-reset-intro,
    .ns-reset-intro * {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }

    .ns-reset-form label {
        font-size: 16px !important;
    }

    .ns-reset-form input[type="text"],
    .ns-reset-form input[type="email"],
    .ns-reset-form input[type="password"] {
        height: 54px !important;

        font-size: 16px !important;
    }

    .ns-reset-form
    button.woocommerce-Button.button,
    .ns-reset-form
    button[type="submit"] {
        min-height: 52px !important;

        font-size: 16px !important;
    }

    .ns-reset-login-link a.elementor-button {
        font-size: 16px !important;
    }

    .ns-reset-divider-text,
    .ns-reset-divider-text * {
        font-size: 14px !important;
    }

    .ns-reset-benefit-text,
    .ns-reset-benefit-text * {
        font-size: 17px !important;
    }
}


/* ==========================================================
   25. RESPONSIVE — SMALL MOBILE
   ========================================================== */

@media (max-width: 520px) {

    /*
     * Keep the task short on narrow phones.
     * The NS lotus preserves the brand identity.
     */
    .ns-reset-visual {
        display: none !important;
    }

    .ns-reset-main.e-con-full,
    .ns-reset-main.e-con-boxed > .e-con-inner {
        display: block !important;

        min-height: 0 !important;
    }

    .ns-reset-content {
        width: 100% !important;

        padding:
            32px
            15px
            38px !important;
    }

    .ns-reset-card {
        width: 100% !important;

        padding:
            34px
            20px !important;
    }

    .ns-reset-title .elementor-heading-title {
        font-size: 32px !important;
    }

    .ns-reset-intro {
        max-width: 380px !important;

        margin-bottom: 26px !important;
    }

    .ns-reset-form label {
        font-size: 16px !important;
    }

    .ns-reset-form input[type="text"],
    .ns-reset-form input[type="email"],
    .ns-reset-form input[type="password"] {
        height: 52px !important;

        padding-left: 14px !important;
        padding-right: 14px !important;

        font-size: 16px !important;
    }

    .ns-reset-form
    button.woocommerce-Button.button,
    .ns-reset-form
    button[type="submit"] {
        min-height: 52px !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        font-size: 16px !important;
    }

    .ns-reset-divider {
        gap: 13px !important;
    }

    .ns-reset-benefits-inner {
        grid-template-columns: 1fr !important;

        width: calc(100% - 30px) !important;

        padding: 10px 0 !important;
    }

    .ns-reset-benefit,
    .ns-reset-benefit:nth-child(even),
    .ns-reset-benefit:nth-child(n+3) {
        border-left: 0 !important;
    }

    .ns-reset-benefit + .ns-reset-benefit {
        border-top: 1px solid rgba(160,110,4,.22) !important;
    }

    .ns-reset-benefit {
        justify-content: flex-start !important;

        padding:
            14px
            4px !important;
    }

    .ns-reset-benefit-icon .elementor-icon {
        width: 38px !important;
        height: 38px !important;

        font-size: 22px !important;
    }

    .ns-reset-benefit-text,
    .ns-reset-benefit-text * {
        font-size: 16px !important;
    }
}


/* ==========================================================
   26. VERY SMALL MOBILE
   ========================================================== */

@media (max-width: 380px) {

    .ns-reset-content {
        padding:
            26px
            10px
            32px !important;
    }

    .ns-reset-card {
        padding:
            30px
            16px !important;
    }

    .ns-reset-mark-icon .elementor-icon {
        width: 52px !important;
        height: 52px !important;

        font-size: 48px !important;
    }

    .ns-reset-title .elementor-heading-title {
        font-size: 30px !important;
    }

    .ns-reset-intro,
    .ns-reset-intro * {
        font-size: 16px !important;
    }
}


/* ==========================================================
   END — NOVASCENT RESET PASSWORD MASTER CSS v2
   ========================================================== *//* End custom CSS */