/* Elementor Forms hardening — see includes/Forms/Form_Hardening.php */

/*
 * Honeypot trap. Pulled off-screen rather than display:none / visibility:hidden,
 * which the better spam bots know to skip. Never focusable, never announced.
 */
.caplugs-hp {
    position: absolute !important;
    left: -9999px !important;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/*
 * Visually-hidden field labels, opt-in per form via the caplugs-form--sr-labels
 * CSS class on the Form widget. The <label> stays in the accessibility tree so
 * screen readers announce each input, while the visual design keeps relying on
 * placeholders.
 *
 * The acceptance (GDPR) field is excluded on purpose: its label is real,
 * visible copy that the user needs to read before consenting.
 */
.caplugs-form--sr-labels .elementor-field-group:not(.elementor-field-type-acceptance) > .elementor-field-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
