.rco-wrap {
	box-sizing: border-box;
	max-width: 760px;
	margin: 2rem auto;
	padding: clamp(1rem, 4vw, 2rem);
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #fff;
	color: #1d2327;
}

.rco-wrap *, .rco-wrap *::before, .rco-wrap *::after { box-sizing: border-box; }
.rco-wrap h2 { margin-top: 0; }
.rco-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.rco-form label, .rco-form legend { font-weight: 600; }
.rco-form input[type="text"],
.rco-form input[type="email"],
.rco-form input[type="tel"],
.rco-form textarea,
.rco-form select {
	display: block;
	width: 100%;
	margin-top: .35rem;
	padding: .7rem .8rem;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font: inherit;
}

.rco-form fieldset { margin: 0; padding: 1rem; border: 1px solid #dcdcde; border-radius: 4px; }
.rco-form .rco-check { display: block; margin-top: .75rem; font-weight: 400; }
.rco-form .rco-check input { margin-right: .4rem; }
.rco-form button {
	justify-self: start;
	padding: .75rem 1.2rem;
	border: 0;
	border-radius: 4px;
	background: #2271b1;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.rco-form button:hover, .rco-form button:focus { background: #135e96; }
.rco-form .rco-confirm { background: #16752d; }
.rco-form .rco-confirm:hover, .rco-form .rco-confirm:focus { background: #0d5f21; }
.rco-message { margin: 1rem 0; padding: .9rem 1rem; border-left: 4px solid #2271b1; background: #f0f6fc; }
.rco-error { border-color: #d63638; background: #fcf0f1; }
.rco-warning { border-color: #dba617; background: #fcf9e8; }
.rco-success { border-color: #00a32a; background: #edfaef; }
.rco-help, .rco-declaration { margin: 0; font-size: .92em; color: #50575e; }
.rco-declaration { padding: .8rem; background: #f6f7f7; }
.rco-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 600px) {
	.rco-wrap { margin: 1rem 0; border-radius: 0; }
	.rco-form button { width: 100%; }
}
