/* ==========================================================================
   AX Careers — Newsletter Pop-up  (Figma node 2373-40)
   Printed at wp_footer (outside Enfold's #top wrapper), so selectors are
   body-prefixed instead of the usual #top prefix.
   ========================================================================== */

/* ---------- overlay + panel ------------------------------------------- */

body .ax-npop {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

body .ax-npop[hidden] {
	display: none;
}

body .ax-npop__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.25s ease;
	cursor: pointer;
}

body .ax-npop.is-open .ax-npop__overlay {
	opacity: 1;
}

body .ax-npop__panel {
	position: relative;
	width: 694px;
	max-width: 100%;
	opacity: 0;
	transform: translateY(14px) scale(0.97);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

body .ax-npop.is-open .ax-npop__panel {
	opacity: 1;
	transform: none;
}

/* ---------- close button (white circle + X, floating above card) ------ */

body .ax-npop__close {
	position: absolute;
	top: -83px;
	left: 50%;
	transform: translateX(-50%);
	width: 65px;
	height: 65px;
	border-radius: 50%;
	background: #ffffff !important;
	border: none !important;
	padding: 0 !important;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
	transition: transform 0.18s ease;
}

body .ax-npop__close:hover {
	transform: translateX(-50%) scale(1.06);
}

body .ax-npop__close svg {
	display: block;
}

/* ---------- card ------------------------------------------------------- */

body .ax-npop__card {
	position: relative;
	background: #ffffff;
	border-radius: 24px;
	min-height: 422px;
	padding: 52px 60px 56px 67px;
	overflow: visible;
}

body .ax-npop__title {
	margin: 0 0 30px !important;
	padding: 0;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
	font-size: 35px !important;
	line-height: 1.117 !important;
	color: #444192 !important;
}

/* ---------- mobile-only description (Figma 1549-2828) ------------------- */

body .ax-npop__desc {
	display: none;
	margin: -14px 0 24px !important;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.74;
	color: #292929;
}

/* ---------- Gravity Forms restyle -------------------------------------- */

body .ax-npop__form .gform_wrapper {
	margin: 0;
}

body .ax-npop__form .gform_heading,
body .ax-npop__form .gform_footer,
body .ax-npop__form .gform-footer,
body .ax-npop__form .gform_ajax_spinner,
body .ax-npop__form .gfield_required,
body .ax-npop__form .gfield_label:not(.gform-field-label--type-inline) {
	display: none !important;
}

body .ax-npop__form .gform_body .gform_fields {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	grid-template-columns: none !important;
	gap: 28px 33px !important;
}

body .ax-npop__form .gfield {
	grid-column: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 224px;
}

/* text + email pills */
body .ax-npop__form .gfield input[type="text"],
body .ax-npop__form .gfield input[type="email"] {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 47px !important;
	padding: 0 24px !important;
	background: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.6) !important;
	border-radius: 77px !important;
	font-size: 15px !important;
	font-weight: 500;
	color: #292929 !important;
	font-family: Inter !important;
	line-height: 47px;
}

body .ax-npop__form .gfield input[type="text"]::placeholder,
body .ax-npop__form .gfield input[type="email"]::placeholder {
	color: rgba(41, 41, 41, 0.5) !important;
	opacity: 1;
}

body .ax-npop__form .gfield input[type="text"]:focus,
body .ax-npop__form .gfield input[type="email"]:focus {
	border-color: #444192 !important;
	outline: none !important;
}

/* consent — full row, purple circle checkbox */
body .ax-npop__form .gfield--type-consent,
body .ax-npop__form .gfield.ax-npop-consent {
	width: 100%;
	flex-basis: 100%;
}

body .ax-npop__form .ginput_container_consent {
	display: flex;
	align-items: start;
	gap: 15px;
}

body .ax-npop__form .ginput_container_consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	flex: 0 0 24px;
	width: 24px !important;
	height: 24px !important;
	margin: 1px 0 0 !important;
	background: #ffffff;
	border: 1px solid #000000 !important;
	border-radius: 30px !important;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

body .ax-npop__form .ginput_container_consent input[type="checkbox"]:checked {
	background: #444192;
	border-color: #444192 !important;
}

body .ax-npop__form .ginput_container_consent input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 4px;
    width: 6px;
    height: 11px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body .ax-npop__form .gfield_consent_label br {
    display: block !important;
    margin-bottom: 10px !important;
}

