/**
 * Riley Forms — front-end styles.
 *
 * Deliberately minimal and theme-agnostic: inherits your typography and
 * colors rather than imposing its own. Uses system focus styles so keyboard
 * users keep a visible focus ring.
 */

.rf-wrap {
	max-width: 38rem;
	margin: 2rem 0;
}

.rf-title {
	margin: 0 0 .75rem;
	font-size: 1.25em;
}

.rf-field {
	margin: 0 0 1rem;
}

.rf-field label {
	display: block;
	margin-bottom: .25rem;
	font-weight: 600;
}

.rf-field input[type="text"],
.rf-field input[type="email"],
.rf-field textarea {
	width: 100%;
	padding: .6rem .7rem;
	border: 1px solid currentColor;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font: inherit;
	line-height: 1.4;
}

.rf-field textarea {
	resize: vertical;
}

/* Consent is a normal-weight inline label, not a heading. */
.rf-consent label {
	display: flex;
	gap: .5rem;
	align-items: flex-start;
	font-weight: 400;
	font-size: .95em;
}

.rf-consent input {
	margin-top: .25rem;
	flex: 0 0 auto;
}

.rf-submit button {
	padding: .6rem 1.4rem;
	border: 1px solid currentColor;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.rf-submit button:hover,
.rf-submit button:focus {
	opacity: .8;
}

/* Honeypot: hidden from people, still reachable by bots parsing the DOM.
   Not display:none, which some bots specifically skip. */
.rf-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rf-notice {
	padding: .75rem 1rem;
	border-left: 4px solid currentColor;
	margin-bottom: 1rem;
}

.rf-notice--success {
	border-color: #2a7d2e;
}

.rf-notice--error {
	border-color: #a02020;
}
