/* Registration owns one centered frame even when WHMCS supplies context menus. */
.pa-theme .pa-mobile-register-title { display:none; }
.pa-theme.pa-page-clientregister #main-body { display:flex; justify-content:center; align-items:center; }
.pa-theme.pa-page-clientregister .pa-content-row { display:block !important; }
.pa-theme.pa-page-clientregister .pa-page-content { float:none; }
.pa-theme.pa-page-clientregister .phm-register-shell { width:min(1040px,100%); margin-inline:auto; box-sizing:border-box; }
.pa-theme .phm-register-main #registration .phm-register-actions {
    display:flex; justify-content:center; align-items:center; width:100%; text-align:center; margin:24px 0 0;
}
.pa-theme .phm-register-main #registration .phm-register-actions .btn { float:none; margin:0; min-width:160px; }
/* Use physical padding: the icon stays on the right when input direction changes. */
.pa-theme .phm-register-main #registration :is(input.field,input.form-control,select.field) {
    min-height:48px; height:48px; padding-block:11px; font-size:16px; line-height:24px;
}
.pa-theme .phm-register-main #registration input::placeholder { color:var(--pa-muted); opacity:1; font-size:16px; }
.pa-theme .phm-register-main #registration :is(.control-label,.checkbox label) { font-size:14px; line-height:1.8; }
.pa-theme .phm-register-header p { font-size:13px; }
.pa-theme .phm-register-main #registration .sub-heading span { font-size:14px; }
.pa-theme .phm-register-main #containerPassword .generate-password { min-height:44px; font-size:13px; }
.pa-theme .phm-register-main #registration .phm-register-actions .btn { min-height:48px; font-size:15px; }
.pa-theme .phm-register-main #registration .prepend-icon { position:relative; }
.pa-theme .phm-register-main #registration .prepend-icon>.field-icon {
    position:absolute; left:auto; right:8px; top:0; width:28px; height:48px;
    display:grid; place-items:center; font-size:16px; line-height:1; margin:0; pointer-events:none; z-index:2;
}
.pa-theme .phm-register-main #registration .prepend-icon input.field { padding-left:12px; padding-right:42px; }
.pa-theme .phm-register-main #registration .pa-register-password-field input.field { padding-left:48px; padding-right:42px; }
.pa-theme .phm-register-main #registration .pa-register-password-toggle {
    position:absolute; inset:auto; top:4px; left:4px; display:inline-flex; align-items:center; justify-content:center;
    width:40px; min-width:40px; height:40px; margin:0; padding:0; border:0; border-radius:8px;
    background:transparent; color:var(--pa-muted); font-size:17px; line-height:1; cursor:pointer;
}
.pa-theme .phm-register-main #registration .pa-register-password-toggle:hover { color:var(--pa-link); background:var(--pa-subtle); }
.pa-theme .phm-register-main #registration .pa-register-password-toggle:focus-visible { outline:2px solid var(--pa-link); outline-offset:1px; }
.pa-theme .phm-register-main #registration input:is([type=email],[type=tel],[type=password]) { direction:ltr !important; text-align:left !important; }
.pa-theme .phm-register-main #registration input:is([type=email],[type=tel],[type=password]):placeholder-shown { direction:rtl !important; text-align:right !important; }
.pa-theme .phm-register-main #registration input:is([type=email],[type=tel],[type=password])::placeholder { direction:rtl; text-align:right; }
/* Keep WHMCS's country selector on the left, clear of both text and phone icon.
   Cover the bundled intl-tel-input and its newer markup without replacing it. */
.pa-theme .phm-register-main #registration :is(.intl-tel-input,.iti) { display:block; width:100%; direction:ltr; }
.pa-theme .phm-register-main #registration :is(.flag-container,.iti__flag-container,.iti__country-container) { left:0; right:auto; }
.pa-theme .phm-register-main #registration :is(.intl-tel-input,.iti) input[type=tel] { padding-left:64px; padding-right:42px; }
.pa-theme .phm-register-main #registration .intl-tel-input.separate-dial-code input[type=tel] { padding-left:108px; }
.pa-theme .phm-register-main #registration .iti input[type=tel] { padding-left:var(--iti-selected-country-width,88px); }
@media(max-width:520px) {
    .pa-theme .phm-register-main #registration { padding-inline:18px; }
}

