.select2.select2-container.select2-container--default{z-index:1}nav.top_menu>ul>li{padding:0 2px}.wpml-ls-statics-footer.wpml-ls-legacy-list-horizontal{margin:10px}.coupon-notice{background:#f7f5ee;border-left:4px solid #7c6825;margin:10px 0 14px;padding:10px 14px;font-size:14px}.coupon-code{color:#7c6825;font-weight:700}.coupon-limit{color:#888;margin-top:4px;font-size:11px}.main-side.woocommerce.page#content{width:60%}#rh_woo_mbl_sidebar.rh-content-wrap.clearfix .sidebar{padding-top:250px}.product-type-woosb .rh-300-content-area{float:left!important;width:77%!important}.product-type-woosb .rh-300-sidebar{float:right!important;width:22%!important;margin-bottom:30px!important}.fix-add-to-cart-btn .add_to_cart_button{background-color:#440260;padding-top:8px;padding-bottom:8px}.fix-add-to-cart-btn .add_to_cart_button:hover{background-color:#29002d}body.single-product #rh_latest_compare-1{display:none}
#customer_login{padding:125px}@media (width<=767px){#customer_login{padding:50px}}.woocommerce-account .password-input{width:100%;display:block;position:relative}.woocommerce-account .password-input input{padding-right:45px!important}.woocommerce-account .show-password-input{cursor:pointer;z-index:5;top:50%;right:12px;transform:translateY(-50%);width:28px!important;min-width:28px!important;height:28px!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;position:absolute!important}.woocommerce-account .show-password-input:after{content:"早";color:#3b0056;font-size:16px;line-height:28px}
body.js-account-dashboard-page{
    --js-acct-purple:#4a0a68;
    --js-acct-purple-deep:#2a1238;
    --js-acct-purple-soft:#f5eef9;
    --js-acct-ink:#241b2c;
    --js-acct-muted:#74697e;
    --js-acct-line:#4a0a6817;
    --js-acct-green:#38a86b;
    --js-acct-green-bright:#62d312;
    --js-acct-green-soft:#f3fbf6;
}

/* Keep the account area balanced and centered on desktop. */
body.js-account-dashboard-page .woocommerce{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* ---------------------------------------------------------
   ACCOUNT NAVIGATION
--------------------------------------------------------- */

body.js-account-dashboard-page .woocommerce-MyAccount-navigation{
    float:none!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 24px!important;
    padding:10px!important;
    background:
        radial-gradient(circle at 0 0,#6f1b940d 0%,#0000 38%),
        linear-gradient(180deg,#fff 0%,#fcf9fe 100%)!important;
    border:1px solid var(--js-acct-line)!important;
    border-radius:20px!important;
    box-shadow:
        0 12px 30px #24132f0b,
        inset 0 1px #fffffff5!important;
    overflow:hidden!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-navigation ul{
    list-style:none!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-navigation li{
    float:none!important;
    flex:1 1 auto!important;
    min-width:120px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-navigation li a{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 16px!important;
    color:#574d60!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-align:center!important;
    text-decoration:none!important;
    transition:
        color .16s ease,
        background .16s ease,
        border-color .16s ease,
        transform .16s ease,
        box-shadow .16s ease!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-navigation li:not(.is-active) a:hover{
    color:var(--js-acct-purple)!important;
    background:#faf5fd!important;
    border-color:#4a0a6814!important;
    transform:translateY(-1px)!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-navigation li.is-active a{
    color:#fff!important;
    background:
        radial-gradient(circle at 18% 0,#ffffff2e 0%,#fff0 38%),
        linear-gradient(135deg,#351744 0%,#570b78 58%,#7c1ba9 100%)!important;
    border-color:#ffffff26!important;
    box-shadow:
        0 10px 22px #4a0a6830,
        inset 0 1px #ffffff2b!important;
}

/* ---------------------------------------------------------
   DASHBOARD CONTENT CARD
--------------------------------------------------------- */

body.js-account-dashboard-page .woocommerce-MyAccount-content{
    float:none!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:30px 32px 32px!important;
    color:var(--js-acct-ink)!important;
    background:
        radial-gradient(circle at 0 0,#6b168d0a 0%,#0000 30%),
        linear-gradient(180deg,#fff 0%,#fefcff 100%)!important;
    border:1px solid var(--js-acct-line)!important;
    border-radius:22px!important;
    box-shadow:
        0 18px 44px #21132b0d,
        inset 0 1px #fffffff7!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-content > *:first-child{
    margin-top:0!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-content p{
    color:#554b60!important;
    margin:0 0 10px!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:1.7!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-content p:last-child{
    margin-bottom:0!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-content a{
    color:var(--js-acct-purple)!important;
    font-weight:800!important;
    text-decoration:none!important;
}

body.js-account-dashboard-page .woocommerce-MyAccount-content a:hover{
    color:#6f1595!important;
}

/* ---------------------------------------------------------
   WOOCOMMERCE SUCCESS NOTICE
   Fixes the green check so it is vertically centered on all sizes.
--------------------------------------------------------- */

body.js-account-dashboard-page .woocommerce-notices-wrapper{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
}

body.js-account-dashboard-page .woocommerce-message{
    position:relative!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:68px!important;
    margin:0 0 24px!important;
    padding:16px 20px 16px 68px!important;
    color:#4d4356!important;
    background:
        radial-gradient(circle at 0 50%,#4fc2780e 0%,#0000 38%),
        linear-gradient(180deg,#f8fdf9 0%,var(--js-acct-green-soft) 100%)!important;
    border:1px solid #cfe8d8!important;
    border-left:4px solid var(--js-acct-green)!important;
    border-radius:15px!important;
    font-size:14.5px!important;
    font-weight:750!important;
    line-height:1.45!important;
    box-shadow:
        0 9px 22px #193b260a,
        inset 0 1px #fffffff0!important;
    overflow:hidden!important;
}

body.js-account-dashboard-page .woocommerce-message::before{
    content:"✓"!important;
    position:absolute!important;
    top:50%!important;
    left:18px!important;
    right:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    background:
        radial-gradient(circle at 30% 18%,#ffffff45 0%,#fff0 42%),
        linear-gradient(135deg,#6edd16 0%,#50c90b 100%)!important;
    border:0!important;
    border-radius:999px!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:21px!important;
    font-style:normal!important;
    font-weight:900!important;
    line-height:1!important;
    text-align:center!important;
    box-shadow:
        0 7px 15px #50c90b2e,
        inset 0 1px #ffffff4f!important;
}

body.js-account-dashboard-page .woocommerce-message::after{
    content:none!important;
    display:none!important;
}

/* Remove floats that can make the notice/button rows jump. */
body.js-account-dashboard-page .woocommerce-message .button{
    float:none!important;
    margin-left:auto!important;
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (width<=1024px){
    body.js-account-dashboard-page .woocommerce{
        max-width:94%!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation{
        margin-bottom:18px!important;
        border-radius:18px!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation li{
        min-width:108px!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation li a{
        min-height:44px!important;
        padding:0 13px!important;
        font-size:12px!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-content{
        padding:26px 26px 28px!important;
        border-radius:20px!important;
    }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (width<=767px){
    body.js-account-dashboard-page .woocommerce{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0 10px!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation{
        width:100%!important;
        margin:0 0 14px!important;
        padding:8px!important;
        border-radius:16px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        scrollbar-width:none!important;
        -webkit-overflow-scrolling:touch!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation::-webkit-scrollbar{
        display:none!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation ul{
        flex-wrap:nowrap!important;
        gap:7px!important;
        width:max-content!important;
        min-width:100%!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation li{
        flex:0 0 auto!important;
        min-width:auto!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-navigation li a{
        width:auto!important;
        min-width:max-content!important;
        min-height:42px!important;
        padding:0 15px!important;
        border-radius:13px!important;
        font-size:11.5px!important;
        white-space:nowrap!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-content{
        padding:18px 16px 22px!important;
        border-radius:17px!important;
        box-shadow:
            0 10px 28px #21132b0b,
            inset 0 1px #fffffff7!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-content p{
        font-size:14px!important;
        line-height:1.62!important;
    }

    body.js-account-dashboard-page .woocommerce-message{
        min-height:64px!important;
        margin:0 0 18px!important;
        padding:13px 13px 13px 56px!important;
        border-width:1px!important;
        border-left-width:4px!important;
        border-radius:13px!important;
        font-size:13.5px!important;
        line-height:1.4!important;
        overflow:visible!important;
    }

    /*
     * Critical mobile alignment fix:
     * fixed dimensions + true 50% vertical centering; no negative margins.
     */
    body.js-account-dashboard-page .woocommerce-message::before{
        top:50%!important;
        left:12px!important;
        width:32px!important;
        min-width:32px!important;
        height:32px!important;
        transform:translateY(-50%)!important;
        font-size:18px!important;
        line-height:1!important;
    }
}

@media (width<=390px){
    body.js-account-dashboard-page .woocommerce{
        padding:0 7px!important;
    }

    body.js-account-dashboard-page .woocommerce-MyAccount-content{
        padding:16px 13px 20px!important;
        border-radius:15px!important;
    }

    body.js-account-dashboard-page .woocommerce-message{
        padding-left:53px!important;
        font-size:13px!important;
    }

    body.js-account-dashboard-page .woocommerce-message::before{
        left:10px!important;
        width:31px!important;
        min-width:31px!important;
        height:31px!important;
        font-size:17px!important;
    }
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout{font-size:13px;font-weight:700!important}
:root{
    --js-login-purple:#4a0a68;
    --js-login-purple-deep:#2f0b43;
    --js-login-purple-soft:#f5eef9;
    --js-login-ink:#241b2a;
    --js-login-muted:#766c7d;
    --js-login-line:#e9e2ed;
    --js-login-surface:#ffffff;
    --js-login-field:#fcfbfd;
}

/* ---------------------------------------------------------
   POPUP CARD
--------------------------------------------------------- */

.rehub-login-popup{
    box-sizing:border-box!important;
    width:min(92vw,480px)!important;
    max-width:480px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100vh - 48px)!important;
    margin:0 auto!important;
    padding:34px 38px 30px!important;
    color:var(--js-login-ink)!important;
    background:
        radial-gradient(circle at 100% 0,rgba(112,31,151,.055),transparent 31%),
        var(--js-login-surface)!important;
    border:1px solid rgba(74,10,104,.10)!important;
    border-radius:20px!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    box-shadow:
        0 26px 70px rgba(31,11,45,.18),
        0 5px 18px rgba(31,11,45,.07)!important;
}

/* Remove old float/clearfix behavior inside the modal. */
.rehub-login-popup,
.rehub-login-popup *{
    box-sizing:border-box!important;
}

.rehub-login-popup .re_title_inmodal{
    width:100%!important;
    margin:0 0 28px!important;
    padding:0!important;
    color:var(--js-login-ink)!important;
    text-align:center!important;
    letter-spacing:-.025em!important;
    font-size:28px!important;
    font-weight:750!important;
    line-height:1.15!important;
}

/* ---------------------------------------------------------
   FORM
--------------------------------------------------------- */

.rehub-login-popup #rehub_login_form_modal{
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

.rehub-login-popup #rehub_login_form_modal .re-form-group{
    width:100%!important;
    margin:0 0 20px!important;
    padding:0!important;
    position:relative!important;
}

.rehub-login-popup #rehub_login_form_modal .re-form-group:last-of-type{
    margin-bottom:0!important;
}

.rehub-login-popup #rehub_login_form_modal label{
    display:block!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
    color:var(--js-login-ink)!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.25!important;
}

.rehub-login-popup #rehub_login_form_modal .re-form-input,
.rehub-login-popup #rehub_login_form_modal input[type="text"],
.rehub-login-popup #rehub_login_form_modal input[type="password"],
.rehub-login-popup #rehub_login_form_modal input[type="email"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 14px!important;
    color:var(--js-login-ink)!important;
    background:var(--js-login-field)!important;
    border:1px solid var(--js-login-line)!important;
    border-radius:10px!important;
    outline:0!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:48px!important;
    transition:
        border-color .17s ease,
        box-shadow .17s ease,
        background .17s ease!important;
    box-shadow:
        inset 0 1px 2px rgba(31,11,45,.025)!important;
}

.rehub-login-popup #rehub_login_form_modal .re-form-input:hover,
.rehub-login-popup #rehub_login_form_modal input[type="text"]:hover,
.rehub-login-popup #rehub_login_form_modal input[type="password"]:hover,
.rehub-login-popup #rehub_login_form_modal input[type="email"]:hover{
    border-color:rgba(74,10,104,.24)!important;
}

.rehub-login-popup #rehub_login_form_modal .re-form-input:focus,
.rehub-login-popup #rehub_login_form_modal input[type="text"]:focus,
.rehub-login-popup #rehub_login_form_modal input[type="password"]:focus,
.rehub-login-popup #rehub_login_form_modal input[type="email"]:focus{
    background:#fff!important;
    border-color:rgba(74,10,104,.60)!important;
    box-shadow:
        0 0 0 3px rgba(74,10,104,.08),
        inset 0 1px 2px rgba(31,11,45,.02)!important;
}

/* ---------------------------------------------------------
   PASSWORD VISIBILITY TOGGLE
   - Added only to the ReHub login popup.
   - The wrapper/button are inserted by the tiny footer behavior below.
--------------------------------------------------------- */

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-wrap{
    width:100%!important;
    position:relative!important;
}

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-wrap input{
    padding-right:52px!important;
}

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-toggle{
    position:absolute!important;
    z-index:5!important;
    top:50%!important;
    right:12px!important;
    transform:translateY(-50%)!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0!important;
    cursor:pointer!important;
    color:var(--js-login-purple)!important;
    background:transparent!important;
    border:0!important;
    border-radius:999px!important;
    outline:0!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-toggle:before{
    content:""!important;
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    background:currentColor!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c-5.5 0-9.6 5.1-10.7 6.6a.67.67 0 0 0 0 .8C2.4 13.9 6.5 19 12 19s9.6-5.1 10.7-6.6a.67.67 0 0 0 0-.8C21.6 10.1 17.5 5 12 5Zm0 12c-4 0-7.4-3.4-8.7-5C4.6 10.4 8 7 12 7s7.4 3.4 8.7 5C19.4 13.6 16 17 12 17Zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c-5.5 0-9.6 5.1-10.7 6.6a.67.67 0 0 0 0 .8C2.4 13.9 6.5 19 12 19s9.6-5.1 10.7-6.6a.67.67 0 0 0 0-.8C21.6 10.1 17.5 5 12 5Zm0 12c-4 0-7.4-3.4-8.7-5C4.6 10.4 8 7 12 7s7.4 3.4 8.7 5C19.4 13.6 16 17 12 17Zm0-8a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm0 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
    opacity:.9!important;
    transition:opacity .16s ease,transform .16s ease!important;
}

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-toggle.is-visible:before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.3 2 2 3.3l3.1 3.1A18.8 18.8 0 0 0 1.3 11.6a.67.67 0 0 0 0 .8C2.4 13.9 6.5 19 12 19c1.8 0 3.5-.6 5-1.5l3.7 3.7 1.3-1.3L3.3 2ZM12 17c-4 0-7.4-3.4-8.7-5 .8-1 1.9-2.2 3.3-3.2l2 2A3.6 3.6 0 0 0 8.5 12a3.5 3.5 0 0 0 4.7 3.3l2.3 2.3c-1.1.3-2.3.4-3.5.4Zm-1.7-4.9 1.6 1.6A1.5 1.5 0 0 1 10.3 12v.1ZM22.7 11.6C21.6 10.1 17.5 5 12 5c-1 0-2 .2-2.9.5l1.6 1.6c.4-.1.9-.1 1.3-.1 4 0 7.4 3.4 8.7 5-.6.8-1.6 1.9-2.8 2.8l1.4 1.4a19 19 0 0 0 3.4-3.8.67.67 0 0 0 0-.8Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.3 2 2 3.3l3.1 3.1A18.8 18.8 0 0 0 1.3 11.6a.67.67 0 0 0 0 .8C2.4 13.9 6.5 19 12 19c1.8 0 3.5-.6 5-1.5l3.7 3.7 1.3-1.3L3.3 2ZM12 17c-4 0-7.4-3.4-8.7-5 .8-1 1.9-2.2 3.3-3.2l2 2A3.6 3.6 0 0 0 8.5 12a3.5 3.5 0 0 0 4.7 3.3l2.3 2.3c-1.1.3-2.3.4-3.5.4Zm-1.7-4.9 1.6 1.6A1.5 1.5 0 0 1 10.3 12v.1ZM22.7 11.6C21.6 10.1 17.5 5 12 5c-1 0-2 .2-2.9.5l1.6 1.6c.4-.1.9-.1 1.3-.1 4 0 7.4 3.4 8.7 5-.6.8-1.6 1.9-2.8 2.8l1.4 1.4a19 19 0 0 0 3.4-3.8.67.67 0 0 0 0-.8Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
}

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-toggle:hover:before{
    opacity:1!important;
    transform:scale(1.06)!important;
}

.rehub-login-popup #rehub_login_form_modal .js-rehub-pass-toggle:focus-visible{
    box-shadow:0 0 0 3px rgba(74,10,104,.10)!important;
}

/* Password reset link sits neatly below the password field. */
.rehub-login-popup #rehub_login_form_modal a.alignright{
    float:none!important;
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin:9px 0 0 auto!important;
    padding:0!important;
    color:var(--js-login-purple)!important;
    text-align:right!important;
    font-size:12.5px!important;
    font-weight:650!important;
    line-height:1.3!important;
    text-decoration:none!important;
}

.rehub-login-popup #rehub_login_form_modal a.alignright:hover{
    color:var(--js-login-purple-deep)!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
}

/* ---------------------------------------------------------
   REMEMBER ME
--------------------------------------------------------- */

.rehub-login-popup #rehub_login_form_modal label[for="rehub_remember"]{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    align-items:center!important;
    gap:9px!important;
    margin:0!important;
    color:var(--js-login-ink)!important;
    cursor:pointer!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.2!important;
}

.rehub-login-popup #rehub_remember{
    -webkit-appearance:none!important;
    appearance:none!important;
    flex:0 0 17px!important;
    width:17px!important;
    min-width:17px!important;
    height:17px!important;
    min-height:17px!important;
    margin:0!important;
    padding:0!important;
    cursor:pointer!important;
    background:#fff!important;
    border:1.5px solid #cfc5d5!important;
    border-radius:4px!important;
    position:relative!important;
    box-shadow:none!important;
}

.rehub-login-popup #rehub_remember:checked{
    background:linear-gradient(135deg,#3b0753 0%,#5a0c7a 55%,#7417a0 100%)!important;
    border-color:var(--js-login-purple)!important;
}

.rehub-login-popup #rehub_remember:checked:after{
    content:""!important;
    display:block!important;
    width:4px!important;
    height:8px!important;
    border:solid #fff!important;
    border-width:0 2px 2px 0!important;
    position:absolute!important;
    top:2px!important;
    left:5px!important;
    transform:rotate(45deg)!important;
}

/* ---------------------------------------------------------
   LOGIN BUTTON
--------------------------------------------------------- */

.rehub-login-popup #rehub_login_form_modal button[type="submit"],
.rehub-login-popup #rehub_login_form_modal .rehub_main_btn{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:48px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 18px!important;
    color:#fff!important;
    background:
        radial-gradient(circle at 20% 0,rgba(255,255,255,.18),transparent 34%),
        linear-gradient(135deg,#351047 0%,#4a0a68 54%,#741f98 100%)!important;
    border:0!important;
    border-radius:10px!important;
    cursor:pointer!important;
    text-align:center!important;
    text-transform:none!important;
    letter-spacing:.01em!important;
    font-size:14px!important;
    font-weight:850!important;
    line-height:1!important;
    transition:
        transform .17s ease,
        box-shadow .17s ease,
        filter .17s ease!important;
    box-shadow:
        0 11px 24px rgba(74,10,104,.22),
        inset 0 1px rgba(255,255,255,.18)!important;
}

.rehub-login-popup #rehub_login_form_modal button[type="submit"]:hover,
.rehub-login-popup #rehub_login_form_modal .rehub_main_btn:hover{
    transform:translateY(-1px)!important;
    filter:saturate(1.04)!important;
    box-shadow:
        0 14px 30px rgba(74,10,104,.28),
        inset 0 1px rgba(255,255,255,.20)!important;
}

/* ---------------------------------------------------------
   ERRORS
--------------------------------------------------------- */

.rehub-login-popup .rehub-errors{
    width:100%!important;
    margin:14px 0 0!important;
    padding:0!important;
}

.rehub-login-popup .rehub-errors:not(:empty){
    padding:10px 12px!important;
    color:#9b3142!important;
    background:#fff3f5!important;
    border:1px solid #f1cfd5!important;
    border-radius:8px!important;
    font-size:12px!important;
    line-height:1.4!important;
}

/* ---------------------------------------------------------
   SIGN-UP FOOTER
--------------------------------------------------------- */

.rehub-login-popup .rehub-login-popup-footer{
    width:auto!important;
    margin:28px -38px -30px!important;
    padding:21px 38px!important;
    color:var(--js-login-muted)!important;
    background:
        linear-gradient(180deg,#fbf9fc 0%,#f7f2fa 100%)!important;
    border-top:1px solid var(--js-login-line)!important;
    border-radius:0 0 20px 20px!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.4!important;
}

.rehub-login-popup .rehub-login-popup-footer .act-rehub-login-popup,
.rehub-login-popup .rehub-login-popup-footer .color_link{
    color:var(--js-login-purple)!important;
    cursor:pointer!important;
    font-weight:800!important;
    text-decoration:none!important;
}

.rehub-login-popup .rehub-login-popup-footer .act-rehub-login-popup:hover,
.rehub-login-popup .rehub-login-popup-footer .color_link:hover{
    color:var(--js-login-purple-deep)!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (width<=1024px){
    .rehub-login-popup{
        width:min(92vw,460px)!important;
        padding:30px 32px 26px!important;
        border-radius:18px!important;
    }

    .rehub-login-popup .rehub-login-popup-footer{
        margin:26px -32px -26px!important;
        padding:19px 32px!important;
        border-radius:0 0 18px 18px!important;
    }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (width<=767px){
    .rehub-login-popup{
        width:calc(100vw - 24px)!important;
        max-width:420px!important;
        height:auto!important;
        min-height:0!important;
        max-height:calc(100dvh - 36px)!important;
        margin:0 auto!important;
        padding:24px 18px 20px!important;
        border-radius:18px!important;
        overflow:auto!important;
        box-shadow:
            0 20px 50px rgba(31,11,45,.19),
            0 4px 14px rgba(31,11,45,.07)!important;
    }

    .rehub-login-popup .re_title_inmodal{
        margin-bottom:22px!important;
        font-size:24px!important;
        font-weight:750!important;
    }

    .rehub-login-popup #rehub_login_form_modal .re-form-group{
        margin-bottom:17px!important;
    }

    .rehub-login-popup #rehub_login_form_modal label{
        margin-bottom:7px!important;
        font-size:12.5px!important;
    }

    .rehub-login-popup #rehub_login_form_modal .re-form-input,
    .rehub-login-popup #rehub_login_form_modal input[type="text"],
    .rehub-login-popup #rehub_login_form_modal input[type="password"],
    .rehub-login-popup #rehub_login_form_modal input[type="email"]{
        height:46px!important;
        min-height:46px!important;
        padding:0 13px!important;
        border-radius:9px!important;
        font-size:16px!important;
        line-height:46px!important;
    }

    .rehub-login-popup #rehub_login_form_modal a.alignright{
        margin-top:8px!important;
        font-size:12px!important;
    }

    .rehub-login-popup #rehub_login_form_modal label[for="rehub_remember"]{
        font-size:12.5px!important;
    }

    .rehub-login-popup #rehub_login_form_modal button[type="submit"],
    .rehub-login-popup #rehub_login_form_modal .rehub_main_btn{
        min-height:46px!important;
        border-radius:9px!important;
        font-size:13.5px!important;
    }

    .rehub-login-popup .rehub-login-popup-footer{
        margin:24px -18px -20px!important;
        padding:18px 18px 19px!important;
        border-radius:0 0 18px 18px!important;
        font-size:12.5px!important;
    }
}

/* Very small phones */
@media (width<=390px){
    .rehub-login-popup{
        width:calc(100vw - 16px)!important;
        padding:22px 14px 18px!important;
        border-radius:16px!important;
    }

    .rehub-login-popup .re_title_inmodal{
        margin-bottom:19px!important;
        font-size:22px!important;
    }

    .rehub-login-popup .rehub-login-popup-footer{
        margin:22px -14px -18px!important;
        padding:17px 14px!important;
        border-radius:0 0 16px 16px!important;
    }
}

/* Avoid motion for users who request reduced motion. */
@media (prefers-reduced-motion:reduce){
    .rehub-login-popup *,
    .rehub-login-popup *:before,
    .rehub-login-popup *:after{
        transition:none!important;
        animation:none!important;
    }
}


/* ---------------------------------------------------------
   REHUB / PGWMODAL OUTER WHITE SHELL
   PERFORMANCE-SAFE CSS-ONLY FIX

   ReHub opens this login popup through PgwModal. PgwModal paints
   its own .pm-body and .pm-content white behind our actual
   .rehub-login-popup card.

   We only make those two known outer layers transparent.
   No MutationObserver, no polling, no resize scanning, no DOM walk.
--------------------------------------------------------- */

#pgwModal.re-user-popup-wrap .pm-body,
.re-user-popup-wrap .pm-body{
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
}

#pgwModal.re-user-popup-wrap .pm-content,
.re-user-popup-wrap .pm-content{
    background-color:transparent!important;
    background-image:none!important;
}

/*
 * Keep the actual Japan Shoppy login card white.
 * This intentionally overrides only the real form card.
 */
#pgwModal.re-user-popup-wrap .rehub-login-popup,
.re-user-popup-wrap .rehub-login-popup{
    background:
        radial-gradient(circle at 100% 0,rgba(112,31,151,.055),transparent 31%),
        #ffffff!important;
}

/*
 * Do not touch #pgwModalBackdrop / .pgwModalBackdrop.
 * That remains the dark page overlay behind the modal.
 */
body.js-account-lost-password-page{
    --js-reset-purple:#4a0a68;
    --js-reset-purple-soft:#f7f1fb;
    --js-reset-ink:#281d31;
    --js-reset-muted:#706578;
    --js-reset-line:#4a0a6818;
    --js-reset-green:#31a765;
    --js-reset-green-soft:#f3fbf6;
}

/* ---------------------------------------------------------
   CONFIRMATION CARD — DESKTOP
--------------------------------------------------------- */

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message){
    box-sizing:border-box!important;
    width:calc(100% - 40px)!important;
    max-width:760px!important;
    margin:54px auto 76px!important;
    padding:34px 38px 38px!important;

    background:
        radial-gradient(circle at 0 0,#6d168f0a 0%,#0000 34%),
        linear-gradient(180deg,#fff 0%,#fefcff 100%)!important;

    border:1px solid var(--js-reset-line)!important;
    border-radius:22px!important;

    box-shadow:
        0 20px 52px rgba(36,19,47,.10),
        inset 0 1px rgba(255,255,255,.96)!important;
}

/* Remove theme spacing that makes this state look like a raw system page. */
body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message) > *:first-child{
    margin-top:0!important;
}

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message) > *:last-child{
    margin-bottom:0!important;
}

/* ---------------------------------------------------------
   SUCCESS NOTICE
--------------------------------------------------------- */

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
.woocommerce-message{
    box-sizing:border-box!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;

    width:100%!important;
    max-width:100%!important;
    min-height:74px!important;

    margin:0 0 22px!important;
    padding:18px 22px 18px 72px!important;

    color:#4d4355!important;
    background:
        radial-gradient(circle at 0 50%,rgba(49,167,101,.11) 0%,transparent 38%),
        linear-gradient(180deg,#f9fdfb 0%,var(--js-reset-green-soft) 100%)!important;

    border:1px solid #cbe7d5!important;
    border-left:4px solid var(--js-reset-green)!important;
    border-radius:15px!important;

    font-size:16px!important;
    font-weight:800!important;
    line-height:1.45!important;
    text-align:left!important;

    box-shadow:
        0 9px 22px rgba(25,59,38,.07),
        inset 0 1px rgba(255,255,255,.95)!important;

    overflow:hidden!important;
}

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
.woocommerce-message::before{
    content:"✓"!important;

    box-sizing:border-box!important;
    position:absolute!important;
    top:50%!important;
    left:20px!important;
    right:auto!important;
    bottom:auto!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;

    margin:0!important;
    padding:0!important;

    transform:translateY(-50%)!important;

    color:#fff!important;
    background:
        radial-gradient(circle at 28% 18%,rgba(255,255,255,.35) 0%,transparent 42%),
        linear-gradient(135deg,#67d817 0%,#4bc50a 100%)!important;

    border:0!important;
    border-radius:999px!important;

    font-family:Arial,Helvetica,sans-serif!important;
    font-size:22px!important;
    font-style:normal!important;
    font-weight:900!important;
    line-height:38px!important;
    text-align:center!important;

    box-shadow:
        0 7px 16px rgba(75,197,10,.25),
        inset 0 1px rgba(255,255,255,.30)!important;
}

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
.woocommerce-message::after{
    content:none!important;
    display:none!important;
}

/* ---------------------------------------------------------
   EXPLANATION TEXT
--------------------------------------------------------- */

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
.woocommerce-message + p{
    box-sizing:border-box!important;
    margin:0!important;
    padding:2px 4px!important;

    color:var(--js-reset-muted)!important;

    font-size:15px!important;
    font-weight:500!important;
    line-height:1.75!important;
    letter-spacing:0!important;
}

/* Keep any links in this state aligned with the site palette. */
body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message) a{
    color:var(--js-reset-purple)!important;
    font-weight:800!important;
    text-decoration:none!important;
}

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message) a:hover{
    color:#73179c!important;
}

/* Avoid inherited list markers / floats from WooCommerce or the theme. */
body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
ul.woocommerce-message,
body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
li.woocommerce-message{
    list-style:none!important;
}

body.js-account-lost-password-page
.woocommerce:has(.woocommerce-message)
.woocommerce-message .button{
    float:none!important;
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (width<=1024px){
    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message){
        width:calc(100% - 48px)!important;
        max-width:720px!important;
        margin:40px auto 60px!important;
        padding:30px 30px 34px!important;
        border-radius:20px!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message{
        min-height:70px!important;
        padding:17px 19px 17px 68px!important;
        font-size:15px!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message::before{
        left:18px!important;
        width:36px!important;
        min-width:36px!important;
        height:36px!important;
        min-height:36px!important;
        font-size:20px!important;
        line-height:36px!important;
    }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (width<=767px){
    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message){
        width:calc(100% - 24px)!important;
        max-width:none!important;

        margin:22px auto 38px!important;
        padding:18px 16px 20px!important;

        border-radius:16px!important;

        box-shadow:
            0 11px 30px rgba(36,19,47,.08),
            inset 0 1px rgba(255,255,255,.96)!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message{
        min-height:58px!important;

        margin:0 0 16px!important;
        padding:12px 12px 12px 53px!important;

        border:1px solid #cfe6d7!important;
        border-left:3px solid var(--js-reset-green)!important;
        border-radius:12px!important;

        font-size:13px!important;
        font-weight:780!important;
        line-height:1.35!important;

        box-shadow:0 6px 16px rgba(25,59,38,.06)!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message::before{
        left:12px!important;

        width:29px!important;
        min-width:29px!important;
        height:29px!important;
        min-height:29px!important;

        font-size:17px!important;
        line-height:29px!important;

        box-shadow:0 5px 12px rgba(75,197,10,.22)!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message + p{
        margin:0!important;
        padding:0 2px!important;

        color:#655b6d!important;

        font-size:13.5px!important;
        font-weight:500!important;
        line-height:1.62!important;
    }
}

@media (width<=390px){
    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message){
        width:calc(100% - 16px)!important;
        margin-top:16px!important;
        padding:15px 12px 17px!important;
        border-radius:14px!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message{
        min-height:54px!important;
        margin-bottom:14px!important;
        padding:10px 10px 10px 48px!important;
        border-radius:11px!important;
        font-size:12.5px!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message::before{
        left:10px!important;
        width:27px!important;
        min-width:27px!important;
        height:27px!important;
        min-height:27px!important;
        font-size:16px!important;
        line-height:27px!important;
    }

    body.js-account-lost-password-page
    .woocommerce:has(.woocommerce-message)
    .woocommerce-message + p{
        font-size:13px!important;
        line-height:1.58!important;
    }
}