/* Serhat Hosting — auth pages visual layer
   Scoped to login, password reset and registration. Does not restyle unrelated WHMCS pages. */

:root {
    --sh-auth-navy: #0d164f;
    --sh-auth-blue: #17447f;
    --sh-auth-accent: #1768e8;
    --sh-auth-ink: #172238;
    --sh-auth-muted: #72819b;
    --sh-auth-line: #dce5f1;
    --sh-auth-background: #f3f5fb;
}

#main-body:has(.sh-auth-page) {
    min-height: 500px;
    padding-top: 24px;
    padding-bottom: 40px;
    background: var(--sh-auth-background);
}

nav.master-breadcrumb:has(+ #main-body .sh-auth-page) {
    display: none !important;
}

#main-body:has(.sh-auth-page) > .container > .row > .primary-content {
    min-width: 0;
    flex: 0 0 100%;
    max-width: 100%;
}

.sh-auth-page,
.sh-auth-page * {
    box-sizing: border-box;
}

.sh-auth-page {
    color: var(--sh-auth-ink);
    font-family: inherit;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.sh-auth-page a {
    color: var(--sh-auth-accent);
    text-decoration: none;
}

.sh-auth-page a:hover,
.sh-auth-page a:focus {
    color: #0c50c7;
    text-decoration: none;
}

.sh-auth-login-page,
.sh-auth-reset-page {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 0 12px;
    margin: 0 auto;
}

.sh-auth-form {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
}

.sh-auth-card {
    width: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0e7f2;
    border-radius: 17px;
    box-shadow: 0 10px 30px rgba(15, 35, 75, .09), 0 2px 5px rgba(15, 35, 75, .035);
}

.sh-auth-card-header {
    isolation: isolate;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 155px;
    padding: 28px 24px 29px;
    overflow: hidden;
    background: linear-gradient(112deg, #0d154f 0%, #142d6b 57%, #10467e 100%);
    color: #fff;
    text-align: center;
}

.sh-auth-card-header::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -116px;
    right: -48px;
    width: 238px;
    height: 238px;
    border-radius: 50%;
    background: rgba(104, 164, 228, .13);
    pointer-events: none;
}

.sh-auth-card-header > * {
    position: relative;
    z-index: 1;
}

.sh-auth-icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 0 12px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 23px;
    line-height: 1;
}

.sh-auth-card-header h1 {
    margin: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 750;
    line-height: 1.25;
}

.sh-auth-card-header p {
    margin: 8px 0 0;
    color: rgba(237, 243, 255, .78);
    font-size: 13px;
    line-height: 1.5;
}

.sh-auth-card-body {
    padding: 29px 31px 25px;
    background: #fff;
}

.sh-auth-field {
    margin: 0 0 20px;
}

.sh-auth-field > label {
    display: block;
    margin: 0 0 8px;
    color: #172238;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.sh-auth-page .sh-auth-field > .form-control,
.sh-auth-page .sh-auth-field .sh-password-input-wrap > .form-control {
    display: block;
    width: 100%;
    height: 45px;
    min-height: 45px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #d8e2f0;
    border-radius: 10px;
    background: #fff;
    color: #172238;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: none;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.sh-auth-page .sh-auth-field > .form-control:focus,
.sh-auth-page .sh-auth-field .sh-password-input-wrap > .form-control:focus {
    border-color: #7ba7ff;
    outline: 0;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(39, 112, 255, .12);
}

.sh-auth-page .sh-auth-field > .form-control::placeholder,
.sh-auth-page .sh-auth-field .form-control::placeholder {
    color: #8092ad;
    opacity: 1;
}

.sh-password-input-wrap {
    position: relative;
    width: 100%;
}

.sh-password-input-wrap > .form-control {
    padding-right: 54px !important;
}

.sh-auth-page .sh-auth-password-toggle {
    position: absolute;
    top: 3px;
    right: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 39px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #73839b;
    box-shadow: none;
    cursor: pointer;
}

.sh-auth-page .sh-auth-password-toggle:hover,
.sh-auth-page .sh-auth-password-toggle:focus {
    background: #eff4ff;
    color: #17447f;
    outline: 2px solid rgba(39, 112, 255, .14);
}

.sh-login-remember-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: -1px 0 22px;
}

.sh-auth-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #667790;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
}

.sh-auth-checkbox input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--sh-auth-navy);
}