/* Give headings their own line; the rule follows the title instead of crossing it. */
.pa-theme .phm-register-main #registration .sub-heading {
    display:flex; align-items:center; gap:12px; height:auto; min-height:28px;
    margin:24px 0 18px; padding:0; border:0; text-align:start;
}
.pa-theme .phm-register-main #registration .sub-heading::before { display:none; }
.pa-theme .phm-register-main #registration .sub-heading::after { content:''; flex:1; border-top:1px solid var(--pa-border); }
.pa-theme .phm-register-main #registration .sub-heading > span {
    position:static; inset:auto; padding:0; margin:0; max-width:100%; background:transparent;
    color:var(--pa-primary); line-height:1.9; font-weight:600; overflow-wrap:anywhere;
}
.pa-theme .phm-register-captcha { width:100%; min-width:0; clear:both; }
.pa-theme .phm-register-main #registration .phm-register-captcha > .row { margin:0; width:100%; }
.pa-theme .phm-register-captcha > .row > [class*='col-'] { float:none; width:100%; margin:0; padding:0; }
.pa-theme .phm-register-captcha .recaptcha-container { width:100%; min-width:0; margin:18px auto; text-align:center; }
.pa-theme .phm-register-captcha .recaptcha-container > div { margin-inline:auto; }
.pa-theme .phm-register-captcha .pa-recaptcha-fit { display:flex; justify-content:center; overflow:hidden; }
.pa-theme .phm-register-captcha .pa-recaptcha-fit > div { flex:none; transform-origin:center top; }
@media(max-width:800px) {
    .pa-theme.pa-page-clientregister .phm-register-welcome { display:none; }
    .pa-theme.pa-page-clientregister #main-body { align-items:flex-start; padding:16px 0 !important; min-height:calc(100svh - var(--pa-topbar-height,88px)); }
    .pa-theme.pa-page-clientregister .phm-register-shell { grid-template-columns:minmax(0,1fr); max-width:560px; min-height:0; }
    .pa-theme.pa-page-clientregister .phm-register-main { grid-column:1; grid-row:1; min-width:0; }
    .pa-theme.pa-page-clientregister .phm-register-header { justify-content:center; padding:22px 18px; text-align:center; }
    .pa-theme.pa-page-clientregister .phm-register-header > span,
    .pa-theme.pa-page-clientregister .phm-register-header h2 { display:none; }
    .pa-theme.pa-page-clientregister .pa-mobile-register-title { display:block; margin:0 0 6px; color:var(--pa-primary); font-size:22px; font-weight:700; line-height:1.7; }
    .pa-theme.pa-page-clientregister #registration > form { min-width:0; }
}

/* Keep consent text and its native checkbox aligned without iCheck positioning. */
.pa-theme .phm-register-main #registration .pa-register-terms {
    margin:16px 0 0; border:1px solid var(--pa-border); border-radius:12px;
    background:var(--pa-subtle); overflow:hidden;
}
.pa-theme .phm-register-main #registration .pa-register-terms-label {
    display:flex; align-items:flex-start; gap:12px; min-height:56px;
    margin:0; padding:14px 16px; font-size:14px; font-weight:400;
    line-height:1.9; text-align:start; color:var(--pa-primary); cursor:pointer;
}
.pa-theme .phm-register-main #registration .pa-register-terms-label > input.accepttos {
    appearance:auto; position:static; float:none; flex:0 0 22px;
    width:22px; height:22px; min-height:22px; margin:2px 0 0; padding:0;
    opacity:1; accent-color:var(--pa-link); cursor:pointer; box-shadow:none;
}
.pa-theme .phm-register-main #registration .pa-register-terms-label > input:focus-visible {
    outline:2px solid var(--pa-link); outline-offset:3px;
}
.pa-theme .phm-register-main #registration .pa-register-terms-text { min-width:0; overflow-wrap:anywhere; }
.pa-theme .phm-register-main #registration .pa-register-terms-text a {
    color:var(--pa-link); text-decoration:underline; text-underline-offset:3px;
}
.pa-theme .phm-register-main #registration .pa-register-terms-text a:hover { text-decoration-thickness:2px; }
.pa-theme .phm-register-main #registration .pa-register-terms-text a:focus-visible {
    outline:2px solid var(--pa-link); outline-offset:3px; border-radius:2px;
}
.pa-theme .phm-register-main #registration .pa-register-terms-separator { color:var(--pa-muted); }
