fieldset
{
	margin: 1rem 0;
	padding: 1rem;
	border: solid 1px grey;
	max-width: 90vw;
}

legend { font-weight: bold; }

.form-label
{
	margin: 0.5rem 0 0.25rem 0;
	display: flex;
	flex-direction: row;
	gap: 0.3rem;
	width: 65ch;
}
.form-text {
	margin: 0.5rem 0 0.25rem 0;
}
input,
textarea
{
	display: block;
	height: 2rem;
	background-color: #fff;
	border: 2px solid #666;
	border-radius: 0;
	font-family: var(--sans);
	font-size: 1rem;
	line-height: 1.5rem;
	padding: 8px;
}

textarea
{
	min-height: 100px;
	resize: horizontal;
}

input:focus,

textarea:focus { border: solid 2px var(--dark-green); }

textarea, select, input[type="text"], input[type="email"], input[type="telephone"]
{
	border: solid 2px #666;
	width: 95%;
}

select
{
	display: block;
	border: 2px solid #666;
	border-radius: 0px;
	font-family: system-ui, -apple-system, sans-serif;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.4;
	color: #222;
	background-color: #fff;
	padding: 0.4rem 0.6rem;
}

.form-row {
  display: flex;
  gap: 1.5rem;
}

.radio-option {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.radio-option input[type="radio"], .radio-option input[type="checkbox"] {
  margin: 0 1rem;
}

button[type="submit"]
{
	background: var(--dark-green);
	color: #fff;
	font-family: var(--sans);
	font-weight: bold;
	padding: 0.7em 2em;
	font-size: 1.1em;
	border: none;
	border-radius: 7px;
	cursor: pointer;
	margin: 1.5rem 0;
	transition: background 0.18s;
}

button[type="submit"]:hover { background: var(--lime-green); }

@media (min-width: 768px)
{
	textarea, select, input[type="text"], input[type="email"], input[type="telephone"] { width: 70%; }
}