.sh-auth-captcha {
    width: 100%;
    max-width: 100%;
    margin: 0 0 27px;
    overflow-x: auto;
    overflow-y: hidden;
}

.sh-auth-captcha .g-recaptcha,
.sh-auth-captcha iframe {
    max-width: 100%;
}

.sh-auth-page .sh-auth-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 11px 18px;
    border: 1px solid var(--sh-auth-navy) !important;
    border-radius: 10px;
    background: var(--sh-auth-navy) !important;
    color: #fff !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    box-shadow: none !important;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

.sh-auth-page .sh-auth-submit:hover,
.sh-auth-page .sh-auth-submit:focus {
    border-color: #18296f !important;
    background: #18296f !important;
    color: #fff !important;
}

.sh-auth-page .sh-auth-submit:active {
    transform: translateY(1px);
}

.sh-auth-secondary-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 45px;
    margin: 10px 0 0;
    padding: 10px 14px;
    border: 1px solid #d8e2f0;
    border-radius: 10px;
    background: #fff;
    color: #34445e !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
}

.sh-auth-secondary-action:hover,
.sh-auth-secondary-action:focus {
    border-color: #b8caee;
    background: #f8faff;
}

.sh-auth-card-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 55px;
    padding: 15px 18px;
    border-top: 1px solid #edf1f7;
    background: #fafbfd;
    color: #73819a;
    font-size: 13px;
    text-align: center;
}

.sh-auth-card-footer a {
    color: #1267df;
    font-weight: 650;
}

.sh-auth-page .alert {
    margin-bottom: 18px;
    border-radius: 9px;
    font-size: 13px;
}

/* Password reset */
.sh-reset-card {
    max-width: 460px;
}

.sh-auth-reset-page .sh-reset-card-header {
    min-height: 187px;
    padding-top: 29px;
    padding-bottom: 32px;
}

.sh-reset-card-body {
    padding: 29px 31px 25px;
}

.sh-reset-description {
    margin: 0 0 16px;
    color: #6d7e98;
    font-size: 13px;
    line-height: 1.65;
}

.sh-reset-form .sh-reset-submit-wrap {
    margin: 24px 0 0;
}

.sh-reset-form .sh-auth-captcha {
    margin-top: 27px;
    margin-bottom: 0;
}

/* Registration page */
.sh-register-page {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 0 12px;
}

.sh-register-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 16px;
}

.sh-register-page-heading h1 {
    margin: 0 0 5px;
    color: var(--sh-auth-navy);
    font-size: 28px;
    font-weight: 750;
    line-height: 1.25;
}

.sh-register-page-heading p {
    margin: 0;
    color: #71809a;
    font-size: 14px;
}

.sh-register-page-heading nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 9px;
    color: #71809a;
    font-size: 12px;
}

.sh-register-page-heading nav span {
    color: #c0cada;
}

.sh-register-page-heading nav strong {
    color: #243047;
    font-weight: 650;
}

.sh-register-existing {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0 0 25px;
    padding: 10px 14px;
    border: 1px solid #dfe6f1;
    border-radius: 15px;
    background: #fff;
    color: #394a64;
}

.sh-register-existing > strong {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    padding: 0 14px 0 2px;
    border-right: 1px solid #e7edf5;
    color: #15214c;
    font-size: 14px;
    font-weight: 750;
    white-space: nowrap;
}

.sh-register-existing > strong i {
    color: var(--sh-auth-accent);
}

.sh-register-existing > p {
    flex: 1 1 auto;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #e0e7f2;
    border-radius: 28px;
    color: #45546c;
    font-size: 13px;
    font-weight: 550;
    line-height: 1.35;
}

.sh-register-pill {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #dfe6f1;
    border-radius: 26px;
    color: #3d4c63 !important;
    background: #fff;
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
}

.sh-register-pill i {
    color: #b6bdc9;
}

.sh-register-pill:hover,
.sh-register-pill:focus {
    background: #f7f9ff;
    border-color: #c5d5f4;
}

.sh-register-card {
    max-width: 756px;
    margin: 0 auto;
}

.sh-register-card-header {
    min-height: 183px;
    padding: 29px 24px 37px;
}

.sh-register-card-header .sh-auth-icon {
    margin-bottom: 12px;
}

.sh-register-card-header h1 {
    font-size: 21px;
}

