/**
 * form-styling.css - shared frontend form styles for VIP Forms Lite.
 *
 * Enqueued (versioned) on any page that renders [vtc_form] or
 * [vtc_hubspot_form]. Both forms use the same .vtc-form BEM structure; the
 * bulk of the visual styling still comes from the theme, so this file only
 * carries the rules the forms need to stand on their own.
 */

/* Phone validation error (shared by the legacy and HubSpot forms) */
.vtc-form .vtc-form__input--invalid {
	box-shadow: inset 0 0 0 2px #c62828;
}
.vtc-form__phone-error {
	margin: 8px 0 0;
	padding: 5px 10px;
	color: #c62828;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	background: #f7cad8;
	display: flex;
	border-radius: 5px;
}
@media (min-width: 641px) {
	.vtc-form__phone-error { font-size: 18px; }
}

/* General form error banner (reCAPTCHA, server errors, etc.) */
.vtc-form__error-message {
	background: #fff;
	padding: 5px 10px;
	border-radius: 5px;
	color: #c62828;
	font-size: 16px;
}

/* HubSpot form: inline success message */
.vtc-form--base .vtc-form__success-message {
	grid-column: 1 / -1;
	background: #d4edda;
	color: #155724;
	padding: 8px 12px;
	border-radius: 5px;
	font-family: 'DM Sans - Regular', sans-serif;
}

/* HubSpot form: select chevron - legacy CSS targets #state / #location,
   but the HubSpot IDs are UUID based, so these selects style themselves. */
.vtc-form__group--select {
	position: relative;
}
.vtc-form__group--select .vtc-form__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 2.5em;
}
.vtc-form__group--select::after {
	content: "\f078";
	font-family: "Font Awesome 6 Pro";
	font-weight: 500;
	position: absolute;
	top: 50%;
	right: 1.25em;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 1.3em;
	color: inherit;
}
