/* ==========================================================
   LEENZARA LOGIN / REGISTER MODAL
   WHITE + GOLD THEME
========================================================== */

.cw-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;

    background: rgba(20, 15, 10, 0.58);

    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);

    align-items: center;
    justify-content: center;

    padding: 20px;

    opacity: 0;
    transition: opacity .25s ease;
}

.cw-modal-overlay.cw-active {
    display: flex;
    opacity: 1;
}


/* ==========================================================
   MAIN MODAL
========================================================== */

.cw-modal {
    position: relative;

    display: flex;

    width: 100%;
    max-width: 860px;
    max-height: 90vh;

    background: #fff;

    border-radius: 8px;

    overflow: hidden;

    box-shadow: 0 25px 70px rgba(0,0,0,.30);

    transform: translateY(12px) scale(.985);
    transition: transform .25s ease;
}

.cw-modal-overlay.cw-active .cw-modal {
    transform: translateY(0) scale(1);
}


/* ==========================================================
   CLOSE
========================================================== */

.cw-modal-close {
    position: absolute;

    top: 15px;
    right: 17px;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: transparent;
    border: 0;

    color: #777;

    font-size: 27px;
    line-height: 1;

    cursor: pointer;

    z-index: 20;

    transition: .2s ease;
}

.cw-modal-close:hover {
    color: #C49D57;
    background: transparent;
    transform: rotate(90deg);
}


/* ==========================================================
   LEFT PANEL
========================================================== */

.cw-modal-left {
    position: relative;

    flex: 0 0 55%;

    background: #fff;

    color: #222;

    padding: 45px 28px 35px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    overflow: hidden;
}


/* Remove old gold background circles */

.cw-modal-left::before,
.cw-modal-left::after {
    display: none;
}


/* ==========================================================
   BRAND
========================================================== */

.cw-modal-brand {
    position: relative;

    margin: 0 0 12px;

    color: #C49D57;

    font-size: 28px;
    font-weight: 800;

    line-height: 1;

    letter-spacing: -.5px;
}


/* ==========================================================
   TAGLINE
========================================================== */

.cw-modal-tagline {
    position: relative;

    max-width: 500px;

    margin: 0 0 27px;

    color: #222;

    font-size: 22px;
    line-height: 1.3;

    font-weight: 700;

    text-align: center;
}


/* ==========================================================
   FEATURES
========================================================== */

.cw-modal-features {
    position: relative;

    width: 100%;
    max-width: 500px;

    display: flex;

    gap: 12px;

    margin: 0 auto;
}


/* ==========================================================
   FEATURE CARD
========================================================== */

.cw-feature {
    flex: 1;

    min-height: 165px;

    padding: 22px 10px 17px;

    background: #f4f4f4;

    border: 1px solid #eeeeee;

    border-radius: 18px;

    text-align: center;

    transition: .2s ease;
}

.cw-feature:hover {
    border-color: rgba(196,157,87,.45);

    transform: translateY(-2px);
}


/* ==========================================================
   FEATURE ICON
========================================================== */

.cw-feature-icon {
    width: 38px;
    height: 38px;

    margin: 0 auto 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;

    border: 1px solid #C49D57;

    border-radius: 50%;

    color: #C49D57;

    font-size: 18px;
}


/* ==========================================================
   FEATURE TITLE
========================================================== */

.cw-feature strong {
    display: block;

    margin-bottom: 6px;

    color: #333;

    font-size: 13px;
    line-height: 1.25;

    font-weight: 700;
}


/* ==========================================================
   FEATURE DESCRIPTION
========================================================== */

.cw-feature p {
    margin: 0;

    color: #777;

    font-size: 11px;
    line-height: 1.45;
}


/* ==========================================================
   RIGHT PANEL
========================================================== */

.cw-modal-right {
    position: relative;

    flex: 0 0 45%;

    background: #fff;

    padding: 45px 35px 35px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border-left: 1px solid #e6e6e6;
}


