/* Lavack Forms — visual match for the Super Forms "super-default-rounded" theme
   used on the Taylor sites (colors sampled from the live theme settings). */

.lf-wrap {
	--lf-accent: #e20909;
	--lf-accent-hover: #444444;
	--lf-border: #9a9a9a; /* dark enough to stay visible on white AND grey page sections */
	--lf-icon: #8e8e8e;
	--lf-label: #333333;
	--lf-placeholder: #9a9a9a;
	max-width: 780px;
	margin: 0 auto;
	font-size: 16px;
}

.lf-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}

.lf-col-full { grid-column: 1 / -1; }
.lf-col-half { grid-column: auto / span 1; }

@media (max-width: 600px) {
	.lf-col-half { grid-column: 1 / -1; }
}

.lf-heading {
	margin: 18px 0 6px;
	font-weight: 700;
	color: var(--lf-label);
}

.lf-html { margin: 10px 0; color: var(--lf-label); }
.lf-spacer { height: 16px; }

.lf-field { margin: 0 0 14px; }

.lf-label {
	display: block;
	font-weight: 700;
	color: var(--lf-label);
	margin: 0 0 5px;
	font-size: 0.9em;
}

.lf-req { color: var(--lf-accent); }

.lf-input-wrap { position: relative; }

.lf-icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	color: var(--lf-icon);
	pointer-events: none;
	display: flex;
	align-items: center;
}

.lf-icon svg { width: 100%; height: auto; display: block; }

.lf-input {
	width: 100%;
	box-sizing: border-box;
	padding: 13px 14px;
	border: 1px solid var(--lf-border);
	border-radius: 4px;
	background: #fff;
	color: #444;
	font-size: 1em;
	line-height: 1.3;
	appearance: none;
	-webkit-appearance: none;
}

.lf-has-icon .lf-input { padding-left: 38px; }

select.lf-input {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23444444' d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px;
	padding-right: 38px;
}

.lf-input::placeholder { color: var(--lf-placeholder); }

/* Force fields visibly white with a clear border. The Taylor themes style bare
   inputs with a transparent background + faint 2px border, which makes the fields
   vanish into the grey page section — override with higher specificity + !important. */
.lf-wrap input.lf-input,
.lf-wrap select.lf-input,
.lf-wrap textarea.lf-input {
	background-color: #fff !important;
	border: 1px solid var(--lf-border) !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06) !important; /* subtle depth so fields read as distinct on white or grey page backgrounds */
	color: #444 !important;
}

.lf-input:focus {
	outline: none;
	border-color: var(--lf-accent);
}

.lf-wrap .lf-input:focus {
	border-color: var(--lf-accent) !important;
	/* soft accent-tinted focus ring for a clear, accessible focus state */
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06),
		0 0 0 3px color-mix(in srgb, var(--lf-accent) 20%, transparent) !important;
}

.lf-input:focus ~ .lf-icon,
.lf-input-wrap:focus-within .lf-icon { color: var(--lf-accent); }

.lf-wrap .lf-input[readonly] { background-color: #f7f7f7 !important; }

.lf-input.lf-invalid { border-color: #b32d2e; }

.lf-radios { display: flex; gap: 22px; padding: 12px 2px; flex-wrap: wrap; }

.lf-radio {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	color: #444;
}

.lf-radio input { accent-color: var(--lf-accent); width: 17px; height: 17px; margin: 0; }

.lf-recaptcha { margin: 6px 0 14px; }

.lf-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 15px 22px;
	background: var(--lf-accent);
	color: #fff;
	border: 0;
	border-radius: 4px;
	font-size: 1.05em;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.15s ease;
}

.lf-submit:hover:not(:disabled) { background: var(--lf-accent-hover); }
.lf-submit:disabled { opacity: 0.7; cursor: wait; }
.lf-submit-icon { width: 19px; height: 19px; }

/* Loading spinner while the submission is in flight. */
.lf-submit.is-loading .lf-submit-icon { display: none; }
.lf-submit.is-loading::after {
	content: '';
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: lf-spin 0.7s linear infinite;
}
@keyframes lf-spin { to { transform: rotate(360deg); } }

.lf-error {
	color: #b32d2e;
	font-size: 0.85em;
	min-height: 0;
	margin-top: 4px;
}

.lf-error-general { margin-top: 12px; font-weight: 600; text-align: center; }

/* Honeypot: visually removed, still in the DOM for bots. */
.lf-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.lf-thanks { text-align: center; padding: 28px 10px; }
.lf-thanks-title { color: var(--lf-accent); margin: 0 0 14px; }
.lf-thanks-body { color: #333; line-height: 1.6; }
.lf-thanks-body .wp-block-button__link {
	display: block;
	background: var(--lf-accent);
	color: #fff;
	padding: 16px 20px;
	border-radius: 4px;
	text-decoration: none;
	margin-top: 14px;
}
.lf-thanks-body .wp-block-button__link p { margin: 0; }
.lf-thanks-body .wp-block-button__link:hover { background: var(--lf-accent-hover); }
