.el-group-form-slot, .el-table-form-slot {
	font-family: 'Jost', sans-serif;
	color: #141414;
}
.el-gf-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 20px;
}
.el-gf-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}
.el-gf-wide { grid-column: 1 / -1; }
.el-gf-field > span {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #4E6247;
}
.el-gf-field em { font-style: normal; color: #A8874C; }
.el-gf-field small { text-transform: none; letter-spacing: 0; color: #8a8a83; font-size: 12px; }
.el-gf input,
.el-gf select,
.el-gf textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border: 1px solid #D8CFBC !important;
	border-radius: 3px;
	background-color: #FFFFFF !important;
	color: #141414;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
	min-height: 52px;
}
.el-gf input::placeholder,
.el-gf textarea::placeholder { color: #9a9a92; opacity: 1; }
.el-gf select {
	background-image: linear-gradient(45deg, transparent 50%, #4E6247 50%), linear-gradient(135deg, #4E6247 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 40px;
	cursor: pointer;
}
.el-gf textarea { resize: vertical; min-height: 110px; }
.el-gf input:focus,
.el-gf select:focus,
.el-gf textarea:focus {
	outline: none;
	border-color: #4E6247 !important;
	box-shadow: 0 0 0 3px rgba(78, 98, 71, 0.15);
}
.el-gf-field.has-error input,
.el-gf-field.has-error select,
.el-gf-field.has-error textarea { border-color: #B4442F !important; }
.el-gf-err { color: #B4442F !important; font-size: 13px !important; }
.el-gf .el-gf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.el-gf-hint {
	margin: -4px 0 0;
	padding: 12px 14px;
	background: #F1EDE4;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.55;
	color: #3d3d38;
}
.el-gf-hint[hidden] { display: none; }
.el-gf-hint a, .el-gf-note a { color: #4E6247; font-weight: 500; }
.el-gf-status { margin: 18px 0 0; font-size: 14px; min-height: 1px; }
.el-gf-status.is-error { color: #B4442F; }
.el-gf-submit {
	margin-top: 14px;
	width: 100%;
	padding: 17px 24px;
	border: 0;
	border-radius: 2px;
	background: #141414;
	color: #FAF8F3;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s ease, transform 0.3s ease;
}
.el-gf-submit:hover { background: #4E6247; transform: translateY(-2px); }
.el-gf-submit:disabled { opacity: 0.6; cursor: wait; transform: none; }
.el-gf-note { margin: 14px 0 0; font-size: 13px; line-height: 1.6; color: #6b6b66; }
.el-gf-done {
	padding: 36px 32px;
	border-radius: 4px;
	background: #F1EDE4;
	border-left: 4px solid #4E6247;
	font-size: 16px;
	line-height: 1.7;
}
.el-gf-done p { margin: 0 0 10px; }
.el-gf-done-title { font-size: 24px; font-weight: 400; margin: 0 0 8px; color: #27321F; }
.el-gf-done-summary { font-weight: 500; color: #27321F; }
.el-gf-done a { color: #4E6247; font-weight: 500; }
.el-gf-done .el-gf-done-small { margin: 18px 0 0; font-size: 14px; color: #55554f; }
.el-gf-wa-box {
	margin: 20px 0 0;
	padding: 18px 20px;
	background: #FFFFFF;
	border: 1px solid #D8CFBC;
	border-radius: 4px;
}
.el-gf-done .el-gf-wa-lead { margin: 0 0 12px; font-size: 15px; line-height: 1.55; color: #3d3d38; }
html body .el-gf-done a.el-gf-wa,
html body .el-gf-done a.el-gf-wa:visited {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 22px;
	border-radius: 999px;
	background: #25D366;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}
html body .el-gf-done a.el-gf-wa:hover { background: #1EBE5A; transform: translateY(-1px); }
.el-gf-wa img { width: 20px; height: 20px; display: block; filter: invert(1); }
@media (max-width: 767px) {
	.el-gf-grid { grid-template-columns: 1fr; gap: 16px; }
	.el-gf-done { padding: 26px 20px; }
	html body .el-gf-done a.el-gf-wa { display: flex; justify-content: center; }
}
