/* ── Header: hide "My Account" link when NOT logged in ── */
body:not(.logged-in) a.mini-contacts.multipurpose_1 {
    display: none !important;
}

/* ── WCDPM Login Modal ── */

.wcdpm-lm-wrap {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    align-items: center;
    justify-content: center;
}
.wcdpm-lm-wrap.is-open {
    display: flex;
}

/* Overlay */
.wcdpm-lm-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

/* Box */
.wcdpm-lm-box {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    width: 100%;
    max-width: 680px;
    margin: 16px;
    overflow: hidden;
    animation: wcdpm-lm-in 0.2s ease;
}
@keyframes wcdpm-lm-in {
    from { opacity: 0; transform: translateY(-16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Close button */
.wcdpm-lm-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    font-size: 26px;
    line-height: 1;
    color: #888;
    cursor: pointer;
    padding: 4px 8px;
    z-index: 2;
}
.wcdpm-lm-close:hover { color: #333; }

/* Inner: flex row */
.wcdpm-lm-inner {
    display: flex;
    align-items: stretch;
    min-height: 380px;
}

/* Left panel */
.wcdpm-lm-left {
    flex: 1 1 55%;
    padding: 44px 40px 40px;
    display: flex;
    flex-direction: column;
}

.wcdpm-lm-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

/* Error notice */
.wcdpm-lm-error {
    background: #fdf2f2;
    border: 1px solid #f5c6c6;
    color: #c0392b;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 16px;
}

/* Fields */
.wcdpm-lm-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
}
.wcdpm-lm-field label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-bottom: 6px !important;
}
.wcdpm-lm-req { color: #e8351a; margin-left: 2px; }

.wcdpm-lm-field input {
    height: 46px;
    padding: 0 14px;
    border: 1px solid #dde1e6;
    border-radius: 6px;
    font-size: 15px;
    color: #1a1a1a;
    background: #fff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
    width: 100%;
}
.wcdpm-lm-field input:focus {
    border-color: #e8351a;
    box-shadow: 0 0 0 3px rgba(232,53,26,0.12);
}

/* Forgot password */
.wcdpm-lm-forgot {
    font-size: 13px;
    color: #2563eb;
    text-decoration: none;
    margin-bottom: 20px;
    text-align: right;
    display: block;
}
.wcdpm-lm-forgot:hover { text-decoration: underline; }

/* Sign In button */
.wcdpm-lm-submit {
    width: 100%;
    height: 48px;
    background: #e8351a;
    color: #fff !important;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
    margin-bottom: 16px;
}
.wcdpm-lm-submit:hover { background: #c0301a; }
.wcdpm-lm-submit:disabled { opacity: 0.7; cursor: not-allowed; }

/* Create an Account link */
.wcdpm-lm-create {
    font-size: 14px;
    color: #2563eb;
    text-decoration: none;
    text-align: center;
    display: block;
}
.wcdpm-lm-create:hover { text-decoration: underline; }

/* Vertical divider */
.wcdpm-lm-sep {
    width: 1px;
    background: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}
.wcdpm-lm-sep span {
    position: absolute;
    background: #fff;
    padding: 8px 0;
    font-size: 13px;
    color: #999;
    writing-mode: horizontal-tb;
}

/* Right panel */
.wcdpm-lm-right {
    flex: 0 0 200px;
    padding: 44px 28px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.wcdpm-lm-social-heading {
    font-size: 14px !important;
    color: #777 !important;
    margin: 0 0 4px !important;
    text-align: center;
}

/* Google button */
.wcdpm-lm-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 11px 16px;
    background: #f5f5f5;
    border: 1px solid #dde1e6;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #333 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    box-sizing: border-box;
}
.wcdpm-lm-social-btn:hover {
    background: #ebebeb;
    border-color: #c5c8cc;
    color: #111 !important;
    text-decoration: none !important;
}

.wcdpm-lm-no-social {
    font-size: 13px;
    color: #999;
    text-align: center;
}

/* Prevent body scroll when modal open */
body.wcdpm-modal-open {
    overflow: hidden;
}

/* ── Payment Processing Loader ── */
#wcdpm-payment-loader {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    background: rgba(255, 255, 255, 0.93);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wcdpm-payment-loader-box {
    text-align: center;
    padding: 40px 32px;
}

.wcdpm-payment-spinner {
    width: 58px;
    height: 58px;
    border: 5px solid #e8e8e8;
    border-top-color: #e8351a;
    border-radius: 50%;
    animation: wcdpm-spin 0.85s linear infinite;
    margin: 0 auto 28px;
}

@keyframes wcdpm-spin {
    to { transform: rotate(360deg); }
}

.wcdpm-payment-loader-text {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px !important;
    line-height: 1.3 !important;
}

.wcdpm-payment-loader-sub {
    font-size: 14px !important;
    color: #666 !important;
    margin: 0 !important;
}

body.wcdpm-payment-processing {
    overflow: hidden;
}

/* ── Responsive ── */
@media (max-width: 560px) {
    .wcdpm-lm-inner {
        flex-direction: column;
    }
    .wcdpm-lm-sep {
        width: 100%;
        height: 1px;
        writing-mode: horizontal-tb;
    }
    .wcdpm-lm-sep span {
        writing-mode: horizontal-tb;
        padding: 0 10px;
    }
    .wcdpm-lm-left {
        padding: 36px 24px 24px;
    }
    .wcdpm-lm-right {
        flex: none;
        padding: 20px 24px 32px;
    }
}
