/* =====================================================
   OTP Login — Password-Less Login Plugin by Sauucey
   ===================================================== */

/* ── WP-LOGIN.PHP ──────────────────────────────────── */
body.login .user-pass-wrap,
body.login #nav,
body.login .forgetmenot {
    display: none !important;
}

body.login .pll-otp-card {
    display: none;
    width: 100%;
    box-sizing: border-box;
}
body.login .pll-otp-card.pll-active { display: block; }
body.login #loginform.pll-hidden    { display: none !important; }

body.login .pll-greeting {
    display: none;
    font-size: 13px;
    color: #3c434a;
    background: #f0f6fc;
    border-left: 3px solid #2271b1;
    padding: 9px 12px;
    border-radius: 4px;
    margin-bottom: 14px;
}
body.login .pll-greeting.pll-show { display: block; }

body.login .pll-otp-card label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
    margin-top: 12px;
}
body.login .pll-otp-card input[type="text"] {
    width: 100%;
    padding: 8px 10px;
    font-size: 14px;
    border: 1px solid #8c8f94;
    border-radius: 3px;
    box-sizing: border-box;
    height: auto;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07);
}
body.login .pll-otp-card input[type="text"]:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}
body.login .pll-hint {
    font-size: 11px;
    color: #646970;
    margin-top: 4px;
}
body.login .pll-error {
    display: none;
    font-size: 13px;
    color: #d63638;
    background: #fcf0f1;
    border-left: 3px solid #d63638;
    padding: 7px 10px;
    border-radius: 3px;
    margin-top: 8px;
}
body.login .pll-error.pll-show { display: block; }

body.login .pll-submit-btn {
    display: block;
    width: 100%;
    margin-top: 16px;
    padding: 8px 12px;
    background: #2271b1;
    border: 1px solid #2271b1;
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
body.login .pll-submit-btn:hover   { background: #135e96; }
body.login .pll-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }

body.login .pll-back { text-align: center; margin-top: 12px; }
body.login .pll-back a { font-size: 13px; color: #2271b1; text-decoration: none; }


/* ── WOOCOMMERCE /MY-ACCOUNT ───────────────────────── */
.woocommerce-form-login .password-input,
.woocommerce-form-login label[for="password"],
.woocommerce-form-login .form-row:has(input[type="password"]),
.woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce-form-login .lost_password {
    display: none !important;
}

.pll-woo-otp-card {
    display: none !important;
    width: 100%;
}
.pll-woo-otp-card.pll-active { display: block !important; }

.pll-woo-greeting {
    display: none;
    font-size: 13px;
    color: #c8b8e8;
    background: rgba(139,92,246,0.15);
    border-left: 3px solid #a855f7;
    padding: 10px 14px;
    border-radius: 4px;
    margin-bottom: 14px;
}
.pll-woo-greeting.pll-show { display: block; }

.pll-woo-otp-card input#pll-woo-otp-input {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
    text-align: left !important;
    background: transparent !important;
    color: inherit !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    height: auto !important;
    -webkit-appearance: none !important;
}
.pll-woo-otp-card input#pll-woo-otp-input:focus {
    border-color: #a855f7 !important;
    box-shadow: 0 0 0 2px rgba(168,85,247,0.2) !important;
    outline: none !important;
}
.pll-woo-otp-card input#pll-woo-otp-input::placeholder {
    color: rgba(255,255,255,0.35) !important;
}
.pll-woo-otp-card input#pll-woo-name {
    background: transparent !important;
    color: inherit !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
}
.pll-woo-otp-card label {
    color: #e2d9f3 !important;
    font-weight: 600 !important;
}
.pll-woo-hint {
    display: block;
    font-size: 11px;
    color: #6b5d8a;
    margin-top: 5px;
}
.pll-woo-error {
    display: none;
    font-size: 13px;
    color: #f87171;
    background: rgba(248,113,113,0.08);
    border-left: 3px solid #f87171;
    padding: 8px 12px;
    border-radius: 4px;
    margin: 8px 0;
}
.pll-woo-error.pll-show { display: block; }

.pll-woo-back { font-size: 12px; display: none; margin: 6px 0 10px; }
.pll-woo-back a { color: #9b72d0; text-decoration: none; }

/* ── BLOCKSY POPUP (frontend only) ─────────────────── */

/* Hide password in popup login */
form[name="loginform"] #user_pass,
form[name="loginform"] label[for="user_pass"],
form[name="loginform"] p:has(#user_pass),
form[name="loginform"] .login-remember {
    display: none !important;
}

/* Hide password in popup register */
form[name="registerform"] #user_pass_register,
form[name="registerform"] p:has(#user_pass_register) {
    display: none !important;
}

/* Hide Sign Up tab + register panel */
.ct-account-modal li.ct-register,
.ct-register-form,
.u-column2.col-2:has(.woocommerce-form-register) {
    display: none !important;
}
.ct-account-modal li.ct-login {
    width: 100% !important;
    text-align: center !important;
}

/* Hide woo register on /my-account */
.woocommerce-form-register .password-input,
.woocommerce-form-register .form-row:has(#reg_password) {
    display: none !important;
}

/* Popup OTP fields */
form[name="loginform"] #pll-popup-otp-row input[type="text"] {
    width: 100% !important;
    background: transparent !important;
    color: inherit !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    height: auto !important;
    outline: none !important;
}
form[name="loginform"] #pll-popup-otp-row input:focus {
    border-color: #a855f7 !important;
    box-shadow: 0 0 0 2px rgba(168,85,247,0.2) !important;
}
form[name="loginform"] #pll-popup-otp-row label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
    margin-top: 12px;
}
.pll-popup-greeting {
    font-size: 13px;
    color: #c8b8e8;
    background: rgba(139,92,246,0.15);
    border-left: 3px solid #a855f7;
    padding: 9px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}
.pll-popup-error {
    font-size: 12px;
    color: #f87171;
    background: rgba(248,113,113,0.08);
    border-left: 3px solid #f87171;
    padding: 7px 10px;
    border-radius: 4px;
    margin-top: 6px;
}
#pll-popup-back { font-size: 12px; color: #9b72d0; text-decoration: none; }
#pll-popup-back:hover { color: #c084fc; }

/* Hide error banners */
.ct-account-forms .woocommerce-error,
.ct-login-form .woocommerce-error,
.ct-login-form ul.woocommerce-error {
    display: none !important;
}

/* ── LOADER ─────────────────────────────────────────── */
.pll-loader-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(8,4,18,0.5);
    z-index: 99999;
    align-items: center;
    justify-content: center;
}
.pll-loader-overlay.pll-show { display: flex; }
.pll-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(168,85,247,0.2);
    border-top-color: #a855f7;
    border-radius: 50%;
    animation: pll-spin 0.7s linear infinite;
}
@keyframes pll-spin { to { transform: rotate(360deg); } }

/* Our own verify button — matches Blocksy ct-button style */
#pll-popup-verify-btn {
    background: linear-gradient(135deg, #a855f7, #7c3aed) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 12px 20px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: opacity 0.2s !important;
    width: 100% !important;
    font-size: 14px !important;
}
#pll-popup-verify-btn:hover    { opacity: 0.88 !important; }
#pll-popup-verify-btn:disabled { opacity: 0.5 !important; cursor: not-allowed !important; }
