/* ================================
   Login page layout
================================ */
body.cs-login-page {
    background: linear-gradient(180deg, #f3f6fb 0%, #fbfcfd 320px, #fbfcfd 100%);
}

body.cs-login-page #content.site-content {
    border-top: 1px solid #e6e6e6 !important;
}

body.cs-login-page .um-login,
body.cs-login-page .um-password {
    max-width: 500px;
    padding: 0;
    margin: 0 auto;
}

/* ================================
   Card
================================ */

body.cs-login-page .cs-um-profile-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    padding: 28px;
}

body.cs-login-page .cs-um-profile-card .um-field {
    padding: 0 0 12px;
    margin: 0;
}

/* Password reset page: the intro copy and the "check your email"/expired-
   link messages are UM built-in content blocks with an inline
   text-align:center style - override it to match the left-aligned style
   used everywhere else on this form. */
body.cs-login-page .um-password .um-field-block div {
    text-align: left !important;
}

/* "Return to home page" CTA injected by clientscore-password-reset.js
   once the form has resolved to a message-only state (checkemail,
   expired/invalid key, etc. - anything with no submit button left). */
body.cs-login-page .cs-um-profile-card .btn-primary {
    display: block;
    width: 100%;
    margin-top: 20px;
    font-size: 18px !important;
}

/* ================================
   Form inputs
================================ */

body.cs-login-page .um-form input[type="text"],
body.cs-login-page .um-form input[type="password"] {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    background: #ffffff !important;
    border: 1px solid #dbe4f0 !important;
    border-radius: 12px !important;
    color: #0f172a !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: all .2s ease;
}

body.cs-login-page .um-form input:focus {
    border-color: #2d7ff9 !important;
    box-shadow: 0 0 0 3px rgba(45,127,249,.12) !important;
}

body.cs-login-page .um-form .um-field-label label {
    color: #0f172a !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

body.cs-login-page .um-form .um-field {
    margin-bottom: 12px !important;
}

body.cs-login-page .um-form .um-field-label {
    margin-bottom: 8px !important;
}

/* ================================
   Remember me checkbox
================================ */

body.cs-login-page .um-field-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-bottom: 20px !important;
    cursor: pointer;
}

body.cs-login-page .um-field-checkbox-option {
    font-family: 'Inter', sans-serif !important;
    color: #64748b !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    transition: color 0.15s ease;
}

body.cs-login-page .um-field-checkbox:hover .um-field-checkbox-option {
    color: #2d7ff9 !important;
}

/* ================================
   Buttons
================================ */

body.cs-login-page .um-left.um-half,
body.cs-login-page .um-right.um-half {
    width: 100% !important;
    float: none !important;
    margin: 0 0 12px !important;
}

body.cs-login-page .um-button {
    display: block !important;
    width: 100% !important;
    min-width: auto !important;
    height: 50px !important;
    line-height: 50px !important;
    padding: 0 !important;
    background: #2d7ff9 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    text-align: center !important;
}

body.cs-login-page .um-button:not(.um-alt):hover {
    background: #1e5bd6 !important;
}

body.cs-login-page .um-button.um-alt {
    background: #ffffff !important;
    color: #2d7ff9 !important;
    border: 1px solid #2d7ff9 !important;
}

body.cs-login-page .um-button.um-alt:hover {
    background: #eff6ff !important;
    color: #1e5bd6 !important;
}

/* ================================
   Forgot password link
================================ */

body.cs-login-page .um-col-alt-b {
    text-align: center;
    margin-top: 16px;
}

body.cs-login-page .um-link-alt {
    font-family: 'Inter', sans-serif !important;
    color: #64748b !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

body.cs-login-page .um-link-alt:hover {
    color: #2d7ff9 !important;
}

/* ================================
   Mobile layout
================================ */

@media (max-width: 767px) {

    body.cs-login-page {
        width: 100%;
        overflow-x: hidden;
    }

    body.cs-login-page .um-login {
        max-width: 100%;
        padding: 24px 16px 48px;
    }

    body.cs-login-page .cs-um-profile-card {
        width: 100%;
        max-width: 100%;
        padding: 22px 18px;
        border-radius: 18px;
    }

    body.cs-login-page #content.site-content,
    body.cs-login-page .ast-container,
    body.cs-login-page #primary,
    body.cs-login-page .entry-content,
    body.cs-login-page .elementor,
    body.cs-login-page .e-con,
    body.cs-login-page .e-con-inner,
    body.cs-login-page .elementor-widget-shortcode,
    body.cs-login-page .elementor-shortcode {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

}
