/* Contact form — matches fixthinks-theme tokens */

.richet-contact-form {
	background: var(--ft-card, #fff);
	border: 2px solid var(--ft-ink, #1c2440);
	border-radius: var(--ft-r-md, 16px);
	padding: 28px;
	box-shadow: var(--ft-shadow-pop, 0 2px 0 #1c2440);
	max-width: 640px;
}

.richet-contact-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
}

@media (max-width: 560px) {
	.richet-contact-form__grid { grid-template-columns: 1fr; }
}

.richet-contact-form__field--full { grid-column: 1 / -1; }

.richet-contact-form__field span {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--ft-ink, #1c2440);
}

.richet-contact-form__field .req {
	color: var(--ft-coral, #ff6b6b);
	font-style: normal;
}

.richet-contact-form__field input,
.richet-contact-form__field textarea {
	width: 100%;
	max-width: none;
}

.richet-contact-form__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
	opacity: 0;
}

.richet-contact-form__msg {
	margin-top: 14px;
	font-size: 15px;
	min-height: 1.2em;
	color: var(--ft-ink-soft, #4a5275);
}

.richet-contact-form__msg--ok { color: var(--ft-mint, #7bd389); font-weight: 600; }
.richet-contact-form__msg--err { color: var(--ft-coral, #ff6b6b); }
