/**
 * Quote request form styles — matches Hawksbury theme tokens.
 */

.quote-form-wrap {
	max-width: 40rem;
}

.quote-notice {
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	border-radius: 8px;
	font-weight: 500;
}

.quote-notice--success {
	background: #e8f0eb;
	color: #254739;
	border: 1px solid #c5d9cc;
}

.quote-notice--error {
	background: #fdf0ed;
	color: #7a2e2e;
	border: 1px solid #f0c9c0;
}

.quote-form__grid {
	display: grid;
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}

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

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

.quote-form__field label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.9375rem;
	font-weight: 600;
}

.quote-form__field .required {
	color: #c98a43;
}

.quote-form__field input[type="text"],
.quote-form__field input[type="email"],
.quote-form__field input[type="tel"],
.quote-form__field input[type="file"],
.quote-form__field select,
.quote-form__field textarea {
	width: 100%;
	padding: 0.625rem 0.75rem;
	font-family: inherit;
	font-size: 1rem;
	border: 1px solid #e7e1d4;
	border-radius: 6px;
	background: #fff;
}

.quote-form__field textarea {
	resize: vertical;
	min-height: 5rem;
}

.quote-form__checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 400;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.quote-form__checkbox input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.quote-form .btn {
	border: none;
	cursor: pointer;
}