/* ==========================================================
   STEPPER — KEEP
========================================================== */

.cw-stepper {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 20px;
}


/* STEP DOT */

.cw-step-dot {
    width: 26px;
    height: 26px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f3eee5;

    color: #a98a55;

    font-size: 12px;
    font-weight: 700;

    transition: .2s ease;
}


/* ACTIVE */

.cw-step-dot.active {
    background: #C49D57;

    color: #fff;

    box-shadow:
        0 4px 10px rgba(196,157,87,.25);
}


/* DONE */

.cw-step-dot.done {
    background: #a9813e;

    color: #fff;
}


/* LINE */

.cw-step-line {
    width: 28px;
    height: 2px;

    background: #e9dfcc;
}


/* ==========================================================
   RIGHT HEADING
========================================================== */

.cw-modal-right h3 {
    margin: 0 0 6px;

    color: #222;

    font-size: 22px;
    line-height: 1.25;

    font-weight: 750;

    text-align: center;
}


/* ==========================================================
   SUBTEXT
========================================================== */

.cw-modal-subtext {
    margin: 0 0 22px;

    color: #777;

    font-size: 13px;
    line-height: 1.4;

    text-align: center;
}


/* ==========================================================
   PHONE ROW
========================================================== */

.cw-phone-row {
    display: flex;
    align-items: center;

    width: 100%;

    margin-bottom: 15px;

    background: #fff;

    border: 1px solid #dedede;

    border-radius: 7px;

    overflow: hidden;

    transition: .2s ease;
}

.cw-phone-row:focus-within {
    border-color: #C49D57;

    box-shadow:
        0 0 0 2px rgba(196,157,87,.10);
}


/* COUNTRY CODE */

.cw-cc {
    height: 47px;

    display: flex;
    align-items: center;

    padding: 0 12px;

    background: #faf8f4;

    border-right: 1px solid #e4e4e4;

    color: #806a42;

    font-size: 13px;
    font-weight: 600;

    white-space: nowrap;
}


/* PHONE INPUT */

#cw-modal-phone {
    flex: 1;

    width: 100%;
    height: 47px;

    padding: 0 13px;

    border: 0;

    outline: none;

    background: transparent;

    color: #333;

    font-size: 14px;

    box-sizing: border-box;
}

#cw-modal-phone::placeholder {
    color: #8a8f96;
}


/* ==========================================================
   NORMAL INPUT
========================================================== */

.cw-input {
    width: 100%;
    height: 47px;

    box-sizing: border-box;

    margin-bottom: 14px;

    padding: 0 13px;

    background: #fff;

    border: 1px solid #dedede;

    border-radius: 7px;

    outline: none;

    color: #333;

    font-size: 14px;

    transition: .2s ease;
}

.cw-input:focus {
    border-color: #C49D57;

    box-shadow:
        0 0 0 2px rgba(196,157,87,.10);
}


/* ==========================================================
   OTP
========================================================== */

.cw-otp-input {
    text-align: center;

    letter-spacing: 6px;

    font-size: 18px;

    font-weight: 700;
}


/* ==========================================================
   GOLD BUTTON
========================================================== */

.cw-btn-primary {
    width: 100%;

    min-height: 47px;

    padding: 12px 16px;

    background: #C49D57;

    border: 1px solid #C49D57;

    border-radius: 7px;

    color: #fff;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    box-shadow: 0 5px 14px rgba(196,157,87,.20);

    transition: .2s ease;
}

.cw-btn-primary:hover {
    background: #B28B49;

    border-color: #B28B49;

    transform: translateY(-1px);

    box-shadow: 0 7px 18px rgba(196,157,87,.28);
}

.cw-btn-primary:active {
    transform: translateY(0);
}


/* ==========================================================
   RESEND
========================================================== */

.cw-resend {
    margin-top: 13px;

    color: #888;

    font-size: 12px;

    text-align: center;
}

