/* WHMCS owns CAPTCHA rendering and validation. Never restyle Google's challenge
   iframe or force a .g-recaptcha submit button to become a 304px-wide block. */
:is(.zh-saas-theme, #order-standard_cart) .captcha-container {
    clear: both;
    width: 100%;
    min-width: 0;
    margin: 16px auto;
    overflow: visible;
}
:is(.zh-saas-theme, #order-standard_cart) div.recaptcha-container {
    display: block;
    clear: both;
    width: 304px;
    max-width: none;
    min-height: 78px;
    position: relative;
    left: 50%;
    margin: 16px 0 16px -152px !important;
    padding: 0;
    overflow: visible;
}
:is(.zh-saas-theme, #order-standard_cart) .default-captcha {
    max-width: 100%;
    text-align: center;
}
:is(.zh-saas-theme, #order-standard_cart) .default-captcha > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
:is(.zh-saas-theme, #order-standard_cart) .default-captcha input {
    width: 130px;
    min-height: 44px;
    font-size: 16px;
}

/* Cancel only the legacy theme scaling of the host, never the Google frame. */
.zh-saas-theme #google-recaptcha-domainchecker,
#order-standard_cart .recaptcha-container { transform: none !important; -webkit-transform: none !important; }

/* Narrow cards may be smaller than Google's native 304px widget. Allow the
   centered widget to use the viewport without clipping or an internal scroller. */
#order-standard_cart :is(.panel, .card-body, .panel-body, .domain-checker-container, .domain-checker-bg):has(.recaptcha-container) { overflow: visible !important; }
