/* vNext presentation for the shared legacy account wizard. */
.csh-vnext .fancybox-account .fancybox-content {
    width: min(92vw, 36rem);
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    color: var(--csh-text);
    background: var(--csh-surface);
    border: 1px solid rgba(var(--csh-primary-rgb), .12);
    border-radius: var(--csh-radius-lg);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .32);
}

.csh-vnext .fancybox-account .fancybox-close-small {
    top: .65rem;
    right: .65rem;
    width: 2.5rem;
    height: 2.5rem;
    padding: .45rem;
    color: var(--csh-text-muted);
    background: var(--csh-surface-muted);
    border-radius: 50%;
}

.csh-vnext .fancybox-account #modal-signin,
.csh-vnext .fancybox-account #modal-register,
.csh-vnext .fancybox-account #modal-reset {
    width: 100%;
    max-width: none;
    padding: 0;
    background: transparent;
}

.csh-vnext .fancybox-account #modal-signin > .col-md-12,
.csh-vnext .fancybox-account #modal-register > .col-md-12,
.csh-vnext .fancybox-account #modal-reset > .col-md-12 {
    width: 100%;
    max-width: none;
    padding: 0;
}

.csh-vnext .fancybox-account h1,
.csh-vnext .fancybox-account h2,
.csh-vnext .fancybox-account h3 {
    margin: 0 2rem .65rem;
    color: var(--csh-text);
    font-family: inherit;
    font-size: clamp(1.55rem, 5vw, 2.15rem);
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}

.csh-vnext .fancybox-account h3 { font-size: 1.2rem; }
.csh-vnext .fancybox-account .byline {
    margin: 0 0 1.4rem;
    color: var(--csh-text-muted);
    font-size: 1rem;
    text-align: center;
}

.csh-vnext .fancybox-account hr {
    margin: 1.25rem 0 1.5rem;
    border: 0;
    border-top: 2px solid var(--csh-border);
    opacity: 1;
}

.csh-vnext .fancybox-account .form-group { margin-bottom: 1rem; }
.csh-vnext .fancybox-account label { display: block; text-align: left; }
.csh-vnext .fancybox-account input.form-control,
.csh-vnext .fancybox-account select {
    width: 100%;
    min-height: 3.25rem;
    padding: .75rem .9rem;
    color: var(--csh-text);
    background: var(--csh-surface);
    border: 1px solid #cbd2d9;
    border-radius: .7rem;
    font-size: 1rem;
}

.csh-vnext .fancybox-account input.form-control::placeholder { color: #78838e; opacity: 1; }
.csh-vnext .fancybox-account input.form-control:focus,
.csh-vnext .fancybox-account select:focus {
    border-color: var(--csh-primary);
    box-shadow: 0 0 0 .22rem rgba(var(--csh-primary-rgb), .16);
    outline: 0;
}

.csh-vnext .fancybox-account .step-container-top,
.csh-vnext .fancybox-account .step-container-bottom { width: 100%; }
.csh-vnext .fancybox-account .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.15rem;
    margin: .7rem 0 0;
    padding: .7rem 1rem;
    border-radius: .7rem;
    font-size: 1rem;
    line-height: 1.25;
    text-decoration: none;
}

.csh-vnext .fancybox-account .btn-red,
.csh-vnext .fancybox-account #button-email-login,
.csh-vnext .fancybox-account #button-step-1,
.csh-vnext .fancybox-account #button-step-2,
.csh-vnext .fancybox-account #button-reset-password {
    color: #fff;
    background: var(--csh-primary);
    border-color: var(--csh-primary);
}

.csh-vnext .fancybox-account .btn-blue {
    color: var(--csh-primary);
    background: rgba(var(--csh-primary-rgb), .08);
    border-color: rgba(var(--csh-primary-rgb), .28);
}

.csh-vnext .fancybox-account .reset-link {
    display: block;
    margin: .8rem 0 .25rem;
    text-align: center;
}

.csh-vnext .fancybox-account .checkbox label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .6rem;
    align-items: start;
    color: var(--csh-text-muted);
    font-weight: 500;
}

.csh-vnext .fancybox-account .checkbox input { margin-top: .3rem; }
.csh-vnext .fancybox-account #register-merge { display: none !important; }
.csh-vnext .fancybox-account #captcha_widget_mainreg { min-height: 78px; overflow: hidden; }

