@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/inter-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/inter-latin-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/inter-latin-800-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Rethink Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/rethink-sans-latin-800-normal.woff2') format('woff2');
}

/* Scoped to the WordPress login and BuddyBoss registration screens. */
body.ob-auth {
    --ob-ink: #1b1b1b;
    --ob-muted: #74716c;
    background: #e0dcd5 !important;
    color: var(--ob-ink);
    font-family: Inter, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    min-height: 100vh;
    margin: 0;
}
body.login.ob-auth {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 20px !important;
    box-sizing: border-box;
    height: auto !important;
}
body.ob-auth #login,
body.ob-auth #register-page.ob-auth-card {
    background: #fff;
    border: 0;
    border-radius: 24px;
    box-shadow: none;
    box-sizing: border-box;
    width: 464px !important;
    max-width: 100%;
    margin: 0 auto !important;
    padding: 0 32px 28px !important;
    float: none;
    overflow: hidden;
}
.ob-auth-banner {
    margin: 0 -32px;
    width: calc(100% + 64px);
}
.ob-auth-banner img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 464 / 224;
    object-fit: cover;
}
body.ob-auth .ob-auth-heading { margin: 8px 0 20px; text-align: left; }
body.ob-auth .ob-auth-heading h1 {
    font-family: 'Rethink Sans', sans-serif !important;
    font-weight: 800 !important;
    font-size: 28px !important;
    line-height: 1.1;
    letter-spacing: -0.4px;
    text-align: left;
    color: var(--ob-ink);
    margin: 0 !important;
    padding: 0 !important;
}
body.ob-auth .ob-auth-heading p {
    font: 600 16px/1.4 Inter, sans-serif;
    color: var(--ob-muted);
    margin: 0;
}
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform),
body.ob-auth #signup-form {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    overflow: visible;
}
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) label,
body.ob-auth #signup-form label,
body.ob-auth #signup-form legend {
    display: block;
    color: var(--ob-ink);
    font: 700 14px/1.4 Inter, sans-serif !important;
    margin: 0 0 4px !important;
    padding: 0;
    width: auto;
}
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) label::before,
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .wp-pwd::before { display: none !important; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) input.input,
body.ob-auth #signup-form input[type='text'],
body.ob-auth #signup-form input[type='email'],
body.ob-auth #signup-form input[type='password'] {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px;
    box-sizing: border-box;
    padding: 0 16px !important;
    border: 2px solid #e5e2dd !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    background: #fff !important;
    color: var(--ob-ink) !important;
    font: 700 14px/1.4 Inter, sans-serif !important;
    margin: 0 !important;
}
body.ob-auth input::placeholder { color: #817d76; opacity: 1; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) input:focus,
body.ob-auth #signup-form input:focus { outline: 2px solid #74716c; outline-offset: 2px; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) > p:first-child,
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .user-pass-wrap,
body.ob-auth #signup-form .bb-signup-field { margin: 0 0 16px !important; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .wp-pwd { position: relative; margin: 0; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) #user_pass,
body.ob-auth #signup-form #signup_password { padding-right: 48px !important; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .wp-hide-pw {
    top: 0;
    right: 4px;
    height: 48px;
    width: 40px;
    padding: 0;
    color: var(--ob-muted);
    background: transparent;
    border: 0;
}
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .lostmenot { margin: -6px 0 20px !important; text-align: right; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .lostmenot a { font: 700 14px/1.4 Inter, sans-serif; color: var(--ob-muted); }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .submit,
body.ob-auth #signup-form .submit { margin: 0 !important; padding: 0 !important; clear: both; }
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) #wp-submit,
body.ob-auth #signup-form #signup_submit {
    display: block;
    float: none;
    width: 100%;
    height: 56px;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--ob-ink) !important;
    color: #fff !important;
    font: 800 16px/1.4 Inter, sans-serif !important;
    text-transform: none;
    text-shadow: none;
    box-shadow: none;
    cursor: pointer;
}
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) #wp-submit:hover,
body.ob-auth #signup-form #signup_submit:hover { background: #333 !important; }
body.ob-auth .ob-auth-switch,
body.ob-auth .login-page-link-wrap {
    text-align: center;
    font: 600 16px/1.5 Inter, sans-serif;
    color: var(--ob-muted);
    margin: 16px 0 0 !important;
}
body.ob-auth .ob-auth-switch a,
body.ob-auth .login-page-link-wrap a { color: var(--ob-ink) !important; font-weight: 800; }
body.ob-auth .ob-auth-privacy { text-align: center; font: 600 14px/1.5 Inter, sans-serif; color: var(--ob-muted); margin: 10px 0 0; }
body.ob-auth .ob-auth-privacy a { color: inherit; }
body.ob-auth a { text-decoration: none; }
body.ob-auth a:hover { text-decoration: underline; }
/* Remove the parent theme's split layout and duplicate headings/navigation. */
body.ob-auth .login-split,
body.ob-auth #login > h1,
body.ob-auth .login-heading,
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .forgetmenot,
body.ob-auth :is(#loginform, #lostpasswordform, #resetpassform) .label-switch,
body.ob-auth #login > #nav,
body.ob-auth #backtoblog,
body.ob-auth .language-switcher,
body.ob-auth .privacy-policy-page-link { display: none !important; }
body.ob-auth:not(.login-action-login) #login > #nav { display: block !important; }
/* Registration uses the native profile fields so field IDs and validation survive. */
body.ob-auth-register #masthead,
body.ob-auth-register .site-footer,
body.ob-auth-register #buddypanel,
body.ob-auth-register .buddypanel,
body.ob-auth-register .entry-header,
body.ob-auth-register .registration-header,
body.ob-auth-register .bb-page-title,
body.ob-auth-register .bb-back-to-home,
body.ob-auth-register .register-section-logo { display: none !important; }
body.ob-auth-register #page,
body.ob-auth-register #content,
body.ob-auth-register .site-content,
body.ob-auth-register #primary,
body.ob-auth-register #main,
body.ob-auth-register article,
body.ob-auth-register .entry-content,
body.ob-auth-register #buddypress,
body.ob-auth-register .buddypress-wrap {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    border: 0;
    box-shadow: none;
}
body.ob-auth-register #content { padding: 32px 20px !important; box-sizing: border-box; }
body.ob-auth-register #content > .container { max-width: none !important; padding: 0; }
body.ob-auth #signup-form .layout-wrap { display: block !important; margin: 0; }
body.ob-auth #signup-form .register-section { width: 100% !important; padding: 0 !important; margin: 0 !important; float: none; }
body.ob-auth #signup-form #profile-details-section { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
body.ob-auth #signup-form .editfield { grid-column: 1 / -1; margin: 0 0 16px; padding: 0; border: 0; }
body.ob-auth #signup-form .ob-first-name { grid-column: 1; }
body.ob-auth #signup-form .ob-last-name { grid-column: 2; }
body.ob-auth #signup-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
body.ob-auth #signup-form .field-visibility-settings-toggle,
body.ob-auth #signup-form .field-visibility-settings-notoggle,
body.ob-auth #signup-form .field-visibility-settings,
body.ob-auth #signup-form .bp-optional-field-label { display: none; }
body.ob-auth #signup-form .password-entry { margin-bottom: 0 !important; }
body.ob-auth #signup-form .bb-password-wrap { position: relative; }
body.ob-auth #signup-form .bb-toggle-password { color: var(--ob-muted); }
body.ob-auth #login_error,
body.ob-auth .bp-feedback { margin: 12px 0 !important; }
@media (max-width: 480px) {
    body.login.ob-auth { padding: 20px 16px !important; }
    body.ob-auth-register #content { padding: 20px 16px !important; }
    body.ob-auth #login, body.ob-auth #register-page.ob-auth-card { padding-right: 24px !important; padding-left: 24px !important; }
    .ob-auth-banner { margin-right: -24px; margin-left: -24px; width: calc(100% + 48px); }
}

body.ob-auth-register #wpadminbar { display: none !important; }
html:has(body.ob-auth-register) { margin-top: 0 !important; }

body.ob-auth-register #content { min-height: 100vh; display: flex; align-items: center; }
body.ob-auth-register #content > .container { width: 100%; box-sizing: border-box; }
body.ob-auth-register #signup-form .editfield { margin-bottom: 16px !important; }
body.ob-auth-register #signup-form legend { color: #1b1b1b !important; }
/* The parent's custom-login mode positions its form in half the viewport. */
body.login.ob-auth #login {
    position: static !important;
    transform: none !important;
    display: block !important;
    min-height: 0 !important;
    max-width: 100% !important;
    flex: none;
}

