/*
 * Form chrome: honeypot, notices, inline errors.
 *
 * The honeypot MUST be invisible. If a real person can see it and type in it,
 * their submission is silently discarded by inc/forms.php — a form that appears
 * to work and quietly drops leads is worse than no form.
 */

/* -------------------------------------------------------------- honeypot */

/*
 * Not `display:none` and not `hidden`: some bots skip fields hidden that way,
 * which defeats the trap. This keeps the field in the layout tree but pushes it
 * out of view, and aria-hidden + tabindex="-1" (set in PHP) keep it away from
 * screen readers and keyboard users.
 */
.tix-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* --------------------------------------------------------------- notices */

.tix-notice {
	margin: 0 0 22px;
	padding: 14px 18px;
	border-radius: var(--radius);
	font-size: 14px;
	line-height: 1.8;
	font-weight: 600;
}

.tix-notice-ok {
	background: #ECFDF5;
	border: 1.5px solid #A7F3D0;
	color: #065F46;
}

.tix-notice-ok a {
	color: #047857;
	font-weight: 800;
}

.tix-notice-err {
	background: #FEF2F2;
	border: 1.5px solid #FECACA;
	color: #991B1B;
}

/* ---------------------------------------------------------- field errors */

.tix-field {
	position: relative;
}

.tix-field-error {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	font-weight: 700;
	color: #DC2626;
}

.tix-form [aria-invalid="true"] {
	border-color: #F87171 !important;
	background: #FEF2F2;
}

.tix-form [aria-invalid="true"]:focus {
	outline: 2px solid #DC2626;
	outline-offset: 1px;
}

/* The original markup shipped static error spans that its JS toggled; the
   server-rendered form no longer uses them. */
.tix-form .err-msg {
	display: none;
}

/* -------------------------------------------------------------- controls */

.tix-form .form-submit:disabled {
	opacity: .6;
	cursor: not-allowed;
	transform: none;
}

.tix-form :is(input, select, textarea):focus-visible {
	outline: 2px solid var(--blue-600);
	outline-offset: 1px;
}

.form-note {
	margin-top: 12px;
	font-size: 12.5px;
	color: var(--text-light);
	line-height: 1.7;
}

.form-note a {
	color: var(--blue-600);
	font-weight: 700;
}
