/* Velocitas Companion — contact form base. :where() keeps every rule at zero
   specificity so any theme's own form styles override these. */
:where(.contact) { max-width: 42rem; margin-top: 1.5rem; }
:where(.contact__field) { margin: 0 0 1rem; }
:where(.contact__field label) { display: block; font-weight: 600; margin-bottom: 0.35rem; }
:where(.contact__field input, .contact__field textarea) {
	box-sizing: border-box;
	width: 100%;
	padding: 0.6rem 0.75rem;
	font: inherit;
	color: inherit;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 4px;
	opacity: 0.95;
}
:where(.contact__field input:focus-visible, .contact__field textarea:focus-visible) { outline: 2px solid currentColor; outline-offset: 1px; }
:where(.contact__actions) { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; }
:where(.contact__send) { padding: 0.65rem 1.4rem; font: inherit; font-weight: 600; cursor: pointer; }
:where(.contact__privacy) { font-size: 0.875em; opacity: 0.75; }
:where(.contact__notice) { margin: 0 0 1.25rem; padding: 0.8rem 1rem; border: 1px solid currentColor; border-radius: 4px; }
:where(.contact__notice p) { margin: 0.2rem 0; }
/* The honeypot must stay out of sight in every theme. */
.contact__trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Newsletter signup ([velocitas_subscribe]) — same zero-specificity rule. */
:where(.subscribe__form) { display: flex; flex-wrap: wrap; gap: 0.5rem; max-width: 34rem; }
:where(.subscribe__email) {
	flex: 1 1 14rem;
	box-sizing: border-box;
	padding: 0.65rem 0.8rem;
	font: inherit;
	color: inherit;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 4px;
}
:where(.subscribe__send) { padding: 0.65rem 1.25rem; font: inherit; font-weight: 600; cursor: pointer; }
:where(.subscribe__fine, .subscribe__note) { margin: 0.6rem 0 0; font-size: 0.85em; opacity: 0.8; }