/* Native WordPress notices must grow with their text instead of clipping. */
body.ob-auth #login :is(.message, .notice, #login_error) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 20px !important;
    padding: 14px 16px !important;
    border: 1px solid #e5e2dd !important;
    border-left: 4px solid #74716c !important;
    border-radius: 8px;
    background: #f7f5f2 !important;
    box-shadow: none !important;
    color: #1b1b1b !important;
    font: 600 14px/1.6 Inter, sans-serif !important;
    text-align: left;
    overflow: visible !important;
    overflow-wrap: anywhere;
    position: static;
}
body.ob-auth #login :is(#login_error, .notice-error) {
    border-left-color: #a1362c !important;
    background: #fbf1ef !important;
}
body.ob-auth #login .notice-success {
    border-left-color: #4f6b45 !important;
    background: #f1f5ee !important;
}
body.ob-auth #login :is(.message, .notice, #login_error) :is(p, div, ul) {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    font: inherit !important;
    color: inherit !important;
}
body.ob-auth #login :is(.message, .notice, #login_error) ul { padding-left: 18px !important; }
body.ob-auth #login :is(.message, .notice, #login_error) a { color: inherit; text-decoration: underline; }
body.ob-auth #login .message .message { border: 0 !important; background: transparent !important; margin: 8px 0 0 !important; padding: 0 !important; }
body.ob-auth #login:not(:has(.ob-auth-banner)) { padding-top: 32px !important; }
body.ob-auth #login :is(#lostpasswordform, #resetpassform) > p { margin: 0 0 16px !important; }
body.ob-auth #login :is(#lostpasswordform, #resetpassform) .submit { margin: 20px 0 0 !important; }
body.ob-auth #login :is(#lostpasswordform, #resetpassform) .wp-pwd { position: relative; margin: 0; }
body.ob-auth #resetpassform :is(#pass1, #bs-pass2) { padding-right: 48px !important; }
body.ob-auth #resetpassform .wp-hide-pw { display: block !important; }
body.ob-auth #resetpassform :is(.description, .indicator-hint, .pw-weak) { font: 600 14px/1.5 Inter, sans-serif; color: var(--ob-muted); margin: 12px 0 !important; }
body.ob-auth #resetpassform .pw-weak label { display: inline; }
body.ob-auth #resetpassform #pass-strength-result { box-sizing: border-box; height: auto; width: 100%; border-radius: 8px; padding: 8px; font: 700 14px/1.5 Inter, sans-serif; }
body.ob-auth #login :is(#nav, .bs-sign-in) { font: 700 14px/1.5 Inter, sans-serif; color: var(--ob-muted); text-align: center; margin: 20px 0 0 !important; padding: 0; }
body.ob-auth #login #nav a { color: var(--ob-ink); }
body.ob-auth #lostpasswordform .bs-sign-in { display: block; }
body.ob-auth #login > #nav.ob-auth-nav { display: block !important; }
body.ob-auth #resetpassform label[for='pass1'],
body.ob-auth #resetpassform label[for='bs-pass2'] { display: block !important; }
body.ob-auth #resetpassform .wp-generate-pw {
    display: block;
    width: 100%;
    height: auto;
    min-height: 48px;
    padding: 12px 16px;
    margin: 16px 0 0;
    background: #f7f5f2 !important;
    border: 1px solid #e5e2dd !important;
    border-radius: 8px;
    color: var(--ob-ink) !important;
    font: 700 14px/1.5 Inter, sans-serif;
    box-shadow: none;
}
body.ob-auth #resetpassform #pass-strength-result {
    margin: 8px 0 0;
    background: #f7f5f2 !important;
    border: 1px solid #e5e2dd !important;
    color: var(--ob-muted) !important;
}
body.ob-auth #resetpassform #pass-strength-result.strong { background: #f1f5ee !important; color: #4f6b45 !important; }
body.ob-auth #resetpassform #pass-strength-result:is(.short, .bad) { background: #fbf1ef !important; color: #a1362c !important; }