.sh-register-card-header p {
    margin-top: 7px;
    font-size: 13px;
}

.sh-register-card-body {
    padding: 28px 32px 31px;
    background: #fff;
}

.sh-register-card-body #registration,
.sh-register-card-body #registration form {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.sh-register-card-body #registration form {
    color: #1a263d;
}

.sh-register-card-body #containerNewUserSignup > .card,
.sh-register-card-body #containerNewUserSecurity > .card,
.sh-register-card-body > #registration form > .card {
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sh-register-card-body #containerNewUserSignup > .card > .card-body,
.sh-register-card-body #containerNewUserSecurity > .card > .card-body,
.sh-register-card-body > #registration form > .card > .card-body {
    padding: 0 0 24px !important;
    background: transparent !important;
}

.sh-register-card-body #containerNewUserSignup > .card:not(:last-child) > .card-body,
.sh-register-card-body #containerNewUserSecurity > .card > .card-body {
    border-bottom: 1px solid #e8edf4;
}

.sh-register-card-body .card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px !important;
    padding: 0 0 13px;
    border-bottom: 1px solid #e8edf4;
    color: #1a263d;
    font-size: 14px !important;
    font-weight: 700;
    line-height: 1.4;
}

.sh-register-section-icon {
    color: #1b6be7;
    font-size: 15px;
}

.sh-register-card-body .row {
    row-gap: 0;
}

.sh-register-card-body .form-group {
    min-width: 0;
    margin-bottom: 19px;
}

.sh-register-card-body .form-group.prepend-icon {
    position: relative;
    padding: 0;
}

.sh-register-card-body .form-group.prepend-icon > .sh-register-field-label {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #1c2941 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

.sh-register-card-body .form-group.prepend-icon > label.field-icon {
    display: none !important;
}

.sh-register-card-body .form-group .field,
.sh-register-card-body .form-group .form-control,
.sh-register-card-body .form-group select,
.sh-register-card-body .form-group textarea,
.sh-register-card-body .control input,
.sh-register-card-body .control select,
.sh-register-card-body .control textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 45px;
    height: auto;
    padding: 11px 13px;
    border: 1px solid #d8e2f0;
    border-radius: 9px;
    background-color: #fff;
    color: #1a263d;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
    box-shadow: none;
}

.sh-register-card-body .form-group .field:focus,
.sh-register-card-body .form-group .form-control:focus,
.sh-register-card-body .form-group select:focus,
.sh-register-card-body .form-group textarea:focus {
    border-color: #80aaff;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(39, 112, 255, .11);
}

.sh-register-card-body .form-group .field::placeholder,
.sh-register-card-body .form-group .form-control::placeholder {
    color: #8898b1;
    opacity: 1;
}

.sh-register-card-body #inputEmail {
    background-color: #fff;
}

.sh-register-card-body #inputPhone {
    min-height: 45px;
    height: 45px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.sh-register-card-body .iti {
    width: 100%;
    min-width: 0;
}

.sh-register-card-body .iti input#inputPhone {
    width: 100%;
    padding-left: 90px !important;
}

.sh-register-card-body .iti__flag-container {
    z-index: 3;
}

.sh-register-card-body #inputCurrency {
    max-width: 100% !important;
}

.sh-register-card-body .sh-additional-card .card-title i {
    display: none !important;
}

.sh-register-card-body .sh-additional-card .card-title small {
    color: #72819b;
    font-size: 11px;
    font-weight: 400;
}

/* These random-value helper controls were not part of the requested registration design. */
.sh-register-card-body .random-turkish-phone-wrap,
.sh-register-card-body .random-turkey-address-wrap {
    display: none !important;
}

.sh-register-card-body #containerNewUserSecurity .sh-password-field {
    position: relative;
}

.sh-register-card-body #containerNewUserSecurity .sh-password-toggle {
    top: 32px;
    right: 6px;
}

.sh-register-card-body #containerNewUserSecurity input.field {
    padding-right: 48px !important;
}

.sh-register-card-body .sh-password-row {
    gap: 18px;
}

.sh-register-card-body .accepttos {
    margin-right: 7px;
}

.sh-register-card-body input[type="submit"].sh-auth-submit,
.sh-register-card-body input[type="submit"].btn-primary {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    border-radius: 10px;
    background: var(--sh-auth-navy) !important;
    border-color: var(--sh-auth-navy) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
}

