/**
 * JED Honeypot Field Styles
 *
 * These styles hide the honeypot field from human users while keeping it
 * visible to bots. We use multiple techniques to make it harder for
 * sophisticated bots to detect:
 *
 * - Position absolute with negative coordinates (not display:none)
 * - Opacity 0 (still in DOM, still focusable by bots)
 * - Pointer events none (prevent accidental clicks)
 * - Small size (in case positioning fails)
 * - Overflow hidden (prevent any visual artifacts)
 */

.jed-honeypot-container,
.jed-honeypot-wrapper,
.nf-field-container .jed-honeypot-field {
	/* Position off-screen */
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;

	/* Make invisible but keep in DOM */
	opacity: 0 !important;

	/* Prevent interaction */
	pointer-events: none !important;

	/* Minimal size */
	width: 1px !important;
	height: 1px !important;

	/* Hide overflow */
	overflow: hidden !important;

	/* Remove from normal flow */
	z-index: -1 !important;

	/* Prevent any display */
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

/* Target the input itself */
.jed-honeypot-field,
input.jed-honeypot-input,
.nf-field-element input[name="website_url"] {
	/* Position off-screen */
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;

	/* Make invisible */
	opacity: 0 !important;

	/* Prevent interaction */
	pointer-events: none !important;

	/* Remove from tab order */

	/* Minimal size */
	width: 1px !important;
	height: 1px !important;

	/* Hide overflow */
	overflow: hidden !important;

	/* Additional hiding techniques */
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Ensure wrapper containers are also hidden */
.nf-field-container:has(.jed-honeypot-field) {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
}

/* Accessibility: Screen reader only text (keep accessible but invisible) */
.jed-honeypot-field[aria-label],
.jed-honeypot-field label {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/**
 * Debug mode styles
 * When debug mode is enabled in settings, these styles will reveal
 * the honeypot field with a red border for testing purposes.
 */
body.jed-honeypot-debug .jed-honeypot-container,
body.jed-honeypot-debug .jed-honeypot-wrapper,
body.jed-honeypot-debug .jed-honeypot-field,
body.jed-honeypot-debug input.jed-honeypot-input {
	position: relative !important;
	left: 0 !important;
	top: 0 !important;
	opacity: 1 !important;
	pointer-events: all !important;
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	border: 3px solid red !important;
	background: #ffcccc !important;
	z-index: 9999 !important;
}

body.jed-honeypot-debug .jed-honeypot-field::before {
	content: "HONEYPOT FIELD (VISIBLE IN DEBUG MODE)";
	display: block;
	color: red;
	font-weight: bold;
	font-size: 12px;
	padding: 5px;
	background: yellow;
}
