/* Shop Pro — acessibilidade transversal, sem alterações no motor funcional. */
.shoppro-a11y-status,
.shoppro-screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

:where(
    .shopprocc-cart-shell,
    .shopprocc-checkout-shell,
    #shopprocc-checkout-login-modal,
    #shoppro-error-modal,
    #wc-shipping-sim,
    #shoppro-gw-overlay,
    #shoppro-location-popover,
    .shoppro-location-bar,
    .shoppro-order-bumps
) :where(a, button, input, select, textarea, [tabindex]):focus-visible,
.shoppro-location-bar:focus-visible {
    outline: 2px solid #1d4ed8 !important;
    outline-offset: 2px !important;
}

/*
 * Quando o espaçamento lateral dos blocos é removido, alguns controles passam
 * a encostar no limite de cartões que precisam manter overflow:hidden. Mantém
 * o mesmo indicador de foco, mas inteiramente dentro do controle, sem corte.
 */
.shopprocc-remove-block-horizontal-padding :where(
    a,
    button,
    input,
    select,
    textarea,
    [tabindex]
):focus-visible {
    outline-offset: -2px !important;
}

.shopprocc-checkout-shell.shopprocc-checkout-shell .shopprocc-field-error-msg {
    color: #b91c1c !important;
}

/* O tema pode injetar um segundo controle de senha dentro do modal próprio. */
#shopprocc-checkout-login-modal .show-password-input {
    display: none !important;
}
