/**
 * Form
 */

.rc-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	max-width: var(--container-narrow);
}

.rc-form__description {
	margin: 0;
	font-size: var(--text-body);
	line-height: var(--leading-relaxed);
	color: var(--color-text-muted);
}

/* --- Fields --------------------------------------------------------- */

.rc-form__fields {
	display: grid;
	gap: var(--space-4);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.rc-form--columns .rc-form__fields {
		grid-template-columns: repeat(2, 1fr);
	}

	.rc-form--columns .rc-field--full {
		grid-column: 1 / -1;
	}
}

/* --- Status --------------------------------------------------------- */

.rc-form__status {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-md);
	border: var(--border-width) solid transparent;
	font-size: var(--text-body);
	line-height: var(--leading-normal);
}

.rc-form__status p {
	margin: 0;
}

.rc-form__status .rc-icon {
	flex-shrink: 0;
	margin-top: 0.1em;
}

.rc-form__status--success {
	background-color: var(--color-success-bg);
	border-color: var(--color-success);
	color: var(--color-success);
}

.rc-form__status--error {
	background-color: var(--color-error-bg);
	border-color: var(--color-error);
	color: var(--color-error);
}

/* --- Consent and actions -------------------------------------------- */

.rc-form__consent {
	padding-top: var(--space-1);
}

.rc-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

@media (max-width: 479px) {
	.rc-form__actions .rc-button {
		width: 100%;
	}
}

.rc-form__note {
	margin: 0;
	font-size: var(--text-small);
	line-height: var(--leading-normal);
	color: var(--color-text-muted);
}

/*
 * Honeypot. Positioned off-screen rather than display:none — some bots skip
 * fields that are explicitly hidden, which would defeat the trap.
 */
.rc-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