@media (max-width: 420px) {
    .csh-vnext .fancybox-account .fancybox-content { width: calc(100vw - 1rem); padding: 1.35rem 1rem; }
    .csh-vnext .fancybox-account h1,
    .csh-vnext .fancybox-account h2 { margin-right: 1.5rem; margin-left: 1.5rem; font-size: 1.45rem; }
    .csh-vnext .fancybox-account #captcha_widget_mainreg { transform: scale(.86); transform-origin: left top; margin-bottom: -10px; }
}

/*
 * Some gated-property calls open Fancybox programmatically without its optional
 * fancybox-account baseClass. Target the account panels themselves so those
 * entry points receive the same presentation as navigation-triggered dialogs.
 */
.csh-vnext #modal-signin,
.csh-vnext #modal-register,
.csh-vnext #modal-reset {
    width: min(88vw, 34rem);
    max-width: 100%;
    padding: 0;
    color: var(--csh-text);
    background: transparent;
}

.csh-vnext #modal-signin > .col-md-12,
.csh-vnext #modal-register > .col-md-12,
.csh-vnext #modal-reset > .col-md-12 {
    width: 100%;
    max-width: none;
    padding: 0;
}

.csh-vnext #modal-signin h2,
.csh-vnext #modal-register h1,
.csh-vnext #modal-register h2,
.csh-vnext #modal-reset h2 {
    margin: 0 1.75rem .7rem;
    color: var(--csh-text);
    font-family: inherit;
    font-size: clamp(1.5rem, 5vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}

.csh-vnext #modal-signin .byline,
.csh-vnext #modal-register .byline,
.csh-vnext #modal-reset .byline {
    margin: 0 0 1.35rem;
    color: var(--csh-text-muted);
    text-align: center;
}

.csh-vnext #modal-signin .step-container-top,
.csh-vnext #modal-signin .step-container-bottom,
.csh-vnext #modal-register .step-container-top,
.csh-vnext #modal-register .step-container-bottom,
.csh-vnext #modal-reset .step-container-top,
.csh-vnext #modal-reset .step-container-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: .75rem;
}

.csh-vnext #modal-signin .form-group,
.csh-vnext #modal-register .form-group,
.csh-vnext #modal-reset .form-group {
    width: 100%;
    margin: 0;
}

.csh-vnext #modal-signin input.form-control,
.csh-vnext #modal-register input.form-control,
.csh-vnext #modal-reset input.form-control {
    width: 100%;
    min-height: 3.2rem;
    padding: .75rem .9rem;
    border: 1px solid #cbd2d9;
    border-radius: .7rem;
    font-size: 1rem;
}

.csh-vnext #modal-signin .btn,
.csh-vnext #modal-register .btn,
.csh-vnext #modal-reset .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.15rem;
    margin: 0;
    padding: .75rem 1rem;
    color: #fff;
    background-color: var(--csh-primary);
    border: 1px solid var(--csh-primary);
    border-radius: .7rem;
    box-shadow: 0 7px 16px rgba(var(--csh-primary-rgb), .18);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
}

.csh-vnext #modal-signin .btn:hover,
.csh-vnext #modal-signin .btn:focus,
.csh-vnext #modal-register .btn:hover,
.csh-vnext #modal-register .btn:focus,
.csh-vnext #modal-reset .btn:hover,
.csh-vnext #modal-reset .btn:focus {
    color: #fff;
    background-color: color-mix(in srgb, var(--csh-primary) 84%, #000);
    border-color: color-mix(in srgb, var(--csh-primary) 84%, #000);
    box-shadow: 0 10px 22px rgba(var(--csh-primary-rgb), .28);
}

/* Secondary navigation remains unmistakably clickable while visually quieter. */
.csh-vnext #modal-signin .register-link,
.csh-vnext #modal-register .signin-link,
.csh-vnext #modal-register #button-back {
    background-color: var(--csh-secondary);
    border-color: var(--csh-secondary);
    box-shadow: 0 7px 16px rgba(15, 23, 42, .14);
}

.csh-vnext #modal-signin .reset-link {
    align-self: center;
    margin: 0;
    padding: .15rem;
    text-align: center;
}

.csh-vnext #modal-register .checkbox { width: 100%; }
.csh-vnext #modal-register .checkbox label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .6rem;
    align-items: start;
    margin: 0;
}

/* Fancybox 3 promotes the inline source itself to .fancybox-content. */
.csh-vnext .fancybox-content#modal-signin,
.csh-vnext .fancybox-content#modal-register,
.csh-vnext .fancybox-content#modal-reset {
    display: block;
    width: min(92vw, 35rem) !important;
    max-width: 35rem !important;
    max-height: calc(100vh - 2rem);
    margin: auto;
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--csh-text);
    background: var(--csh-surface) !important;
    border: 1px solid rgba(var(--csh-primary-rgb), .14);
    border-radius: var(--csh-radius-lg);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .36);
}

