/*
 * Sign-up form.
 *
 * Page builders (Elementor kits, theme form styles) style every input and
 * label on the site with high-specificity rules. The doubled class below
 * (.vrn-signup.vrn-signup) keeps this form compact and readable regardless,
 * while colours come from custom properties the block/shortcode can set:
 *   --vrn-label        label and consent text (default: surrounding text colour)
 *   --vrn-field-bg     field background
 *   --vrn-field-text   field text
 *   --vrn-field-border field border
 *   --vrn-button-bg / --vrn-button-text  (only applied when set)
 */
.vrn-signup.vrn-signup { display: grid; gap: 10px; max-width: 520px; margin: 0; color: var(--vrn-label, inherit); }
.vrn-signup.vrn-signup--inline { max-width: none; }
.vrn-signup.vrn-signup .vrn-signup__heading { margin: 0; color: inherit; }
.vrn-signup.vrn-signup .vrn-signup__text { margin: 0; color: inherit; }
.vrn-signup.vrn-signup .vrn-signup__fields { display: grid; gap: 8px; }
.vrn-signup.vrn-signup--inline .vrn-signup__fields { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.vrn-signup.vrn-signup .vrn-signup__field { margin: 0; padding: 0; display: grid; gap: 3px; }

.vrn-signup.vrn-signup label,
.vrn-signup.vrn-signup legend {
	color: var(--vrn-label, inherit);
	font-family: inherit;
	font-size: 0.9em;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	line-height: 1.4;
	margin: 0;
	padding: 0;
}

.vrn-signup.vrn-signup .vrn-signup__field input[type="text"],
.vrn-signup.vrn-signup .vrn-signup__field input[type="email"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0.5em 0.75em;
	border: 1px solid var(--vrn-field-border, rgba(127, 127, 127, 0.55));
	border-radius: 4px;
	background: var(--vrn-field-bg, #ffffff);
	color: var(--vrn-field-text, #1e1e1e);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
	box-shadow: none;
}
.vrn-signup.vrn-signup .vrn-signup__field input:focus {
	outline: 2px solid var(--vrn-field-border, currentColor);
	outline-offset: 1px;
}

.vrn-signup.vrn-signup .vrn-signup__groups { border: 0; margin: 0; padding: 0; display: grid; gap: 4px; }
.vrn-signup.vrn-signup .vrn-signup__groups legend { margin-bottom: 4px; }
.vrn-signup.vrn-signup .vrn-signup__consent { margin: 0; }
.vrn-signup.vrn-signup .vrn-signup__consent label,
.vrn-signup.vrn-signup .vrn-signup__groups label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.vrn-signup.vrn-signup input[type="checkbox"] { width: auto; height: auto; margin: 0.2em 0 0; flex: none; }

.vrn-signup.vrn-signup .vrn-signup__submit { margin: 2px 0 0; }
.vrn-signup.vrn-signup .vrn-signup__submit button { cursor: pointer; }
.vrn-signup.vrn-signup.has-button-colors .vrn-signup__submit button {
	background: var(--vrn-button-bg);
	color: var(--vrn-button-text);
	border-color: var(--vrn-button-bg);
}
.vrn-signup.vrn-signup .vrn-signup__submit button[disabled] { opacity: 0.6; cursor: progress; }

.vrn-signup__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vrn-signup.vrn-signup .vrn-signup__msg { margin: 0; padding: 0.6em 0.8em; border-radius: 4px; }
.vrn-signup.vrn-signup .vrn-signup__msg.is-ok { background: #e7f5ea; color: #1a5f2b; }
.vrn-signup.vrn-signup .vrn-signup__msg.is-error { background: #fdecea; color: #8a1f15; }
.vrn-signup.is-done .vrn-signup__fields,
.vrn-signup.is-done .vrn-signup__groups,
.vrn-signup.is-done .vrn-signup__consent,
.vrn-signup.is-done .vrn-signup__submit { display: none; }