.sh-register-card-body #registration .btn,
.sh-register-card-body #registration button {
    max-width: 100%;
}

.sh-register-card-body .field-help-text {
    display: block;
    margin-top: 5px;
    color: #72819b;
    font-size: 12px;
}

@media (max-width: 767.98px) {
    #main-body:has(.sh-auth-page) {
        min-height: 0;
        padding: 12px 0 28px;
    }

    .sh-auth-login-page,
    .sh-auth-reset-page {
        padding: 0 8px;
    }

    .sh-auth-form,
    .sh-reset-card {
        max-width: 460px;
    }

    .sh-auth-card {
        border-radius: 16px;
    }

    .sh-auth-card-header {
        min-height: 155px;
        padding: 29px 20px 30px;
    }

    .sh-auth-card-body,
    .sh-reset-card-body {
        padding: 25px 19px 25px;
    }

    .sh-auth-field {
        margin-bottom: 19px;
    }

    .sh-auth-captcha {
        margin-bottom: 25px;
    }

    .sh-auth-reset-page .sh-reset-card-header {
        min-height: 187px;
        padding: 29px 18px 30px;
    }

    .sh-reset-description {
        margin-bottom: 15px;
        font-size: 13px;
    }

    .sh-register-page {
        padding: 0 10px 8px;
    }

    .sh-register-page-heading {
        display: block;
        margin-bottom: 14px;
    }

    .sh-register-page-heading h1 {
        font-size: 25px;
    }

    .sh-register-page-heading nav {
        padding-top: 8px;
        gap: 8px;
    }

    .sh-register-existing {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 18px;
        padding: 12px;
        border-radius: 13px;
    }

    .sh-register-existing > strong {
        width: 100%;
        padding: 0 0 8px;
        border-right: 0;
        border-bottom: 1px solid #e7edf5;
        white-space: normal;
    }

    .sh-register-existing > p {
        flex: 1 1 100%;
        padding: 10px 11px;
        border-radius: 10px;
        font-size: 12px;
    }

    .sh-register-pill {
        flex: 1 1 calc(50% - 8px);
        min-width: 0;
        min-height: 42px;
        padding: 8px 9px;
        font-size: 12px;
        white-space: normal;
    }

    .sh-register-card-header {
        min-height: 183px;
        padding: 27px 18px 32px;
    }

    .sh-register-card-body {
        padding: 23px 19px 25px;
    }

    .sh-register-card-body #containerNewUserSignup > .card,
    .sh-register-card-body #containerNewUserSecurity > .card,
    .sh-register-card-body > #registration form > .card {
        margin-bottom: 20px !important;
    }

    .sh-register-card-body #containerNewUserSignup > .card > .card-body,
    .sh-register-card-body #containerNewUserSecurity > .card > .card-body,
    .sh-register-card-body > #registration form > .card > .card-body {
        padding-bottom: 19px !important;
    }

    .sh-register-card-body .row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .sh-register-card-body .form-group {
        margin-bottom: 16px;
    }

    .sh-register-card-body .sh-password-row {
        display: block;
    }

    .sh-register-card-body .sh-password-col {
        width: 100%;
        padding: 0 !important;
    }

    .sh-register-card-body .sh-password-col + .sh-password-col {
        margin-top: 15px;
    }

    .sh-register-card-body .sh-password-rules {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 374px) {
    .sh-auth-card-header h1 {
        font-size: 20px;
    }

    .sh-auth-card-body,
    .sh-reset-card-body {
        padding-left: 15px;
        padding-right: 15px;
    }

    .sh-auth-captcha {
        transform: scale(.92);
        transform-origin: left top;
        width: 108.7%;
        margin-bottom: 14px;
    }

    .sh-register-card-body {
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* Registration page fix: full-width controls, no horizontal scroll, no existing-customer banner. */
.sh-register-page,
.sh-register-page * { box-sizing: border-box; }
.sh-register-page { max-width: 100%; min-width: 0; overflow-x: hidden; }
.sh-register-card,
.sh-register-card-body,
.sh-register-card-body #registration,
.sh-register-card-body #registration form,
.sh-register-card-body #containerNewUserSignup,
.sh-register-card-body #containerNewUserSecurity { width: 100%; max-width: 100%; min-width: 0; }
.sh-register-card-body #containerNewUserSecurity { overflow-x: hidden; }
.sh-register-card-body #containerNewUserSecurity #containerPassword { display: flex; flex-wrap: wrap; width: 100%; max-width: 100%; min-width: 0; margin-left: 0 !important; margin-right: 0 !important; }
.sh-register-card-body #containerNewUserSecurity #containerPassword > .col-sm-12 { flex: 0 0 100%; width: 100%; max-width: 100%; min-width: 0; padding-left: 0 !important; padding-right: 0 !important; }
.sh-register-card-body #containerNewUserSecurity .sh-password-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; width: 100%; max-width: 100%; min-width: 0; margin: 0 !important; }
.sh-register-card-body #containerNewUserSecurity .sh-password-col { display: block; width: auto !important; max-width: 100%; min-width: 0; margin: 0 !important; padding: 0 !important; }
.sh-register-card-body #containerNewUserSecurity .sh-password-field,
.sh-register-card-body #containerNewUserSecurity .sh-password-meter-wrap,
.sh-register-card-body #containerNewUserSecurity .sh-password-actions { width: 100%; max-width: 100%; min-width: 0; }
.sh-register-card-body #containerNewUserSecurity .sh-password-field input.field { display: block; width: 100% !important; max-width: 100%; min-width: 0; box-sizing: border-box; }
.sh-register-card-body #containerNewUserSecurity .sh-password-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
.sh-register-card-body #containerNewUserSecurity .sh-password-rules li { overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
  .sh-register-page { padding-left: 10px; padding-right: 10px; }
  .sh-register-card { width: 100%; max-width: 756px; margin-left: auto; margin-right: auto; }
  .sh-register-card-body { padding-left: 18px !important; padding-right: 18px !important; }
  .sh-register-card-body #containerNewUserSecurity .sh-password-row { grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0 !important; }
  .sh-register-card-body #containerNewUserSecurity .sh-password-col { width: 100% !important; max-width: 100%; min-width: 0; }
  .sh-register-card-body #containerNewUserSecurity .sh-password-col + .sh-password-col { margin-top: 0 !important; }
  .sh-register-card-body #containerNewUserSecurity .sh-password-actions { align-items: stretch; flex-wrap: wrap; }
  .sh-register-card-body #containerNewUserSecurity .sh-generate-password { width: 100%; white-space: normal; }
  .sh-register-card-body #containerNewUserSecurity .sh-password-meter-wrap .progress { width: 100%; max-width: 100%; }
}
@media (max-width: 420px) {
  .sh-register-card-body { padding-left: 14px !important; padding-right: 14px !important; }
  .sh-register-card-body #containerNewUserSecurity .sh-password-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 8px; }
}



/* Registration page: existing-customer strip matching the reference layout. */
.sh-register-page .sh-register-existing {
    display: flex !important;
    margin-top: 0;
    margin-bottom: 25px;
}
.sh-register-page .sh-register-existing > p {
    min-width: 180px;
}
@media (max-width: 767.98px) {
    .sh-register-page .sh-register-existing {
        align-items: stretch;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 18px;
        padding: 12px;
    }
    .sh-register-page .sh-register-existing > strong {
        width: 100%;
        padding: 0 0 8px;
        border-right: 0;
        border-bottom: 1px solid #e7edf5;
        white-space: normal;
    }
    .sh-register-page .sh-register-existing > p {
        flex: 1 1 100%;
        min-width: 0;
        padding: 10px 11px;
        border-radius: 10px;
        font-size: 12px;
    }
    .sh-register-page .sh-register-pill {
        flex: 1 1 calc(50% - 8px);
        min-width: 0;
        white-space: normal;
    }
}


/* Serhat Hosting: hide accidental horizontal scrollbars on login and password-reset cards.
   Keep the CAPTCHA itself visible; only the overflow strip is removed. */
.sh-auth-page .sh-auth-captcha {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
}
.sh-auth-page .sh-auth-captcha::-webkit-scrollbar,
.sh-auth-page .sh-auth-captcha *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}
.sh-auth-page,
.sh-auth-page * {
    scrollbar-width: none !important;
}
.sh-auth-page *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Registration: suppress the unwanted horizontal tracks between form sections.
   Scope is limited to the registration card so other WHMCS pages are unaffected. */
