.pwcf-form-wrap {
	width: 100%;
	max-width: 100%;
	padding: var(--pwcf-form-padding, 18px);
	margin: var(--pwcf-form-margin, 0px);
	border: var(--pwcf-form-border-width, 1px) var(--pwcf-form-border-style, solid) var(--pwcf-form-border-color, #e2e2e2);
	border-radius: var(--pwcf-form-border-radius, 0px);
	background: var(--pwcf-form-background, #fafafa);
	box-sizing: border-box;
}

.pwcf-field {
	margin-bottom: 14px;
}

.pwcf-field-image {
	margin-bottom: 14px;
}

.pwcf-field-image .pwcf-image {
	max-width: 100%;
	height: auto;
	display: block;
}

.pwcf-image-caption {
	margin-top: 8px;
	font-size: 13px;
	color: #4f5b66;
}

.pwcf-field label {
	display: block;
	font-family: var(--pwcf-label-font-family, inherit);
	font-size: var(--pwcf-label-font-size, inherit);
	font-weight: var(--pwcf-label-font-weight, 600);
	line-height: var(--pwcf-label-line-height, 1.3);
	letter-spacing: var(--pwcf-label-letter-spacing, normal);
	margin-bottom: 6px;
}

.pwcf-field input,
.pwcf-field select,
.pwcf-field textarea {
	font-family: var(--pwcf-input-font-family, inherit);
	font-size: var(--pwcf-input-font-size, inherit);
	font-weight: var(--pwcf-input-font-weight, 400);
	line-height: var(--pwcf-input-line-height, 1.4);
	width: 100%;
	padding: 9px 10px;
	border: 1px solid #bbb;
	border-radius: 4px;
	box-sizing: border-box;
}

.pwcf-field textarea {
	resize: vertical;
	max-width: 100%;
}

.pwcf-select-help {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.35;
	color: #5f6b76;
}

.pwcf-file-help {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.35;
	color: #5f6b76;
}

.pwcf-submit {
	padding: 10px 16px;
	border: 0;
	border-radius: 4px;
	background: #0a4f7a;
	color: #fff;
	cursor: pointer;
}

.pwcf-message {
	padding: 10px 12px;
	margin-bottom: 12px;
	border-radius: 4px;
}

.pwcf-success {
	background: #e7f8ef;
	color: #15522b;
}

.pwcf-error {
	background: #fdecec;
	color: #741f1f;
}

.pwcf-layout-columns {
	display: grid;
	gap: 12px;
	margin-bottom: 14px;
}

.pwcf-layout-columns .pwcf-col {
	min-width: 0;
}

.pwcf-layout-columns .pwcf-col .pwcf-field {
	margin-bottom: 0;
}

.pwcf-layout-columns.pwcf-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pwcf-layout-columns.pwcf-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pwcf-layout-columns.pwcf-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pwcf-layout-tabs {
	margin-bottom: 14px;
	border: 1px solid #d9d9d9;
	background: #fff;
}

.pwcf-layout-tabs.is-vertical {
	display: grid;
	grid-template-columns: 220px 1fr;
}

.pwcf-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px;
	border-bottom: 1px solid #e6e6e6;
	background: #f7f7f7;
}

.pwcf-layout-tabs.is-vertical .pwcf-tabs-nav {
	flex-direction: column;
	align-items: stretch;
	border-right: 1px solid #e6e6e6;
	border-bottom: 0;
}

.pwcf-layout-tabs.is-vertical .pwcf-tab-button {
	text-align: left;
}

.pwcf-tab-button {
	border: 1px solid #c6c6c6;
	background: #fff;
	padding: 8px 10px;
	cursor: pointer;
	font-weight: 600;
}

.pwcf-tab-button.is-active {
	border-color: #0a4f7a;
	background: #e8f2f8;
	color: #0a4f7a;
}

.pwcf-tabs-panels {
	padding: 12px;
}

.pwcf-layout-tabs.is-vertical .pwcf-tabs-panels {
	padding: 12px;
}

.pwcf-tab-panel {
	display: none;
}

.pwcf-tab-panel.is-active {
	display: block;
}

@media (max-width: 900px) {
	.pwcf-layout-columns.pwcf-cols-2,
	.pwcf-layout-columns.pwcf-cols-3,
	.pwcf-layout-columns.pwcf-cols-4 {
		grid-template-columns: 1fr;
	}

	.pwcf-layout-tabs.is-vertical {
		display: block;
	}

	.pwcf-layout-tabs.is-vertical .pwcf-tabs-nav {
		border-right: 0;
		border-bottom: 1px solid #e6e6e6;
	}
}
