.formbuilder-modal-open {
	overflow: hidden;
}

.formbuilder-trigger-form {
	display: inline;
	margin: 0;
}

.formbuilder-dialog {
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: hidden;
}

.formbuilder-dialog::backdrop {
	background: rgba(0, 0, 0, 0.72);
}

.formbuilder-dialog__panel {
	--formbuilder-width: 600px;
	--formbuilder-max-height: 90vh;
	position: fixed;
	left: 50%;
	top: 50%;
	width: min(var(--formbuilder-width), 95vw);
	max-height: var(--formbuilder-max-height);
	transform: translate(-50%, -50%);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

.formbuilder-dialog__frame {
	display: block;
	width: 100%;
	height: min(600px, var(--formbuilder-max-height));
	max-height: var(--formbuilder-max-height);
	border: 0;
	background: #fff;
}

.formbuilder-dialog__close {
	position: absolute;
	z-index: 2;
	top: 10px;
	right: 12px;
	width: 38px;
	height: 38px;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: transparent;
	cursor: pointer;
}

.formbuilder-dialog__close::before,
.formbuilder-dialog__close::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 18px;
	width: 18px;
	height: 2px;
	background: #222;
	transform: rotate(45deg);
}

.formbuilder-dialog__close::after {
	transform: rotate(-45deg);
}

.formbuilder-dialog__close:focus-visible {
	outline: 3px solid #196db6;
	outline-offset: 2px;
}

.formbuilder-dialog.has-animation[open] .formbuilder-dialog__panel {
	animation: formbuilder-modal-in 160ms ease-out;
}

@keyframes formbuilder-modal-in {
	from { opacity: 0; transform: translate(-50%, -48%) scale(0.98); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.formbuilder-dialog.is-mobile .formbuilder-dialog__panel {
		inset: 0;
		width: 100vw;
		height: 100dvh;
		max-height: none;
		transform: none;
		border-radius: 0;
}

.formbuilder-dialog.is-mobile .formbuilder-dialog__frame {
		height: 100dvh !important;
		max-height: none;
}

@media (prefers-reduced-motion: reduce) {
	.formbuilder-dialog.has-animation[open] .formbuilder-dialog__panel {
		animation: none;
	}
}
