/* Shared login surface: native forms and their handlers are kept intact. */
.txa-auth-surface { box-sizing:border-box; width:100%; max-width:440px; margin:0 auto; padding:36px; border:1px solid #383838; border-radius:20px; background:rgba(7,7,7,.90); color:#f2f2f2; font-family:Manrope,sans-serif; box-shadow:0 16px 60px #0005; }
.txa-auth-surface *, .txa-auth-surface *::before, .txa-auth-surface *::after { box-sizing:border-box; }
.txa-auth-surface .txa-auth-heading { text-align:center; margin:0 0 28px; padding:0; }
.txa-auth-surface img.txa-auth-logo { display:block; width:117px; height:21px; max-width:100%; margin:0 auto 17px; padding:0; border:0; object-fit:contain; }
.txa-auth-surface .txa-auth-heading h2 { margin:0 0 7px; padding:0; color:#f3f3f3; font-family:Manrope,sans-serif; font-size:24px; line-height:1.3; font-weight:700; text-transform:none; }
.txa-auth-surface .txa-auth-heading p { margin:0; color:#adadad; font-size:13px; line-height:1.6; }
.txa-auth-surface :is(.directorist-container,.directorist-container-fluid,.directorist-row) { width:100%; max-width:none; padding:0; margin:0; }
.txa-auth-surface :is(.directorist-login-wrapper,.directorist-registration-wrapper,.directorist-authentication) { flex:0 0 100%; width:100%; max-width:100%; margin:0; padding:0; border:0; background:transparent; }
.txa-auth-surface :is(.atbdp_login_form_shortcode,.directorist-authentication__form,.theme-modal-wrap,.directorist-widget-authentication,.directorist-card__body) { width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.txa-auth-surface :is(form,#loginform) { max-width:100%; margin:0; padding:0; background:transparent; }
.txa-auth-surface :is(.directorist-form-group,.login-username,.login-password) { margin:0 0 19px; padding:0; }
.txa-auth-surface label { display:block; color:#eee; font-size:13px; line-height:1.6; font-weight:500; margin:0 0 6px; }
.txa-auth-surface :is(input[type=text],input[type=email],input[type=password],textarea,select).directorist-form-element,
.txa-auth-surface #loginform :is(input[type=text],input[type=password]) { display:block; width:100%; min-width:0; height:46px; padding:11px 13px; border:1px solid #373737; border-radius:6px; background:#141414; color:#f2f2f2; font-size:13px; line-height:1.6; box-shadow:none; }
.txa-auth-surface input::placeholder { color:#929292; opacity:1; }
.txa-auth-surface .directorist-login-wrapper .atbdp_login_form_shortcode,
.txa-auth-surface .directorist-registration-wrapper .directorist-authentication__form { background:transparent; border:0; padding:0; margin:0; box-shadow:none; }
.txa-auth-surface .directorist-login-wrapper form .directorist-form-group label { color:#eee; font-size:13px; margin-bottom:6px; }
.txa-auth-surface .directorist-login-wrapper .directorist-form-group input.directorist-form-element { width:100%; max-width:100%; height:46px; padding:11px 13px; border:1px solid #373737; border-radius:6px; background:#141414; color:#f2f2f2; box-shadow:none; }
/* Match the IDs used by the native handlers to outrank dClassified's deep selectors. */
.txa-auth-surface :is(#directorist__authentication__login,#login,#loginform,#quick-login-from) .directorist-form-group { padding:0; margin:0 0 19px; }
.txa-auth-surface :is(#directorist__authentication__login,#login,#loginform,#quick-login-from) label { color:#eee; font-size:13px; }
.txa-auth-surface :is(#directorist__authentication__login,#login,#loginform,#quick-login-from) :is(input[type=text],input[type=email],input[type=password]) { width:100%; max-width:100%; height:46px; padding:11px 13px; border:1px solid #373737; border-radius:6px; background:#141414; color:#f2f2f2; box-shadow:none; }
.txa-auth-surface input:-webkit-autofill { -webkit-text-fill-color:#f2f2f2; -webkit-box-shadow:0 0 0 1000px #141414 inset; caret-color:#f2f2f2; }
.txa-auth-surface .directorist-password-group { position:relative; }
.txa-auth-surface .directorist-password-group input { padding-right:42px; }
.txa-auth-surface :is(.directorist-password-group-toggle,.directorist-password-group .directorist-icon-mask) { color:#aaa; }
.txa-auth-surface .directorist-password-group .directorist-icon-mask::after { background-color:#aaa; }
.txa-auth-surface :is(.theme-password-activity,.directorist-authentication__form__remember-me) { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:0 0 20px; }
.txa-auth-surface :is(.theme-password-activity,.directorist-authentication__form__remember-me) :is(label,p) { margin:0; font-size:12px; color:#bbb; }
.txa-auth-surface .directorist-checkbox { margin-bottom:0; }
.txa-auth-surface .directorist-checkbox label { font-weight:400; color:#bbb; font-size:12px; }
.txa-auth-surface input[type=checkbox] { accent-color:#ff620a; }
.txa-auth-surface a { color:#ff8c42; text-decoration:none; }
.txa-auth-surface a:hover { color:#ffb17d; }
.txa-auth-surface :is(.atbdp_recovery_pass,.directorist-recover-password-link) { font-size:12px; color:#aaa; }
.txa-auth-surface :is(.directorist-btn-primary,.directorist-authentication__form__btn,button[type=submit],input[type=submit]) { display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; margin:0; padding:11px 15px; border:1px solid #ff620a; border-radius:6px; background:linear-gradient(100deg,#ff3d00,#ff7311); color:#fff; font-family:Manrope,sans-serif; font-size:13px; line-height:1.6; font-weight:700; text-shadow:none; box-shadow:0 0 22px #ff5c0040; }
.txa-auth-surface :is(.directorist-btn-primary,.directorist-authentication__form__btn,button[type=submit],input[type=submit]):hover { border-color:#ff8643; color:#fff; filter:brightness(1.07); }
.txa-auth-surface :is(#directorist__authentication__login,#login,#loginform,#quick-login-from) :is(button[type=submit],input[type=submit],#quick-login-from-submit-btn) { width:100%; min-height:46px; border:1px solid #ff620a; border-radius:6px; background:linear-gradient(100deg,#ff3d00,#ff7311); color:#fff; box-shadow:0 0 22px #ff5c0040; }
.txa-auth-surface :is(.directorist-authentication__form__toggle-area,.atbd_reg_link,.theme-reg-area) { color:#aaa; text-align:center; font-size:12px; line-height:1.7; padding:0; margin:20px 0 0; background:transparent; }
.txa-auth-surface .directorist-authentication__form__toggle-area :is(p,button) { margin:0; font-size:12px; line-height:1.7; }
.txa-auth-surface :is(.directorist-authentication__btn--signup,.directorist-authentication__btn--signin) { border:0; background:transparent; color:#ff8c42; padding:0 0 0 3px; font-weight:500; box-shadow:none; }
.txa-auth-surface :is(.atbd_social_login,.theme-social-login,.atbdp-social-login,.nsl-container) { width:100%; margin:19px 0 0; padding:0; }
.txa-auth-surface :is(.atbd_social_login,.theme-social-login,.atbdp-social-login,.nsl-container) a { max-width:100%; }
.txa-auth-surface :is(.nsl-button,.atbdp-social-login a,.atbd_social_login > a,.theme-social-login > a) { width:100% !important; min-height:48px; margin:0 0 9px; padding:10px 14px; border:1px solid #454545 !important; border-radius:6px !important; background:#101010 !important; color:#eee !important; box-shadow:none !important; }
.txa-auth-surface .nsl-container-buttons { width:100%; }
.txa-auth-surface .directorist-alert { font-size:12px; line-height:1.7; border-radius:6px; padding:12px; }
.txa-auth-surface :is(.directorist-alert-danger,.alert-danger) { background:#2c1715; color:#ffd0c8; border-color:#71372e; }
.txa-auth-surface :is(.directorist-alert-success,.alert-success) { background:#11271d; color:#b9e8ca; border-color:#315943; }
.directorist-card:has(.txa-auth-surface), .directorist-card__body:has(> .txa-auth-surface) { padding:0; border:0; background:transparent; box-shadow:none; }
.txa-auth-surface :is(.status,.directorist-form-feedback,.directorist-authentication__form__recover-pass-modal) { color:#d3d3d3; font-size:12px; }
.txa-auth-surface :is(button,a,input,textarea,select):focus-visible { outline:2px solid #ff8c42; outline-offset:3px; }
/* Bootstrap popup shell: only this login popup is changed. */
.theme-authentication-modal #theme-login-modal.show { background:linear-gradient(#0003,#0006),url('../images/triplex-login-background.jpg') center center / cover no-repeat; }
.theme-authentication-modal #theme-login-modal .modal-dialog { width:calc(100% - 32px); max-width:440px !important; margin:24px auto; }
.theme-authentication-modal #theme-login-modal .modal-dialog-centered { min-height:calc(100% - 48px); }
.theme-authentication-modal #theme-login-modal .modal-content,
.theme-authentication-modal #theme-login-modal .modal-body { width:100%; padding:0 !important; border:0 !important; border-radius:20px; background:transparent !important; box-shadow:none; }
.theme-authentication-modal #theme-login-modal .txa-auth-surface { max-width:100%; }
.theme-authentication-modal #theme-login-modal .theme-close { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid #414141; border-radius:50%; background:#191919; color:#c7c7c7; z-index:2; font-size:20px; }
/* Native quick login used while publishing: preserve modal and action selectors. */
#directorist-quick-login .directorist-modals.txa-auth-quick { position:relative; width:calc(100% - 32px); max-width:440px; margin:24px auto; padding:36px; border:1px solid #383838; border-radius:20px; background:rgba(7,7,7,.96); }
#directorist-quick-login .txa-auth-quick .directorist-modal-header { position:static; height:0; padding:0; margin:0; border:0; background:transparent; }
#directorist-quick-login .txa-auth-quick .directorist-modal-title-area { display:none; }
#directorist-quick-login .txa-auth-quick .directorist-modal-actions-area { position:absolute; top:10px; right:10px; }
#directorist-quick-login .txa-auth-quick .directorist-modal-body { padding:0; border:0; background:transparent; }
#directorist-quick-login .txa-auth-quick .directorist-modal-actions-area a { color:#bbb; }
/* Native pages get the background; widgets retain the page they are embedded in. */
body.txa-auth-page { background:#070707 url('../images/triplex-login-background.jpg') center top / cover fixed no-repeat; }
body.txa-auth-page #primary.content-area { background:transparent; padding:60px 24px; }
body.txa-auth-page .theme-banner-breadcrumb { display:none; }
body.txa-auth-page #primary > .theme-container { max-width:1400px; }
/* Registration shares the same native component, but has different selectors. */
.txa-auth-surface .directorist-registration-wrapper .directory_register_form_wrap,
.txa-auth-surface .directorist-registration-wrapper .directorist-authentication__form { margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup { width:100%; max-width:100%; padding:0; margin:0; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup .directorist-form-group { padding:0; margin:0 0 17px; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup label { color:#eee; font-size:13px; line-height:1.6; margin-bottom:6px; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup input.directorist-form-element,
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup textarea.directorist-form-element { width:100%; max-width:100%; padding:11px 13px; border:1px solid #373737; border-radius:6px; background:#141414; color:#f2f2f2; box-shadow:none; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup .directorist-checkbox { margin:0 0 15px; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup .directorist-checkbox label { margin:0; color:#ccc; font-size:12px; font-weight:400; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup .directorist-checkbox label a { color:#ff9a58 !important; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup .directorist-authentication__form__btn { width:100%; min-height:46px; margin:0; border:1px solid #ff620a; background:linear-gradient(100deg,#ff3d00,#ff7311); color:#fff; border-radius:6px; font-size:13px; }
.txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup .directorist-authentication__form__toggle-area { margin:18px 0 0; padding:0; color:#bbb; }
.txa-auth-surface .directorist-registration-wrapper .directorist-authentication__message:empty { display:none; }
.txa-auth-surface .directorist-registration-wrapper .directorist-authentication__message { margin:0; padding:0; }
.txa-auth-surface .directorist-registration-wrapper .directorist-register-error { background:#2c1715; color:#ffd0c8; border:1px solid #71372e; border-radius:6px; font-size:12px; line-height:1.7; }
/* The site header uses z-index 9999; the entire auth dialog must be above it. */
.theme-authentication-modal #theme-login-modal { z-index:10050; overflow-y:auto; }
body:has(#theme-login-modal.show) > .modal-backdrop { z-index:10040; }
.theme-authentication-modal #theme-login-modal .modal-content { max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); overflow:hidden; }
.theme-authentication-modal #theme-login-modal .modal-body { max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#555 #121212; }
@media(max-width:480px) {
    .txa-auth-surface { padding:30px 22px; border-radius:16px; }
    .txa-auth-surface .txa-auth-heading h2 { font-size:22px; }
    .txa-auth-surface input.directorist-form-element, .txa-auth-surface #loginform input { font-size:16px; }
    body.txa-auth-page #primary.content-area { padding:35px 16px; }
    .theme-authentication-modal #theme-login-modal .modal-dialog { margin:16px auto; }
    .theme-authentication-modal #theme-login-modal .modal-dialog-centered { min-height:calc(100% - 32px); }
    #directorist-quick-login .directorist-modals.txa-auth-quick { padding:30px 22px; }
    .txa-auth-surface .directorist-login-wrapper .directorist-form-group input.directorist-form-element { font-size:16px; }
    .txa-auth-surface :is(#directorist__authentication__login,#login,#loginform,#quick-login-from) :is(input[type=text],input[type=email],input[type=password]) { font-size:16px; }
    .txa-auth-surface .directorist-registration-wrapper form.directorist__authentication__signup input.directorist-form-element { font-size:16px; }
    .theme-authentication-modal #theme-login-modal .modal-content,
    .theme-authentication-modal #theme-login-modal .modal-body { max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); }
    .txa-auth-surface .g-recaptcha { transform:scale(.9); transform-origin:left top; margin-bottom:-8px; }
}
@media(max-width:360px) { .txa-auth-surface .g-recaptcha { transform:scale(.78); margin-bottom:-17px; } }