.cw-resend a {
    color: #C49D57;

    font-weight: 700;

    text-decoration: none;
}


/* ==========================================================
   MESSAGE
========================================================== */

.cw-modal-message {
    min-height: 18px;

    margin: 12px 0 0;

    color: #666;

    font-size: 12px;

    font-weight: 600;

    text-align: center;
}


/* ==========================================================
   TERMS
========================================================== */

.cw-modal-terms {
    margin-top: 17px;

    color: #999;

    font-size: 10.5px;

    line-height: 1.5;

    text-align: center;
}

.cw-modal-terms a {
    color: #C49D57;

    text-decoration: none;
}

.cw-modal-terms a:hover {
    text-decoration: underline;
}


/* ==========================================================
   STEP ANIMATION
========================================================== */

.cw-step {
    animation: cwFadeIn .25s ease;
}

@keyframes cwFadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ==========================================================
   ACCOUNT DROPDOWN
========================================================== */

.cw-account-dropdown {
    position: absolute;

    top: 100%;
    right: 0;

    margin-top: 10px;

    min-width: 210px;

    padding: 10px;

    background: #fff;

    border: 1px solid #eee;

    border-radius: 12px;

    box-shadow: 0 12px 32px rgba(0,0,0,.16);

    z-index: 9999;
}

.cw-dropdown-item {
    display: flex;
    align-items: center;

    gap: 10px;

    padding: 11px 13px;

    border-radius: 8px;

    color: #222;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    transition: .15s ease;
}

.cw-dropdown-item:hover {
    background: #faf5ec;

    color: #C49D57;
}

.cw-dropdown-item.cw-logout {
    margin-top: 4px;

    border-top: 1px solid #eee;

    border-radius: 0 0 8px 8px;

    justify-content: center;
}

.cw-dd-icon {
    font-size: 16px;
}


/* ==========================================================
   HIDE DEFAULT WOOCOMMERCE LOGIN
========================================================== */

body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    display: none !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 800px) {

    .cw-modal {
        max-width: 700px;
    }

    .cw-modal-left {
        flex-basis: 53%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .cw-modal-right {
        flex-basis: 47%;

        padding-left: 25px;
        padding-right: 25px;
    }

    .cw-modal-tagline {
        font-size: 20px;
    }

    .cw-modal-features {
        gap: 8px;
    }

    .cw-feature {
        padding-left: 7px;
        padding-right: 7px;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 700px) {

    .cw-modal-overlay {
        padding: 0;
    }

    .cw-modal {
        width: 100%;
        height: 100%;

        max-height: 100vh;

        flex-direction: column;

        border-radius: 0;

        overflow-y: auto;
    }

    .cw-modal-left {
        flex: 0 0 auto;

        padding: 50px 16px 25px;
    }

    .cw-modal-brand {
        font-size: 25px;
    }

    .cw-modal-tagline {
        font-size: 19px;

        margin-bottom: 20px;
    }

    .cw-modal-features {
        gap: 6px;
    }

    .cw-feature {
        min-height: 110px;

        padding: 14px 5px;

        border-radius: 14px;
    }

    .cw-feature-icon {
        width: 30px;
        height: 30px;

        font-size: 16px;
    }

    .cw-feature strong {
        font-size: 11px;
    }

    .cw-feature p {
        display: none;
    }

    .cw-modal-right {
        flex: 1 1 auto;

        padding: 28px 20px 35px;

        border-left: 0;
        border-top: 1px solid #eee;
    }

    .cw-modal-right h3 {
        font-size: 21px;
    }

    .cw-modal-close {
        top: 13px;
        right: 13px;
    }
}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 380px) {

    .cw-modal-left {
        padding-left: 10px;
        padding-right: 10px;
    }

    .cw-modal-right {
        padding-left: 15px;
        padding-right: 15px;
    }

    .cw-modal-tagline {
        font-size: 18px;
    }
}