.csh-vnext .fancybox-content#modal-signin form,
.csh-vnext .fancybox-content#modal-register form,
.csh-vnext .fancybox-content#modal-reset form,
.csh-vnext .fancybox-content#modal-signin [id^="login-step-"],
.csh-vnext .fancybox-content#modal-register [id^="register-step-"] {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 420px) {
    .csh-vnext .fancybox-content#modal-signin,
    .csh-vnext .fancybox-content#modal-register,
    .csh-vnext .fancybox-content#modal-reset {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        padding: 1.35rem 1rem !important;
    }
}

/* Details-page lead forms share the account-dialog visual system. */
.fancybox-slide--inline > :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) {
    display: inline-block !important;
    width: min(92vw, 40rem) !important;
    max-width: 40rem !important;
    min-width: 0 !important;
    max-height: calc(100vh - 2rem) !important;
    margin: auto !important;
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    color: var(--csh-text, #20252b) !important;
    background: var(--csh-surface, #fff) !important;
    border: 1px solid var(--csh-border, #dce1e6) !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .36) !important;
}

.fancybox-slide--inline > :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) > :is([class*="col-"], .row),
.fancybox-slide--inline > #modal-sell-home .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) .form-heading {
    margin: 0 1.75rem 1.35rem;
    color: var(--csh-text, #20252b);
    font-family: inherit;
    font-size: clamp(1.45rem, 4vw, 1.9rem);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) form {
    display: flex;
    flex-direction: column;
    width: 100% !important;
    max-width: 100% !important;
    gap: 1rem;
    margin: 0 !important;
    padding: 0 !important;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) .form-group {
    width: 100%;
    margin: 0 !important;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) :is(input.form-control, textarea.form-control, select.form-control) {
    width: 100% !important;
    min-height: 3.2rem;
    padding: .75rem .9rem;
    color: var(--csh-text, #20252b);
    background-color: var(--csh-surface, #fff);
    border: 1px solid #cbd2d9;
    border-radius: .7rem;
    box-shadow: none;
    font-size: 1rem;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) textarea.form-control {
    min-height: 7rem;
    resize: vertical;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) :is(input.form-control, textarea.form-control, select.form-control):focus {
    border-color: var(--csh-primary, #0878c9);
    box-shadow: 0 0 0 .22rem rgba(var(--csh-primary-rgb, 8, 120, 201), .16);
    outline: 0;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) :is(input.form-control, textarea.form-control)::placeholder {
    color: #78838e;
    opacity: 1;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) :is(#showing-submit, #request-submit, #contact-submit, #contact-lender-submit, #sell-home-submit) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 3.15rem;
    margin: 0 !important;
    padding: .75rem 1rem;
    color: #fff !important;
    background-color: var(--csh-primary, #0878c9) !important;
    border: 1px solid var(--csh-primary, #0878c9) !important;
    border-radius: .7rem;
    box-shadow: 0 7px 16px rgba(var(--csh-primary-rgb, 8, 120, 201), .18);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.25;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) :is(#showing-submit, #request-submit, #contact-submit, #contact-lender-submit, #sell-home-submit):is(:hover, :focus) {
    color: #fff !important;
    background-color: color-mix(in srgb, var(--csh-primary, #0878c9) 84%, #000) !important;
    border-color: color-mix(in srgb, var(--csh-primary, #0878c9) 84%, #000) !important;
    box-shadow: 0 10px 22px rgba(var(--csh-primary-rgb, 8, 120, 201), .28);
}

.fancybox-slide--inline #modal-showing .form-group:first-child {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.fancybox-slide--inline #modal-showing .form-group:first-child > label { grid-column: 1 / -1; }
.fancybox-slide--inline #modal-showing .form-group:first-child > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fancybox-slide--inline #modal-showing .bootstrap-select,
.fancybox-slide--inline #modal-showing .bootstrap-select > .dropdown-toggle {
    width: 100% !important;
    min-height: 3.2rem;
    border-radius: .7rem;
}

.fancybox-slide--inline #modal-showing select.csh-vnext-native-select {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    appearance: auto;
    cursor: pointer;
}

.fancybox-slide--inline :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) .form-required-text {
    margin-top: 1rem;
    color: var(--csh-text-muted, #66717d);
    font-size: .82rem;
    text-align: right;
}

@media (max-width: 560px) {
    .fancybox-slide--inline > :is(#modal-showing, #modal-request, #modal-contact, #modal-contact-lender, #modal-sell-home) {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        padding: 1.35rem 1rem !important;
    }

    .fancybox-slide--inline #modal-showing .form-group:first-child { grid-template-columns: 1fr; }
}

/* Actual DOM emitted by this project's Fancybox 3 inline-source adapter. */
.fancybox-slide--inline > #modal-signin,
.fancybox-slide--inline > #modal-register,
.fancybox-slide--inline > #modal-reset {
    display: inline-block !important;
    width: min(92vw, 35rem) !important;
    max-width: 35rem !important;
    min-width: 0 !important;
    max-height: calc(100vh - 2rem) !important;
    margin: auto !important;
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    color: var(--csh-text, #20252b) !important;
    background: var(--csh-surface, #fff) !important;
    border: 1px solid var(--csh-border, #dce1e6) !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .36) !important;
}

.fancybox-slide--inline > #modal-signin > .col-md-12,
.fancybox-slide--inline > #modal-register > .col-md-12,
.fancybox-slide--inline > #modal-reset > .col-md-12 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 420px) {
    .fancybox-slide--inline > #modal-signin,
    .fancybox-slide--inline > #modal-register,
    .fancybox-slide--inline > #modal-reset {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        padding: 1.35rem 1rem !important;
    }
}

/*
 * Fancybox may append its container beside <body>, not inside it. This file is
 * loaded only for vNext, so these unscoped selectors safely cover that layout.
 */
.fancybox-slide--html > .fancybox-content#modal-signin,
.fancybox-slide--html > .fancybox-content#modal-register,
.fancybox-slide--html > .fancybox-content#modal-reset,
.fancybox-slide--html > .fancybox-content:has(#modal-signin),
.fancybox-slide--html > .fancybox-content:has(#modal-register),
.fancybox-slide--html > .fancybox-content:has(#modal-reset) {
    width: min(92vw, 35rem) !important;
    max-width: 35rem !important;
    min-width: 0 !important;
    max-height: calc(100vh - 2rem) !important;
    margin: auto !important;
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    color: var(--csh-text, #20252b) !important;
    background-color: var(--csh-surface, #fff) !important;
    border: 1px solid var(--csh-border, #dce1e6) !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .36) !important;
}

.fancybox-slide--html #modal-signin,
.fancybox-slide--html #modal-register,
.fancybox-slide--html #modal-reset {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--csh-text, #20252b);
    background-color: var(--csh-surface, #fff) !important;
}

.fancybox-slide--html #modal-signin > .col-md-12,
.fancybox-slide--html #modal-register > .col-md-12,
.fancybox-slide--html #modal-reset > .col-md-12,
.fancybox-slide--html #modal-signin form,
.fancybox-slide--html #modal-register form,
.fancybox-slide--html #modal-reset form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fancybox-slide--html #modal-signin .step-container-top,
.fancybox-slide--html #modal-signin .step-container-bottom,
.fancybox-slide--html #modal-register .step-container-top,
.fancybox-slide--html #modal-register .step-container-bottom,
.fancybox-slide--html #modal-reset .step-container-top,
.fancybox-slide--html #modal-reset .step-container-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: .75rem !important;
}

.fancybox-slide--html #modal-signin .btn,
.fancybox-slide--html #modal-register .btn,
.fancybox-slide--html #modal-reset .btn {
    width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    background-color: var(--csh-primary, #0878c9) !important;
    border-color: var(--csh-primary, #0878c9) !important;
}

.fancybox-slide--html #modal-signin .register-link,
.fancybox-slide--html #modal-register .signin-link,
.fancybox-slide--html #modal-register #button-back {
    background-color: var(--csh-secondary, #20252b) !important;
    border-color: var(--csh-secondary, #20252b) !important;
}

@media (max-width: 420px) {
    .fancybox-slide--html > .fancybox-content#modal-signin,
    .fancybox-slide--html > .fancybox-content#modal-register,
    .fancybox-slide--html > .fancybox-content#modal-reset,
    .fancybox-slide--html > .fancybox-content:has(#modal-signin),
    .fancybox-slide--html > .fancybox-content:has(#modal-register),
    .fancybox-slide--html > .fancybox-content:has(#modal-reset) {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem) !important;
        padding: 1.35rem 1rem !important;
    }
}