.sh-register-page,
.sh-register-page * {
    scrollbar-width: none !important;
}
.sh-register-page *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}
.sh-register-page .card,
.sh-register-page .card-body,
.sh-register-page #containerNewUserSignup,
.sh-register-page .sh-additional-card,
.sh-register-page .sh-additional-card .row {
    overflow-x: hidden !important;
}

/* =========================================================
   SERHAT HOSTING — FINAL AUTH MOBILE LAYOUT
   Login, registration and every password-reset step.
   Narrow-screen rules are intentionally scoped to auth pages.
   ========================================================= */
@media (max-width: 767.98px) {
    body:has(#main-body .sh-auth-page) {
        max-width: 100%;
        overflow-x: hidden;
    }

    #main-body:has(.sh-auth-page) {
        width: 100%;
        max-width: 100%;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px 0 28px !important;
        overflow-x: clip;
    }

    #main-body:has(.sh-auth-page) > .container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    #main-body:has(.sh-auth-page) > .container > .row {
        display: flex;
        width: 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    #main-body:has(.sh-auth-page) > .container > .row > .primary-content,
    #main-body:has(.sh-auth-page) > .container > .row > [class*="col-"] {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .sh-auth-page {
        display: flex;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 12px !important;
    }

    .sh-auth-login-page,
    .sh-auth-reset-page {
        align-items: stretch;
        justify-content: center;
    }

    .sh-auth-form,
    .sh-auth-card,
    .sh-reset-card {
        width: 100% !important;
        max-width: 480px !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .sh-auth-card {
        border-radius: 15px;
        overflow: hidden;
    }

    .sh-auth-card-header,
    .sh-auth-reset-page .sh-reset-card-header,
    .sh-register-card-header {
        min-height: 0 !important;
        padding: 24px 17px 25px !important;
    }

    .sh-auth-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        border-radius: 13px;
        font-size: 21px;
    }

    .sh-auth-card-header h1,
    .sh-register-card-header h1 {
        max-width: 100%;
        font-size: 21px !important;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .sh-auth-card-header p,
    .sh-register-card-header p {
        max-width: 100%;
        margin-top: 7px;
        font-size: 13px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .sh-auth-card-body,
    .sh-reset-card-body {
        width: 100%;
        min-width: 0;
        padding: 21px 16px 21px !important;
    }

    .sh-auth-field,
    .sh-reset-card-body .form-group {
        width: 100%;
        min-width: 0;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 17px;
    }

    .sh-auth-field > label,
    .sh-reset-card-body form label {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .sh-auth-page input.form-control,
    .sh-auth-page select.form-control,
    .sh-auth-page textarea.form-control,
    .sh-reset-card-body input.form-control,
    .sh-reset-card-body select.form-control,
    .sh-reset-card-body textarea.form-control {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
    }

    .sh-auth-page .sh-auth-field > .form-control,
    .sh-auth-page .sh-auth-field .sh-password-input-wrap > .form-control {
        min-height: 45px;
    }

    .sh-password-input-wrap,
    .sh-password-input-wrap > .form-control {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .sh-auth-page .sh-auth-password-toggle {
        width: 40px;
        height: 39px;
    }

    .sh-login-remember-row {
        flex-wrap: wrap;
        max-width: 100%;
        margin-bottom: 19px;
    }

    .sh-auth-checkbox {
        max-width: 100%;
        align-items: flex-start;
        line-height: 1.45;
    }

    .sh-auth-checkbox input {
        flex: 0 0 16px;
        margin-top: 1px;
    }

    .sh-auth-captcha {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .sh-auth-captcha > .text-center,
    .sh-auth-captcha > .text-center.row,
    .sh-register-card-body #frmCheckout > .text-center.row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        justify-content: center;
    }

    .sh-auth-captcha .recaptcha-container,
    .sh-auth-captcha #google-recaptcha-domainchecker,
    .sh-register-card-body #frmCheckout #google-recaptcha-domainchecker {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .sh-auth-page .sh-auth-submit,
    .sh-auth-page .sh-auth-secondary-action,
    .sh-reset-card-body form .btn,
    .sh-register-card-body #frmCheckout input[type="submit"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 46px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .sh-auth-card-footer {
        gap: 4px 6px;
        padding: 13px 12px;
        font-size: 12px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .sh-reset-description {
        font-size: 13px;
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    .sh-reset-form .sh-reset-submit-wrap {
        margin-top: 19px;
    }

    .sh-reset-card-body form > p,
    .sh-reset-card-body form .alert,
    .sh-reset-card-body > p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    /* Mobile registration canvas, headings, notice strip and all form fields. */
    .sh-register-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 10px 10px !important;
        overflow-x: clip !important;
    }

    .sh-register-page-heading {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        width: 100%;
        min-width: 0;
        margin-bottom: 14px;
    }

    .sh-register-page-heading > div,
    .sh-register-page-heading h1,
    .sh-register-page-heading p {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .sh-register-page-heading h1 {
        font-size: 24px !important;
        line-height: 1.25;
    }

    .sh-register-page-heading p {
        font-size: 13px;
        line-height: 1.5;
    }

    .sh-register-page-heading nav {
        max-width: 100%;
        padding-top: 3px;
        gap: 7px;
        font-size: 11px;
        overflow-wrap: anywhere;
    }

    .sh-register-existing {
        display: flex !important;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 8px;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 16px !important;
        padding: 11px !important;
    }

    .sh-register-existing > strong,
    .sh-register-existing > p {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .sh-register-existing > strong {
        padding: 0 0 8px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #e7edf5 !important;
        font-size: 12px !important;
    }

    .sh-register-existing > p {
        padding: 9px 10px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .sh-register-pill {
        flex: 1 1 calc(50% - 8px) !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 8px 9px !important;
        font-size: 12px !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .sh-register-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
    }

    .sh-register-card-body,
    .sh-register-card-body #registration,
    .sh-register-card-body #registration form,
    .sh-register-card-body #containerNewUserSignup,
    .sh-register-card-body #containerNewUserSecurity,
    .sh-register-card-body #containerNewUserSecurity .card-body {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .sh-register-card-body .row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .sh-register-card-body .row > [class*="col-"] {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .sh-register-card-body .form-group,
    .sh-register-card-body .form-group.prepend-icon {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .sh-register-card-body .form-group .field,
    .sh-register-card-body .form-group .form-control,
    .sh-register-card-body .form-group select,
    .sh-register-card-body .form-group textarea,
    .sh-register-card-body .control input,
    .sh-register-card-body .control select,
    .sh-register-card-body .control textarea,
    .sh-register-card-body #containerNewUserSecurity input.field {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
    }

    .sh-register-card-body .iti,
    .sh-register-card-body .iti input#inputPhone {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .sh-register-card-body #inputPhone {
        padding-left: 90px !important;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-col,
    .sh-register-card-body #containerNewUserSecurity .sh-password-field,
    .sh-register-card-body #containerNewUserSecurity .sh-password-meter-wrap,
    .sh-register-card-body #containerNewUserSecurity .sh-password-actions {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-actions {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 8px;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-generate-password {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-meter-wrap .progress {
        width: 100% !important;
        max-width: 100% !important;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-rules {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px 9px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-rules li,
    .sh-register-card-body .accepttos,
    .sh-register-card-body .form-check {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .sh-register-card-body #frmCheckout > .text-center.row {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        overflow: hidden;
    }
}

@media (max-width: 575.98px) {
    .sh-auth-login-page,
    .sh-auth-reset-page {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .sh-auth-card-header,
    .sh-auth-reset-page .sh-reset-card-header,
    .sh-register-card-header {
        padding: 22px 14px 23px !important;
    }

    .sh-auth-card-body,
    .sh-reset-card-body,
    .sh-register-card-body {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    .sh-auth-card-footer {
        padding-right: 10px;
        padding-left: 10px;
    }

    .sh-register-page-heading nav {
        display: none;
    }
}

@media (max-width: 360px) {
    .sh-auth-page {
        padding-right: 8px !important;
        padding-left: 8px !important;
    }

    .sh-auth-card-body,
    .sh-reset-card-body,
    .sh-register-card-body {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .sh-auth-card-header h1,
    .sh-register-card-header h1 {
        font-size: 20px !important;
    }

    /* The standard checkbox CAPTCHA is 304px wide. Scale it only on very narrow phones. */
    .sh-auth-captcha .g-recaptcha,
    .sh-register-card-body #frmCheckout #google-recaptcha-domainchecker .g-recaptcha {
        transform: scale(.86);
        transform-origin: top center;
        margin-bottom: -11px;
    }

    .sh-register-card-body #containerNewUserSecurity .sh-password-rules {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .sh-register-pill {
        flex-basis: 100% !important;
    }
}
