.phm-resource-popup[hidden],
.phm-resource-popup [hidden] {
	display: none !important;
}

.phm-resource-popup {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	padding: 24px;
	font-family: Manrope, Arial, sans-serif;
}

.phm-resource-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 42, 43, 0.74);
	backdrop-filter: blur(4px);
}

.phm-resource-popup__dialog {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	box-sizing: border-box;
	padding: 40px;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 64px rgba(15, 42, 43, 0.22);
	color: #0f2a2b;
}

.phm-resource-popup__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 10;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #0f2a2b;
	font: 400 30px/40px Arial, sans-serif;
	cursor: pointer;
}

.phm-resource-popup__close:hover {
	background: #f2f5f4;
}

.phm-resource-popup__close:focus-visible {
	outline: 2px solid #0f2a2b;
	outline-offset: 2px;
}

.phm-resource-popup__form,
.phm-dynamics-form,
.phm-dynamics-form form {
	width: 100%;
	min-width: 0;
	margin: 0 !important;
	box-sizing: border-box;
}

.phm-dynamics-form form {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.phm-dynamics-form :is(h1, h2) {
	margin: 0 48px 12px 0 !important;
	color: #0f2a2b !important;
	font-family: Manrope, Arial, sans-serif !important;
	font-size: clamp(28px, 4vw, 40px) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
}

.phm-dynamics-form :is(p, .textWrapper) {
	color: #526866;
	font-family: Manrope, Arial, sans-serif;
	line-height: 1.55;
}

.phm-dynamics-form label {
	display: block;
	margin: 0 0 8px !important;
	color: #0f2a2b !important;
	font: 700 14px/20px Manrope, Arial, sans-serif !important;
}

.phm-dynamics-form input:not([type="checkbox"]):not([type="radio"]),
.phm-dynamics-form select,
.phm-dynamics-form textarea {
	width: 100% !important;
	min-height: 48px !important;
	padding: 11px 14px !important;
	box-sizing: border-box !important;
	border: 1px solid #9fb3b0 !important;
	border-radius: 4px !important;
	background: #fff !important;
	background-image: none !important;
	color: #0f2a2b !important;
	font: 500 16px/24px Manrope, Arial, sans-serif !important;
	box-shadow: none !important;
}

.phm-dynamics-form textarea {
	min-height: 120px !important;
	resize: vertical;
}

.phm-dynamics-form input:focus,
.phm-dynamics-form select:focus,
.phm-dynamics-form textarea:focus {
	border-color: #087f68 !important;
	outline: 3px solid rgba(8, 127, 104, 0.16) !important;
	outline-offset: 0 !important;
}

.phm-dynamics-form input[type="checkbox"],
.phm-dynamics-form input[type="radio"] {
	accent-color: #087f68;
}

.phm-dynamics-form button[type="submit"],
.phm-dynamics-form input[type="submit"] {
	min-height: 48px !important;
	padding: 12px 28px !important;
	border: 1px solid #087f68 !important;
	border-radius: 6px !important;
	background: #087f68 !important;
	background-image: none !important;
	color: #fff !important;
	font: 800 16px/24px Manrope, Arial, sans-serif !important;
	box-shadow: none !important;
	cursor: pointer;
}

.phm-dynamics-form button[type="submit"]:hover,
.phm-dynamics-form input[type="submit"]:hover {
	border-color: #066955 !important;
	background: #066955 !important;
}

.phm-dynamics-form button[type="submit"]:focus-visible,
.phm-dynamics-form input[type="submit"]:focus-visible {
	outline: 2px solid #0f2a2b !important;
	outline-offset: 3px !important;
}

.phm-dynamics-form :is(.error, .errorMessage, .field-validation-error, [role="alert"]) {
	position: static !important;
	display: block !important;
	min-height: 16px;
	margin: 6px 0 0 !important;
	color: #b42318 !important;
	font: 500 12px/16px Manrope, Arial, sans-serif !important;
}

.phm-dynamics-form :is(.textFormFieldBlock, [data-editorblocktype="Text"]):has(input[name="resource_id"]),
.phm-dynamics-form :is(.textFormFieldBlock, [data-editorblocktype="Text"]):has(input[name="page_url"]),
.phm-dynamics-form :is(.textFormFieldBlock, [data-editorblocktype="Text"]):has(input[name="campaign_source"]) {
	display: none !important;
}

.phm-trial-stages [data-phm-trial-stage] {
	min-width: 0;
}

.phm-resource-popup-open {
	overflow: hidden;
}

.phm-resource-popup.phm-popup--success .phm-resource-popup__form {
	margin: 0;
}

.phm-form-success {
	padding: 48px 24px 40px;
	text-align: center;
}

.phm-form-success__title {
	display: block;
	margin: 0;
	color: #127d40;
	font: 800 30px/38px Manrope, Arial, sans-serif;
}

.phm-form-success__copy {
	max-width: 560px;
	margin: 8px auto 0;
	color: #405956;
	font: 500 16px/24px Manrope, Arial, sans-serif;
	text-align: center;
}

@media (max-width: 720px) {
	.phm-resource-popup {
		align-items: end;
		padding: 0;
	}
	.phm-resource-popup__dialog {
		width: 100%;
		max-height: 94vh;
		padding: 32px 20px;
		border-radius: 8px 8px 0 0;
	}
	.phm-dynamics-form :is(h1, h2) {
		font-size: 28px !important;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.phm-resource-popup__dialog {
		animation: phm-popup-in 180ms ease-out;
	}
	@keyframes phm-popup-in {
		from { opacity: 0; transform: translateY(12px); }
		to { opacity: 1; transform: translateY(0); }
	}
}

/* PHM_FORMS_STANDARD_V1: shared layout for Dynamics and news gate forms. */
.phm-dynamics-form.phm-form-standard { color:#0f2a2b; font-family:Manrope,Arial,sans-serif; }
.phm-form-standard :is([data-layout],.innerSection,.columnContainer,[data-section]) { width:100%!important; max-width:100%!important; min-width:0!important; flex-basis:auto!important; }
.phm-form-standard .columnContainer { margin-bottom:0!important; padding:0!important; }
.phm-form-standard .phm-form-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; margin:24px 0 0; }
.phm-form-standard .phm-form-name-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.phm-form-standard .phm-form-fields [data-editorblocktype] { margin:0!important;padding:0!important;min-width:0;gap:8px; }
.phm-form-standard .phm-form-fields label { flex:none!important;margin:0!important; }
.phm-form-standard label br { display:none; }
.phm-form-standard .phm-form-fields input:not([type=checkbox]):not([type=radio]) { flex:none!important;height:48px!important; }
.phm-form-standard .phm-form-fields textarea { height:120px!important; }
.phm-form-standard .phm-form-fields .twooption_checkbox>div { align-items:flex-start!important;gap:12px!important; }
.phm-form-standard .phm-form-fields input[type=checkbox] { flex:0 0 20px;width:20px;height:20px;margin:2px 0 0; }
.phm-form-standard .phm-form-fields input[type=checkbox]+label { font-weight:400!important; }
.phm-form-standard .phm-form-fields .submitButtonWrapper { text-align:left!important; }
.phm-form-standard .phm-form-fields button[type=submit] { display:block!important;width:100%!important;margin:0!important; }
.phm-form-standard .phm-form-privacy { margin:16px 0 0!important;font:400 13px/20px Manrope,Arial,sans-serif!important;text-align:left!important; }
.phm-form-standard .phm-form-privacy a { text-decoration:underline!important;color:#0f2a2b!important; }
.phm-form-standard .phm-form-intro h2 { font-size:28px!important;line-height:36px!important; }
.phm-form-standard .phm-form-intro p { margin:8px 0 0!important;text-align:left!important; }
.phm-gate-modal__dialog { width:min(640px,100%)!important;max-height:calc(100dvh - 48px)!important;overflow:auto!important;padding:32px!important;box-sizing:border-box!important; }
.phm-gate-modal__dialog>h2 { padding-right:40px;font-size:28px!important;line-height:36px!important;margin:0 0 12px!important; }
.phm-gate-modal__dialog>p { margin:0!important; }
.phm-gate-modal__close { min-width:44px;min-height:44px; }
.phm-gate-form-source>p:empty { display:none; }
@media(max-width:600px) { .phm-form-standard .phm-form-name-row{grid-template-columns:minmax(0,1fr)} .phm-gate-modal__dialog{padding:24px!important;max-height:calc(100dvh - 32px)!important} .phm-gate-modal{padding:16px!important} }

.phm-form-standard .phm-form-name-row { padding:0!important; }

/* News popup: fill the content area with equal side margins. */
.phm-gate-modal .phm-dynamics-form form.marketingForm { width:100%!important; max-width:100%!important; min-width:0!important; }

/* Form headings align with the fields across enquiry, resource and trial forms. */
.phm-dynamics-form :is(h1,h2,h3), .phm-form-standard .phm-form-intro :is(h1,h2,h3), .phm-gate-modal__dialog > h2, .phm-form-success :is(h1,h2,h3) { text-align:left!important; }

/* Contact page: align the inline enquiry introduction with the form. */
.phm-contact-form-section .phm-contact-form-intro, .phm-contact-form-section .phm-contact-form-intro h2, .phm-contact-form-section .phm-contact-form-intro p { text-align:left!important; }

.phm-contact-form-section .phm-contact-form-intro { max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important; }
