.webo-address-lookup {
    margin: 0 0 22px;
}

.webo-address-lookup > label {
    display: block;
    font-weight: 600;
    margin-bottom: 7px;
}

#webo-address-widget-host,
#webo-address-widget-host input,
#webo-address-widget-host gmp-place-autocomplete {
    box-sizing: border-box;
    display: block;
    width: 100%;
}

#webo-address-widget-host input,
#webo-address-widget-host gmp-place-autocomplete {
    min-height: 46px;
}

.webo-address-manual {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #333 !important;
    font-size: 13px !important;
    margin-top: 8px !important;
    padding: 0 !important;
    text-decoration: underline;
    text-transform: none !important;
}

.webo-address-message {
    color: #b81c23;
    font-size: 13px;
    margin: 8px 0 0;
}

body.webo-address-pending #billing_address_1_field,
body.webo-address-pending #billing_city_field,
body.webo-address-pending #billing_state_field,
body.webo-address-pending #billing_postcode_field,
body.webo-address-enhanced:not(.webo-address-manual-mode) #billing_address_1_field,
body.webo-address-enhanced:not(.webo-address-manual-mode) #billing_city_field,
body.webo-address-enhanced:not(.webo-address-manual-mode) #billing_state_field,
body.webo-address-enhanced:not(.webo-address-manual-mode) #billing_postcode_field {
    display: none !important;
}

body.webo-address-manual-mode #webo-billing-address-lookup {
    margin-bottom: 12px;
}

/* Manual entry is an alternative to address search, not a second form. */
body.webo-address-manual-mode #webo-billing-address-lookup > label,
body.webo-address-manual-mode #webo-address-widget-host,
body.webo-address-manual-mode #webo-address-message {
    display: none !important;
}

/* Do not offer a search toggle when Google Places did not initialize. */
body.webo-address-manual-mode:not(.webo-address-enhanced) #webo-address-manual {
    display: none !important;
}

/* Woo address-i18n can reinsert the optional marker after Phone becomes required. */
#billing_phone_field .optional {
    display: none !important;
}

/* Remove the browser/theme dotted abbreviation underline below the required star. */
#billing_phone_field abbr.required,
#webo-billing-address-lookup abbr.required {
    border: 0 !important;
    text-decoration: none !important;
}

/* Keep billing content stationary whenever Stripe rebuilds its secure iframes. */
body.woocommerce-checkout #wc-stripe-express-checkout-element {
    align-items: center;
    min-height: 113px;
}

body.woocommerce-checkout #wc-stripe-express-checkout-button-separator {
    min-height: 24px;
}

/* Reserve the final Stripe express-checkout footprint while its iframes boot. */
body.webo-checkout-express-pending #wc-stripe-express-checkout-element {
    display: flex !important;
    min-height: 113px;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.webo-checkout-express-pending #wc-stripe-express-checkout-button-separator {
    display: block !important;
    min-height: 24px;
    opacity: 0 !important;
    pointer-events: none !important;
}
