/**
 * Surveyor API Bridge — password reset page styles.
 * All rules are scoped inside .surveyor-pwd-reset-page to avoid conflicts
 * with whatever theme is active on the new site.
 */

/* ---- Hide theme header on password-reset pages ---- */
body.sab-standalone-page [data-elementor-type="header"],
body.sab-standalone-page .site-header,
body.sab-standalone-page #masthead {
    display: none !important;
}

/* ---- Standalone page base ---- */
body.sab-standalone-page {
    margin: 0;
    padding: 0;
    background: #F3F4EF;
    font-size: 1em;
    line-height: 1.5em;
    font-weight: 300;
    font-family: "DM Sans", sans-serif;
    color: #1f1f1f;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

body.sab-standalone-page .surveyor-pwd-reset-page {
    min-height: 100vh;
}

/* ---- Form page base font ---- */
.surveyor-pwd-reset-page {
    font-family: "DM Sans", sans-serif;
}

/* ---- Element reset (matches original theme) ---- */
.surveyor-pwd-reset-page div,
.surveyor-pwd-reset-page span,
.surveyor-pwd-reset-page h1,
.surveyor-pwd-reset-page h2,
.surveyor-pwd-reset-page h3,
.surveyor-pwd-reset-page h4,
.surveyor-pwd-reset-page h5,
.surveyor-pwd-reset-page h6,
.surveyor-pwd-reset-page p,
.surveyor-pwd-reset-page a,
.surveyor-pwd-reset-page form,
.surveyor-pwd-reset-page label,
.surveyor-pwd-reset-page input,
.surveyor-pwd-reset-page button,
.surveyor-pwd-reset-page section {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    font-family: inherit;
    font-weight: inherit;
    font-size: 100%;
    line-height: inherit;
    font-variant: normal;
}

/* ---- Reset / box-model ---- */
.surveyor-pwd-reset-page *,
.surveyor-pwd-reset-page *::before,
.surveyor-pwd-reset-page *::after {
    box-sizing: border-box;
}

/* ---- Layout helpers (Bootstrap 3 subset) ---- */
.surveyor-pwd-reset-page .container-fluid {
    padding-right: 15px;
    padding-left:  15px;
    margin-right: auto;
    margin-left:  auto;
    width: 100%;
}

.surveyor-pwd-reset-page .row {
    margin-right: -15px;
    margin-left:  -15px;
}
.surveyor-pwd-reset-page .row::after {
    content: "";
    display: table;
    clear:   both;
}

.surveyor-pwd-reset-page .col-md-12 {
    position:   relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left:  15px;
    width: 100%;
    float: left;
}

.surveyor-pwd-reset-page .text-center { text-align: center; }

/* ---- Section ---- */
.surveyor-pwd-reset-page .grey-section {
    background-color: #ffffff;
}
.surveyor-pwd-reset-page .trillium-form-section {
    padding: 50px 0 200px 0;
}
.surveyor-pwd-reset-page .trillium-form-section p {
    margin-bottom: 30px;
}

/* ---- Blue box ---- */
.surveyor-pwd-reset-page .forget-div {
    max-width:        460px;
    float:            none;
    margin:           0 auto 45px;
    padding:          65px;
    background-color: #193982;
    text-align:       center;
}

/* ---- Form title / messages (white on blue) ---- */
.surveyor-pwd-reset-page .support-msg {
    color:         #fff;
    text-align:    left;
    font-size:     1em;
    margin-top:    0;
    margin-bottom: 10px;
}
.surveyor-pwd-reset-page .username-recovery-res {
    min-height:    0;
    margin-bottom: 6px;
    font-size:     14px;
}
.surveyor-pwd-reset-page .username-recovery-res.error   { color: #ff6347; }
.surveyor-pwd-reset-page .username-recovery-res.success { color: #fff; }

/* ---- Form controls ---- */
.surveyor-pwd-reset-page .form-group {
    margin-bottom: 14px;
}
.surveyor-pwd-reset-page .form-control {
    display:          block;
    width:            100%;
    height:           44px;
    padding:          6px 12px !important;
    font-size:        16px;
    line-height:      1.428571429;
    color:            #555;
    background-color: #fff;
    border:           1px solid #DADBD7;
    border-radius:    4px;
    outline:          none;
    transition:       border-color 0.15s;
}
.surveyor-pwd-reset-page .form-control:focus {
    border-color: #66afe9;
    box-shadow: 0 0 0 3px rgba(102,175,233,.25);
}

/* ---- Button ---- */
.surveyor-pwd-reset-page .button-main {
    display:     inline-block;
    cursor:      pointer;
    border:      none;
    color:       #fff;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    text-decoration: none;
    transition:  background-color 0.2s;
}
.surveyor-pwd-reset-page .button-medium {
    padding:   13px 26px;
    font-size: 16px;
    line-height: 1.4em;
}
.surveyor-pwd-reset-page .button-orange {
    background-color: #066CFF !important;
    color: #fff;
    border-radius: 40px;
}
.surveyor-pwd-reset-page .button-orange:hover {
    background-color: #0558d4 !important;
    color: #fff;
}
.surveyor-pwd-reset-page .button-orange:disabled,
.surveyor-pwd-reset-page .button-orange[disabled] {
    opacity: 0.7;
    cursor: not-allowed;
}
.surveyor-pwd-reset-page .btn-container {
    margin-top: 15px;
}
.surveyor-pwd-reset-page .btn-container button {
    width:         100%;
    border-radius: 40px;
}

/* ---- Validating / loading message ---- */
.surveyor-pwd-reset-page .validation-msg {
    padding:    120px 0;
    text-align: center;
    color:      #fff;
    font-size:  1em;
    transition: all 0.4s ease;
}

/* ---- "Forgot username?" link ---- */
.surveyor-pwd-reset-page .red-underlined-lnk {
    font-size:       1em;
    font-weight:     400;
    padding-bottom:  10px;
    padding-top:     15px;
    display:         inline-block;
    border-bottom:   1px solid #FF6347;
    text-decoration: none;
}
.surveyor-pwd-reset-page .white-underlined-link {
    color: #fff;
}
.surveyor-pwd-reset-page .white-underlined-link:hover,
.surveyor-pwd-reset-page .red-underlined-lnk:hover {
    color: #FF6347;
}

/* ---- Footer (support contact, outside the box) ---- */
.surveyor-pwd-reset-page .forget-footer {
    text-align: center;
    font-size:  1em;
}
.surveyor-pwd-reset-page .forget-footer p {
    margin-top:    0;
    margin-bottom: 10px;
    color:         #1f1f1f;
}
.surveyor-pwd-reset-page .forget-footer a {
    color: #1f1f1f;
    text-decoration: underline;
}

/* ---- After-submit success section ---- */
.surveyor-pwd-reset-page .after-submit.grey-section {
    padding: 50px 0 200px 0;
}
.surveyor-pwd-reset-page .after-submit-data {
    max-width:  350px;
    float:      none;
    margin:     0 auto;
    padding:    40px 0 5px 0;
    text-align: center;
}
.surveyor-pwd-reset-page .after-submit-data p {
    font-size: 16px;
    color:     #1f1f1f;
}
.surveyor-pwd-reset-page .after-submit-data a {
    color: #066CFF;
    text-decoration: underline;
}

/* ---- Confirm password match indicator ---- */
.surveyor-pwd-reset-page .sab-match-msg {
    font-size:   12px;
    margin-top:  4px;
    margin-bottom: 0;
    min-height:  0;
    text-align:  left;
}
.surveyor-pwd-reset-page .sab-match-msg.error { color: #ff6347; }

/* ---- Password strength meter ---- */
.surveyor-pwd-reset-page .strength_wrapper {
    position:      relative;
    margin-bottom: 14px;
}
.surveyor-pwd-reset-page .strength_wrapper input[type="password"],
.surveyor-pwd-reset-page .strength_wrapper input[type="text"] {
    display:          block;
    width:            100%;
    height:           44px;
    padding:          6px 12px !important;
    font-size:        16px;
    color:            #555;
    background-color: #fff;
    border:           1px solid #DADBD7;
    border-radius:    4px;
    outline:          none;
}
.surveyor-pwd-reset-page .strength_wrapper .button_strength {
    display:    block;
    margin-top: 4px;
    font-size:  12px;
    color:      #ccc;
    text-decoration: none;
}
.surveyor-pwd-reset-page .strength_meter {
    height:        6px;
    background:    rgba(255,255,255,0.2);
    border-radius: 3px;
    margin-top:    6px;
    overflow:      hidden;
}
.surveyor-pwd-reset-page .strength_meter > div {
    height:        100%;
    border-radius: 3px;
    text-indent:   -9999px;
    transition:    width 0.3s, background-color 0.3s;
}
.surveyor-pwd-reset-page .strength_meter .veryweak  { width: 20%; background: #e74c3c; }
.surveyor-pwd-reset-page .strength_meter .weak      { width: 40%; background: #e67e22; }
.surveyor-pwd-reset-page .strength_meter .medium    { width: 60%; background: #f1c40f; }
.surveyor-pwd-reset-page .strength_meter .strong    { width: 80%; background: #2ecc71; }
.surveyor-pwd-reset-page .strength_meter .verystrong{ width:100%; background: #27ae60; }
.surveyor-pwd-reset-page .pswd_info {
    background:    rgba(255,255,255,0.1);
    border:        1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    padding:       10px 14px;
    margin-top:    6px;
    text-align:    left;
    font-size:     12px;
    color:         #fff;
}
.surveyor-pwd-reset-page .pswd_info h4 { margin: 0 0 6px; font-size: 12px; color: #fff; }
.surveyor-pwd-reset-page .pswd_info ul { margin: 0; padding-left: 16px; }
.surveyor-pwd-reset-page .pswd_info li { margin-bottom: 2px; color: #fff; }
.surveyor-pwd-reset-page .pswd_info li.valid   { color: #27ae60; }
.surveyor-pwd-reset-page .pswd_info li.invalid { color: #ff6347; }

/* ---- Footer: hide the top nav/header strip inside the elementor footer ---- */
body.sab-standalone-page .elementor-element-0255244 {
    display: none !important;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .surveyor-pwd-reset-page .forget-div {
        padding: 30px;
    }
}
