
body.cfm-modal-open{overflow:hidden}
.cfm-modal[hidden]{display:none!important}
.cfm-modal{
	position:fixed;
	inset:0;
	z-index:100000;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	padding:7vh 18px 30px;
	overflow:auto;
}
.cfm-modal-backdrop{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.28);
}
.cfm-modal-dialog{
	position:relative;
	z-index:1;
	width:min(520px,100%);
	background:var(--cfm-modal-bg,#fff);
	padding:22px 18px 18px;
	box-shadow:0 12px 40px rgba(0,0,0,.12);
}
.cfm-modal-close{
	position:absolute;
	top:8px;
	right:10px;
	width:34px;
	height:34px;
	border:0;
	background:transparent;
	color:#444;
	font-size:24px;
	line-height:1;
	cursor:pointer;
}
.cfm-form-wrap{width:100%}
.cfm-form-title{
	margin:0 36px 18px;
	text-align:center;
	color:var(--cfm-title-color,#111);
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:24px;
	font-weight:500;
	line-height:1.2;
}
.cfm-form{width:100%}
.cfm-form-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px 8px;
}
.cfm-field{
	min-width:0;
	display:grid;
	gap:5px;
}
.cfm-width-full{grid-column:1/-1}
.cfm-width-half{grid-column:auto}
.cfm-field>label{
	color:var(--cfm-label-color,#111);
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:11px;
	font-weight:500;
	line-height:1.2;
}
.cfm-required{color:#d83045;margin-left:2px}
.cfm-field input:not([type="checkbox"]):not([type="file"]),
.cfm-field select,
.cfm-field textarea{
	width:100%;
	min-height:36px;
	border:1px solid var(--cfm-field-border,#e2e2e2);
	background:var(--cfm-field-bg,#fff);
	color:var(--cfm-field-color,#111);
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:12px;
	padding:8px 10px;
	border-radius:0;
	outline:none;
}
.cfm-field textarea{
	min-height:82px;
	resize:vertical;
}
.cfm-field input:focus,
.cfm-field select:focus,
.cfm-field textarea:focus{border-color:#777}
.cfm-file-control{
	min-height:36px;
	border:1px solid var(--cfm-field-border,#e2e2e2);
	background:var(--cfm-field-bg,#fff);
	display:flex!important;
	align-items:center;
	padding:6px 10px;
	cursor:pointer;
}
.cfm-file-control input{position:absolute;opacity:0;pointer-events:none}
.cfm-file-text{
	font-size:12px;
	color:#777;
}
.cfm-checkbox-control{
	display:flex!important;
	align-items:flex-start;
	gap:8px;
}
.cfm-honeypot{
	position:absolute!important;
	left:-99999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
}
.cfm-form-response{
	min-height:18px;
	margin-top:10px;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:12px;
}
.cfm-form-response.is-error{color:#b42318}
.cfm-form-response.is-success{color:#137547}
.cfm-submit-button{
	width:100%;
	min-height:42px;
	margin-top:8px;
	border:0;
	background:var(--cfm-submit-bg,#12072D);
	color:var(--cfm-submit-color,#fff);
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:12px;
	font-weight:400;
	cursor:pointer;
}
.cfm-submit-button:disabled{opacity:.6;cursor:wait}

@media(max-width:620px){
	.cfm-modal{padding:18px 10px}
	.cfm-modal-dialog{width:100%;padding:20px 14px 14px}
	.cfm-form-grid{grid-template-columns:1fr}
	.cfm-width-half,.cfm-width-full{grid-column:1/-1}
}


/* v1.4 — globally available popup forms */
.cfm-global-modals{
	position:static;
	width:0;
	height:0;
	overflow:visible;
}
.cfm-modal-dialog{
	max-height:calc(100vh - 40px);
	overflow:auto;
}
@media(min-width:621px){
	.cfm-modal-dialog{
		width:min(560px,calc(100vw - 36px));
		padding:22px 20px 20px;
	}
}
