.wrlf-form-wrap {
	max-width: 820px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 28px 32px 36px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: #222;
}
.wrlf-letterhead { text-align: center; border-bottom: 3px solid #7a1f2b; padding-bottom: 14px; margin-bottom: 20px; }
.wrlf-letterhead h2 { margin: 0 0 4px; font-size: 19px; color: #7a1f2b; letter-spacing: .5px; }
.wrlf-letterhead h3 { margin: 10px 0 4px; font-size: 18px; }
.wrlf-letterhead .wrlf-sub { margin: 2px 0; font-size: 13px; color: #555; }

.wrlf-form fieldset { border: 1px solid #e2e2e2; border-radius: 6px; padding: 16px 18px; margin-bottom: 18px; }
.wrlf-form legend { font-weight: 600; padding: 0 8px; color: #7a1f2b; }
.wrlf-row { display: flex; gap: 16px; flex-wrap: wrap; }
.wrlf-row > label { flex: 1 1 220px; }

.wrlf-form label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 12px; color: #333; }
.wrlf-form input[type=text],
.wrlf-form input[type=date],
.wrlf-form select,
.wrlf-form textarea {
	display: block;
	width: 100%;
	margin-top: 5px;
	padding: 9px 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 14px;
	box-sizing: border-box;
	font-family: inherit;
}
.wrlf-form textarea { resize: vertical; }

.wrlf-clause { background: #fbf6f2; border: 1px dashed #d8b6a3; padding: 14px 16px; border-radius: 6px; font-size: 13px; margin-bottom: 14px; }
.wrlf-clause ol { padding-left: 20px; margin: 8px 0; }
.wrlf-clause li { margin-bottom: 8px; }
.wrlf-clause .wrlf-note { text-align: center; font-weight: 700; margin: 10px 0 0; }

.wrlf-checkbox { display: flex; align-items: flex-start; gap: 8px; font-weight: 600; }
.wrlf-checkbox input { width: auto; margin-top: 3px; }

.wrlf-note { font-size: 12px; color: #777; font-style: italic; }

.wrlf-submit-btn {
	background: #7a1f2b;
	color: #fff;
	border: none;
	padding: 13px 26px;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.wrlf-submit-btn:hover { background: #5e1620; }

.wrlf-success { background: #eaf7ec; border: 1px solid #b8e0c0; color: #1e6b2c; padding: 18px 20px; border-radius: 6px; }
.wrlf-error { background: #fdecea; border: 1px solid #f3c0bb; color: #8a1f12; padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; }

.wrlf-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 600px) {
	.wrlf-form-wrap { padding: 18px; }
	.wrlf-row { flex-direction: column; gap: 0; }
}