body .ax-npop__form .ginput_container_consent input[type="checkbox"]:focus-visible {
	outline: 2px solid #444192;
	outline-offset: 2px;
}

body .ax-npop__form .ginput_container_consent .gfield_consent_label, body .ax-npop__form .ginput_container_consent .gform-field-label--type-inline {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.55;
    color: #1a1a1a;
    cursor: pointer;
    max-width: 300px;
    margin-left: 12px;
}

body .ax-npop__form .gfield.gfield_error input {
	border-color: #e0413f !important;
}

/* validation */
body .ax-npop__form .gfield_validation_message,
body .ax-npop__form .validation_message {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	font-size: 12px !important;
	color: #c02b0a !important;
}

body .ax-npop__form .gform_validation_errors {
	display: none !important;
}

body .ax-npop__form .gfield_error input {
	border-color: #c02b0a !important;
}

/* hide GF confirmation text — the green button is the feedback */
body .ax-npop__form .gform_confirmation_message {
	display: none !important;
}

/* ---------- fine print (Gravity Forms field/consent description) -------- */

body .ax-npop__form .gfield_description:not(.validation_message),
body .ax-npop__form .gfield_consent_description {
	max-width: 393px;
	margin: 14px 0 0 39px !important;
	padding: 0 !important;
	border: none !important;
	max-height: none !important;
	overflow: visible !important;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.55;
	color: #1a1a1a;
}

/* ---------- submit button ----------------------------------------------- */

body .ax-npop__submit {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 203px;
    height: 51px;
    margin-top: 44px;
    padding: 0 5px 0 30px !important;
    background: #444192 !important;
    border: 1px solid #444192 !important;
    border-radius: 77px !important;
    cursor: pointer;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.18s ease;
}

body .ax-npop__submit:hover {
	transform: translateY(-1px);
}

body .ax-npop__submit-label {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #ffffff !important;
	white-space: nowrap;
}

body .ax-npop__submit-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	flex: 0 0 auto;
}

body .ax-npop__submit-icon--check {
	display: none;
}

body .ax-npop__submit.is-busy {
	opacity: 0.75;
	pointer-events: none;
}

/* ---------- completed feedback state ------------------------------------ */

body .ax-npop.is-done .ax-npop__submit {
	background: #00bd87 !important;
	border-color: #00bd87 !important;
	justify-content: center;
	padding: 0 24px !important;
	pointer-events: none;
}

body .ax-npop.is-done .ax-npop__submit-icon--send {
	display: none;
}

body .ax-npop.is-done .ax-npop__submit-icon--check {
    display: flex;
    position: relative;
    left: 14px;
}

body .ax-npop.is-done .ax-npop__form {
	opacity: 0.24;
	pointer-events: none;
}

/* ---------- paper-plane art ---------------------------------------------- */

body .ax-npop__art {
	position: absolute;
	right: -50px;
	bottom: 0;
	width: 329px;
	height: 261px;
	pointer-events: none;
	z-index: 1;
}

body .ax-npop__art-base {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: auto;
}

body .ax-npop__art-top {
    position: absolute;
    right: 0;
    bottom: -11px;
    width: 56.5%;
    height: auto;
    z-index: 2;
}

/* ---------- responsive ---------------------------------------------------- */

@media only screen and (max-width: 767px) {
	body .ax-npop__panel {
		width: 100%;
	}

	body .ax-npop__card {
		min-height: 0;
		padding: 40px 28px 44px;
		background-image: url(/wp-content/uploads/2026/06/9-13.png);
		background-position: center bottom;
		background-repeat: no-repeat;
    	background-size: 700px;
	}

	body .ax-npop__title {
		font-size: 25px !important;
	}

	body .ax-npop__desc {
		display: block;
	}

	body .ax-npop__form .gfield {
		width: 100%;
		flex-basis: 100%;
	}

	body .ax-npop__form .gform_body .gform_fields {
		gap: 18px !important;
	}

	body .ax-npop__submit {
		margin-top: 32px;
	}

	body .ax-npop__close {
		top: -78px;
		width: 56px;
		height: 56px;
	}

	body .ax-npop__art {
		width: 200px;
		height: 159px;
		opacity: 0.9;
	}
	
	body .ax-npop__art {
		display: none !important;
	}
	
	body .ax-npop__submit {
		display: flex;
		margin: 0 auto;
		margin-top: 20px;
	}
}