.d13mon-form-wrap {
	background-color: var(--d13-bg-color, #fff);
	color: var(--d13-text-color, #1a1a1a);
	font-family: var(--d13-font, inherit);
	max-width: var(--d13-form-max-width, 640px);
	margin: 0 auto;
	padding: var(--d13-form-padding, 32px);
	border-radius: var(--d13-form-radius, 14px);
	box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.06);
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.d13mon-form-wrap::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--d13-bg-image, none);
	background-size: var(--d13-bg-size, cover);
	background-position: center;
	background-repeat: no-repeat;
	opacity: var(--d13-bg-opacity, 1);
	z-index: 0;
}
.d13mon-form-wrap > form {
	position: relative;
	z-index: 1;
}
.d13mon-form-wrap * { box-sizing: border-box; }

.d13mon-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--d13-field-spacing, 18px);
}
.d13mon-field { grid-column: span 6; display: flex; flex-direction: column; }
.d13mon-w-half { grid-column: span 3; }
.d13mon-w-third { grid-column: span 2; }

@media (max-width: 600px) {
	.d13mon-w-half, .d13mon-w-third { grid-column: span 6; }
	.d13mon-form-wrap { padding: calc(var(--d13-form-padding, 32px) * 0.6); }
}

.d13mon-field label,
.d13mon-fieldset-label {
	color: var(--d13-label-color, #1a1a1a);
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
}
.d13mon-req { color: #e02424; }

.d13mon-field input[type="text"],
.d13mon-field input[type="email"],
.d13mon-field input[type="tel"],
.d13mon-field input[type="url"],
.d13mon-field input[type="number"],
.d13mon-field input[type="date"],
.d13mon-field select,
.d13mon-field textarea {
	background: var(--d13-field-bg, #fff);
	border: 1px solid var(--d13-field-border, #d6d8dc);
	border-radius: var(--d13-field-radius, 8px);
	padding: var(--d13-field-padding, 12px);
	font-size: 15px;
	color: inherit;
	width: 100%;
	transition: border-color .15s ease, box-shadow .15s ease;
	font-family: inherit;
}
.d13mon-field textarea { resize: vertical; }

.d13mon-field input:focus,
.d13mon-field select:focus,
.d13mon-field textarea:focus {
	outline: none;
	border-color: var(--d13-accent, #2563eb);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--d13-accent, #2563eb) 20%, transparent);
}

.d13mon-choice-group { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.d13mon-choice { display: flex; align-items: center; gap: 6px; font-weight: 400; font-size: 14px; }
.d13mon-choice input { accent-color: var(--d13-accent, #2563eb); width: 16px; height: 16px; }

.d13mon-submit-btn {
	margin-top: var(--d13-field-spacing, 18px);
	background: var(--d13-btn-bg, #2563eb);
	color: var(--d13-btn-text, #fff);
	border: none;
	border-radius: var(--d13-btn-radius, 8px);
	padding: 13px 28px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: transform .1s ease, opacity .15s ease;
}
.d13mon-submit-btn:hover { opacity: .92; }
.d13mon-submit-btn:active { transform: scale(0.98); }
.d13mon-submit-btn[disabled] { opacity: .6; cursor: default; }

.d13mon-form-message {
	margin-top: 14px;
	font-size: 14px;
	display: none;
	padding: 10px 14px;
	border-radius: 8px;
}
.d13mon-form-message.is-success { display: block; background: #ecfdf3; color: #067647; }
.d13mon-form-message.is-error { display: block; background: #fef3f2; color: #b42318; }

.d13mon-hp-wrap { position: absolute; left: -9999px; top: -9999px; }
