/* ==========================================================================
   IPAF Registration Form Redesigned Stylesheet (Double-Selector Compatibility)
   ========================================================================== */

/* Hide the Gutenberg block image logo wrapper on the registration page */
.wp-block-image.wp-custom-css-c3ec9439,
.wp-custom-css-c3ec9439 .wp-block-image {
	display: none !important;
}

/* Force parent theme content wrappers to be transparent when containing the registration form */
.entry-content:has(.ipaf-registration),
.post-content:has(.ipaf-registration),
.page-content:has(.ipaf-registration),
.elementor-widget-container:has(.ipaf-registration),
.wp-block-group:has(.ipaf-registration),
article:has(.ipaf-registration),
.card:has(.ipaf-registration),
.site-content:has(.ipaf-registration),
.content-area:has(.ipaf-registration),
.main-content:has(.ipaf-registration) {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border: none !important;
	padding: 0 !important;
}

/* Base container (calculates width as sidebar 360px + gap 32px + form width on desktop) */
.ipaf-registration {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: calc(360px + 32px + var(--ipaf-form-max-width, 720px)) !important;
	margin: 0 auto 0 auto !important;
	padding: 40px 24px 0 24px !important;
	background: transparent !important;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	color: #0b285c !important;
}

/* Ensure hidden elements are respected in CSS */
.ipaf-registration [hidden] {
	display: none !important;
}

/* Border Radius modifiers */
.ipaf-registration--radius-square {
	--ipaf-radius-card: 0px !important;
	--ipaf-radius-sidebar: 0px !important;
	--ipaf-radius-input: 0px !important;
}

.ipaf-registration--radius-soft {
	--ipaf-radius-card: 24px !important;
	--ipaf-radius-sidebar: 24px !important;
	--ipaf-radius-input: 8px !important;
}

.ipaf-registration--radius-rounded {
	--ipaf-radius-card: 36px !important;
	--ipaf-radius-sidebar: 36px !important;
	--ipaf-radius-input: 12px !important;
}

/* Density modifiers */
.ipaf-registration--density-compact {
	--ipaf-input-height: 44px !important;
	--ipaf-input-padding: 8px 12px !important;
	--ipaf-card-padding: 24px !important;
	--ipaf-sidebar-padding: 24px 18px !important;
	--ipaf-legend-margin: 16px !important;
	--ipaf-section-padding: 24px !important;
	--ipaf-fields-gap: 12px !important;
}

.ipaf-registration--density-comfortable {
	--ipaf-input-height: 52px !important;
	--ipaf-input-padding: 12px 16px !important;
	--ipaf-card-padding: 40px !important;
	--ipaf-sidebar-padding: 36px 28px !important;
	--ipaf-legend-margin: 24px !important;
	--ipaf-section-padding: 32px !important;
	--ipaf-fields-gap: 20px !important;
}

.ipaf-registration--density-spacious {
	--ipaf-input-height: 60px !important;
	--ipaf-input-padding: 16px 20px !important;
	--ipaf-card-padding: 56px !important;
	--ipaf-sidebar-padding: 48px 36px !important;
	--ipaf-legend-margin: 32px !important;
	--ipaf-section-padding: 40px !important;
	--ipaf-fields-gap: 28px !important;
}

/* Prevent theme or WordPress auto-formatting (wpautop) from introducing vertical gaps */
.ipaf-registration p:empty,
.ipaf-registration__main-row > p,
.ipaf-registration_main-row > p,
.ipaf-registration__main-row > br,
.ipaf-registration_main-row > br,
.ipaf-registration__form > p,
.ipaf-registration_form > p,
.ipaf-registration__form > br,
.ipaf-registration_form > br {
	display: none !important;
}

/* Header Row: Title & Subtitle + Steps */
.ipaf-registration__header-row,
.ipaf-registration_header-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-end !important;
	width: 100% !important;
	margin-bottom: 32px !important;
	flex-wrap: wrap !important;
	gap: 24px !important;
	height: auto !important;
	min-height: 0 !important;
}

.ipaf-registration__title-section,
.ipaf-registration_title-section {
	flex: 1 1 400px !important;
	height: auto !important;
	min-height: 0 !important;
}

.ipaf-registration__title,
.ipaf-registration_title {
	text-align: left !important;
	font-size: var(--ipaf-form-title-size, clamp(24px, 4.5vw, 36px)) !important;
	font-weight: 800 !important;
	color: #0b285c !important;
	margin: 0 0 12px 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
}

.ipaf-registration__subtitle,
.ipaf-registration_subtitle {
	text-align: left !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #5f7096 !important;
	margin: 0 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.5 !important;
}

/* Progress Steps */
.ipaf-registration__progress,
.ipaf-registration_progress {
	position: relative !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	flex: 0 1 500px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	height: auto !important;
}

/* Connecting Line */
.ipaf-registration__progress::before,
.ipaf-registration_progress::before {
	content: "" !important;
	position: absolute !important;
	top: 14px !important;
	left: 30px !important;
	right: 30px !important;
	height: 2px !important;
	background-color: #dce7f7 !important;
	z-index: 1 !important;
	display: block !important;
}

.ipaf-registration__progress-step,
.ipaf-registration_progress-step {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	flex: 1 !important;
	z-index: 2 !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.ipaf-registration__progress-step span,
.ipaf-registration_progress-step span {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border: 2px solid #dce7f7 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #5f7096 !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	transition: all 0.25s ease !important;
	box-sizing: border-box !important;
}

.ipaf-registration__progress-step small,
.ipaf-registration_progress-step small {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: #5f7096 !important;
	text-align: center !important;
	max-width: 110px !important;
	line-height: 1.3 !important;
	transition: color 0.25s ease !important;
	display: block !important;
	box-sizing: border-box !important;
}

/* Active & Complete States */
.ipaf-registration__progress-step.is-active span,
.ipaf-registration_progress-step.is-active span {
	border-color: #0a60d5 !important;
	background: #0a60d5 !important;
	color: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(10, 96, 213, 0.15) !important;
}

.ipaf-registration__progress-step.is-active small,
.ipaf-registration_progress-step.is-active small {
	color: #0b285c !important;
	font-weight: 700 !important;
}

.ipaf-registration__progress-step.is-complete span,
.ipaf-registration_progress-step.is-complete span {
	border-color: #0a60d5 !important;
	background: #ffffff !important;
	color: #0a60d5 !important;
}

.ipaf-registration__progress-step.is-complete small,
.ipaf-registration_progress-step.is-complete small {
	color: #0b285c !important;
}

/* Main Grid Layout */
.ipaf-registration__main-row,
.ipaf-registration_main-row {
	display: flex !important;
	gap: 32px !important;
	align-items: flex-start !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Left Sidebar Card */
.ipaf-registration__sidebar,
.ipaf-registration_sidebar {
	flex: 0 0 360px !important;
	width: 360px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
}

.ipaf-registration__sidebar-card,
.ipaf-registration_sidebar-card {
	background: #07327c !important;
	border-radius: var(--ipaf-radius-sidebar, 24px) !important;
	padding: var(--ipaf-sidebar-padding, 36px 28px) !important;
	color: #ffffff !important;
	box-sizing: border-box !important;
	box-shadow: 0 18px 50px rgba(20, 64, 130, 0.15) !important;
	
	/* Background graphic properties */
	background-repeat: no-repeat !important;
	background-position: bottom center !important;
	background-size: 100% auto !important;
	position: relative !important;
	overflow: hidden !important;

	/* Stretching properties */
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 650px !important;
}

.ipaf-registration__sidebar-title,
.ipaf-registration_sidebar-title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 32px 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
}

.ipaf-registration__sidebar-features,
.ipaf-registration_sidebar-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 28px !important;
}

.ipaf-registration__sidebar-feature,
.ipaf-registration_sidebar-feature {
	display: flex !important;
	align-items: flex-start !important;
	gap: 16px !important;
	margin: 0 !important;
}

.ipaf-registration__feature-icon-wrapper,
.ipaf-registration_feature-icon-wrapper {
	flex: 0 0 36px !important;
	width: 36px !important;
	height: 36px !important;
	background-color: rgba(255, 255, 255, 0.12) !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ipaf-registration__feature-icon,
.ipaf-registration_feature-icon {
	width: 18px !important;
	height: 18px !important;
	object-fit: contain !important;
}

.ipaf-registration__feature-content,
.ipaf-registration_feature-content {
	flex: 1 1 auto !important;
}

.ipaf-registration__feature-title,
.ipaf-registration_feature-title {
	display: block !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin-bottom: 4px !important;
	line-height: 1.3 !important;
}

.ipaf-registration__feature-desc,
.ipaf-registration_feature-desc {
	display: block !important;
	font-size: 12px !important;
	color: #cbdcf3 !important;
	line-height: 1.4 !important;
}

.ipaf-registration__sidebar-footer,
.ipaf-registration_sidebar-footer {
	margin-top: 36px !important;
	padding-top: 28px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 16px !important;
	position: relative !important;
	z-index: 2 !important;
}

.ipaf-registration__sidebar-footer-icon-wrapper,
.ipaf-registration_sidebar-footer-icon-wrapper {
	flex: 0 0 36px !important;
	width: 36px !important;
	height: 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ipaf-registration__sidebar-footer-icon,
.ipaf-registration_sidebar-footer-icon {
	width: 20px !important;
	height: 20px !important;
	object-fit: contain !important;
}

.ipaf-registration__sidebar-footer-text,
.ipaf-registration_sidebar-footer-text {
	flex: 1 1 auto !important;
}

.ipaf-registration__sidebar-footer-text strong,
.ipaf-registration_sidebar-footer-text strong {
	display: block !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin-bottom: 4px !important;
	line-height: 1.4 !important;
}

.ipaf-registration__sidebar-footer-highlight,
.ipaf-registration_sidebar-footer-highlight {
	font-size: 32px !important;
	font-weight: 900 !important;
	color: #38bdf8 !important; /* Beautiful bright cyan */
	vertical-align: middle !important;
	line-height: 1 !important;
	margin: 0 4px !important;
}

.ipaf-registration__sidebar-footer-text > span,
.ipaf-registration_sidebar-footer-text > span {
	display: none !important;
}

/* Right Form Card */
.ipaf-registration__form-card,
.ipaf-registration_form-card {
	flex: 1 1 auto !important;
	background: #ffffff !important;
	border-radius: var(--ipaf-radius-card, 24px) !important;
	box-shadow: 0 18px 50px rgba(20, 64, 130, 0.08) !important;
	padding: var(--ipaf-card-padding, 40px) !important;
	box-sizing: border-box !important;
	border: 1px solid #eaf2fc !important;
	max-width: var(--ipaf-form-max-width, 720px) !important;
	width: 100% !important;
}

/* Form layouts */
.ipaf-registration__form,
.ipaf-registration_form {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ipaf-registration__page,
.ipaf-registration_page {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ipaf-registration__page[hidden],
.ipaf-registration_page[hidden] {
	display: none !important;
}

.ipaf-registration__page-header h3,
.ipaf-registration_page-header h3 {
	margin: 0 0 8px 0 !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #0b285c !important;
	display: block !important;
}

.ipaf-registration__page-header p,
.ipaf-registration_page-header p {
	margin: 0 !important;
	color: #5f7096 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	display: block !important;
}

/* Sections & Legends */
.ipaf-registration__section,
.ipaf-registration_section {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 var(--ipaf-section-padding, 32px) 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #eaf2fc !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

.ipaf-registration__section:last-of-type,
.ipaf-registration_section:last-of-type {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.ipaf-registration__section legend,
.ipaf-registration_section legend {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	padding: 8px 0 8px calc(var(--ipaf-section-icon-size, 24px) + 12px) !important;
	margin: 0 0 var(--ipaf-legend-margin, 24px) 0 !important;
	box-sizing: border-box !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #0b285c !important;
	line-height: 24px !important;
	float: none !important;
	border: none !important;
	background: transparent !important;
}

.ipaf-registration__section legend::before,
.ipaf-registration_section legend::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	display: inline-block !important;
	width: var(--ipaf-section-icon-size, 24px) !important;
	height: var(--ipaf-section-icon-size, 24px) !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	border-radius: 0 !important;
}

/* Section Icons Custom Variable Mapping */
.ipaf-registration__section legend::before,
.ipaf-registration_section legend::before {
	background-image: var(--ipaf-section-icon, none) !important;
}

.ipaf-registration__section--index-0 legend::before,
.ipaf-registration_section--index-0 legend::before,
.ipaf-registration__section--section-participant legend::before,
.ipaf-registration_section--section-participant legend::before {
	background-image: var(--ipaf-section-icon, url('../images/section_profile.png?v=1')) !important;
}

.ipaf-registration__section--index-1 legend::before,
.ipaf-registration_section--index-1 legend::before {
	background-image: var(--ipaf-section-icon, url('../images/section_building.png?v=1')) !important;
}

.ipaf-registration__section-description,
.ipaf-registration_section-description {
	margin: -12px 0 20px 0 !important;
	color: #5f7096 !important;
	font-size: 14px !important;
	width: 100% !important;
	display: block !important;
}

/* Fields Grid */
.ipaf-registration__fields,
.ipaf-registration_fields {
	display: grid !important;
	gap: var(--ipaf-fields-gap, 20px) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

@media (min-width: 640px) {
	.ipaf-registration__fields,
	.ipaf-registration_fields {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px 24px !important;
	}

	.ipaf-registration__field,
	.ipaf-registration_field {
		grid-column: span 2 !important;
	}

	.ipaf-registration__field[data-ipaf-field-key="last_name"],
	.ipaf-registration_field[data-ipaf-field-key="last_name"],
	.ipaf-registration__field[data-ipaf-field-key="first_name"],
	.ipaf-registration_field[data-ipaf-field-key="first_name"] {
		grid-column: span 1 !important;
	}
	
	.ipaf-registration__field[data-ipaf-field-key="org_name"],
	.ipaf-registration_field[data-ipaf-field-key="org_name"],
	.ipaf-registration__field[data-ipaf-field-key="company"],
	.ipaf-registration_field[data-ipaf-field-key="company"] {
		grid-column: span 1 !important;
	}
	
	.ipaf-registration__field[data-ipaf-field-key="position"],
	.ipaf-registration_field[data-ipaf-field-key="position"] {
		grid-column: span 1 !important;
	}
}

.ipaf-registration__field,
.ipaf-registration_field {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	float: none !important;
}

/* Hide field label as per design (rely on placeholder) */
.ipaf-registration__field:not(.ipaf-registration__field--radio):not(.ipaf-registration_field--radio):not(.ipaf-registration__field--checkbox):not(.ipaf-registration_field--checkbox):not(.ipaf-registration__field--date):not(.ipaf-registration_field--date):not(.ipaf-registration__field--file):not(.ipaf-registration_field--file):not(.ipaf-registration__field--file_upload):not(.ipaf-registration_field--file_upload):not(.ipaf-registration__field--file_presentation):not(.ipaf-registration_field--file_presentation):not(.ipaf-registration__field--file_image):not(.ipaf-registration_field--file_image) > label,
.ipaf-registration_field:not(.ipaf-registration__field--radio):not(.ipaf-registration_field--radio):not(.ipaf-registration__field--checkbox):not(.ipaf-registration_field--checkbox):not(.ipaf-registration__field--date):not(.ipaf-registration_field--date):not(.ipaf-registration__field--file):not(.ipaf-registration_field--file):not(.ipaf-registration__field--file_upload):not(.ipaf-registration_field--file_upload):not(.ipaf-registration__field--file_presentation):not(.ipaf-registration_field--file_presentation):not(.ipaf-registration__field--file_image):not(.ipaf-registration_field--file_image) > label {
	display: none !important;
}

.ipaf-registration__field--radio > .ipaf-registration__field-label,
.ipaf-registration_field--radio > .ipaf-registration_field-label,
.ipaf-registration__field--checkbox > .ipaf-registration__field-label,
.ipaf-registration_field--checkbox > .ipaf-registration_field-label,
.ipaf-registration__field--date > label,
.ipaf-registration_field--date > label,
.ipaf-registration__field--file > label,
.ipaf-registration_field--file > label,
.ipaf-registration__field--file_upload > label,
.ipaf-registration_field--file_upload > label,
.ipaf-registration__field--file_presentation > label,
.ipaf-registration_field--file_presentation > label,
.ipaf-registration__field--file_image > label,
.ipaf-registration_field--file_image > label {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0b285c !important;
	margin-bottom: 8px !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
}

/* Input Fields - default padding is normal 16px on left and right, no icon space */
.ipaf-registration__field input[type="text"],
.ipaf-registration_field input[type="text"],
.ipaf-registration__field input[type="email"],
.ipaf-registration_field input[type="email"],
.ipaf-registration__field input[type="tel"],
.ipaf-registration_field input[type="tel"],
.ipaf-registration__field input[type="number"],
.ipaf-registration_field input[type="number"],
.ipaf-registration__field input[type="date"],
.ipaf-registration_field input[type="date"],
.ipaf-registration__field input[type="datetime-local"],
.ipaf-registration_field input[type="datetime-local"],
.ipaf-registration__field select,
.ipaf-registration_field select,
.ipaf-registration__field textarea,
.ipaf-registration_field textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	height: var(--ipaf-input-height, 52px) !important;
	padding: var(--ipaf-input-padding, 12px 16px) !important;
	border: 1px solid #dce7f7 !important;
	border-radius: var(--ipaf-radius-input, 8px) !important;
	background-color: #ffffff !important;
	color: #0b285c !important;
	font-size: 15px !important;
	font-family: inherit !important;
	transition: all 0.2s ease !important;
	outline: none !important;
	display: block !important;
	float: none !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 12px 8px !important;
}

/* Select dropdowns get a down arrow on the right side */
.ipaf-registration__field select,
.ipaf-registration_field select {
	background-image: url('../images/arrow_down.png?v=1') !important;
	background-position: right 16px center !important;
	background-size: 12px 8px !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	padding-right: 40px !important;
}

.ipaf-registration__field textarea,
.ipaf-registration_field textarea {
	height: auto !important;
	min-height: 110px !important;
	resize: vertical !important;
	background-image: none !important;
}

.ipaf-registration__field input::placeholder,
.ipaf-registration_field input::placeholder,
.ipaf-registration__field textarea::placeholder,
.ipaf-registration_field textarea::placeholder {
	color: #718096 !important;
	opacity: 0.7 !important;
}

.ipaf-registration__field input:focus,
.ipaf-registration_field input:focus,
.ipaf-registration__field select:focus,
.ipaf-registration_field select:focus,
.ipaf-registration__field textarea:focus,
.ipaf-registration_field textarea:focus {
	border-color: #0a60d5 !important;
	box-shadow: 0 0 0 4px rgba(10, 96, 213, 0.08) !important;
	background-color: #ffffff !important;
}

/* File Upload styling */
.ipaf-registration__field input[type="file"],
.ipaf-registration_field input[type="file"] {
	box-sizing: border-box !important;
	padding: 12px !important;
	height: auto !important;
	border: 1px dashed #dce7f7 !important;
	border-radius: var(--ipaf-radius-input, 8px) !important;
	background: #f5f8fd !important;
	cursor: pointer !important;
	display: block !important;
	width: 100% !important;
	background-image: none !important;
}

.ipaf-registration__field input[type="file"]::file-selector-button,
.ipaf-registration_field input[type="file"]::file-selector-button {
	margin-right: 12px !important;
	padding: 6px 14px !important;
	border: 1px solid #dce7f7 !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #0b285c !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}

/* Choices Layout */
.ipaf-registration__choices,
.ipaf-registration_choices {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px 32px !important;
	margin-top: 4px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ipaf-registration__choices label,
.ipaf-registration_choices label {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #5f7096 !important;
	cursor: pointer !important;
	user-select: none !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* Checkbox and Radio Overrides */
.ipaf-registration__choices input[type="radio"],
.ipaf-registration_choices input[type="radio"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #dce7f7 !important;
	border-radius: 50% !important;
	outline: none !important;
	background-color: #ffffff !important;
	display: inline-grid !important;
	place-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s !important;
}

.ipaf-registration__choices input[type="radio"]::before,
.ipaf-registration_choices input[type="radio"]::before {
	content: "" !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	transform: scale(0) !important;
	transition: 0.15s transform ease-in-out !important;
	background-color: #0a60d5 !important;
}

.ipaf-registration__choices input[type="radio"]:checked,
.ipaf-registration_choices input[type="radio"]:checked {
	border-color: #0a60d5 !important;
}

.ipaf-registration__choices input[type="radio"]:checked::before,
.ipaf-registration_choices input[type="radio"]:checked::before {
	transform: scale(1) !important;
}

.ipaf-registration__choices input[type="checkbox"],
.ipaf-registration_choices input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #dce7f7 !important;
	border-radius: 4px !important;
	outline: none !important;
	background-color: #ffffff !important;
	display: inline-grid !important;
	place-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s !important;
}

.ipaf-registration__choices input[type="checkbox"]::before,
.ipaf-registration_choices input[type="checkbox"]::before {
	content: "" !important;
	width: 10px !important;
	height: 8px !important;
	transform: scale(0) !important;
	transition: 0.15s transform ease-in-out !important;
	background-color: #0a60d5 !important;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%) !important;
}

.ipaf-registration__choices input[type="checkbox"]:checked,
.ipaf-registration_choices input[type="checkbox"]:checked {
	border-color: #0a60d5 !important;
}

.ipaf-registration__choices input[type="checkbox"]:checked::before,
.ipaf-registration_choices input[type="checkbox"]:checked::before {
	transform: scale(1) !important;
}

/* Custom dependent fields styling */
.ipaf-registration__custom-field,
.ipaf-registration_custom-field {
	display: grid !important;
	gap: 8px !important;
	width: 100% !important;
	margin-top: 12px !important;
	padding: 16px !important;
	border-left: 3px solid #0a60d5 !important;
	border-radius: 0 var(--ipaf-radius-input, 8px) var(--ipaf-radius-input, 8px) 0 !important;
	background-color: #f5f8fd !important;
	box-sizing: border-box !important;
}

.ipaf-registration__custom-field input[type="text"],
.ipaf-registration_custom-field input[type="text"] {
	padding-left: 16px !important;
	background-image: none !important;
}

/* Navigation & Button Row */
.ipaf-registration__navigation,
.ipaf-registration_navigation {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-top: 24px !important;
	padding-top: 24px !important;
	border-top: 1px solid #eaf2fc !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ipaf-registration__submit,
.ipaf-registration_submit,
.ipaf-registration__secondary,
.ipaf-registration_secondary {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 52px !important;
	padding: 12px 32px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	font-family: inherit !important;
	border-radius: var(--ipaf-radius-input, 8px) !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	outline: none !important;
}

.ipaf-registration__submit,
.ipaf-registration_submit {
	border: 0 !important;
	background: #0a60d5 !important;
	color: #ffffff !important;
	margin-left: auto !important;
}

.ipaf-registration__submit:hover:not(:disabled),
.ipaf-registration_submit:hover:not(:disabled) {
	background: #084ebb !important;
	box-shadow: 0 12px 28px rgba(10, 96, 213, .22) !important;
	transform: translateY(-1px) !important;
}

.ipaf-registration__submit:disabled,
.ipaf-registration_submit:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

/* Arrow inside continue button */
.ipaf-registration__submit[data-ipaf-next]::after,
.ipaf-registration_submit[data-ipaf-next]::after {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E") !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	margin-left: 8px !important;
	transition: transform 0.2s ease !important;
}

.ipaf-registration__submit[data-ipaf-next]:hover:not(:disabled)::after,
.ipaf-registration_submit[data-ipaf-next]:hover:not(:disabled)::after {
	transform: translateX(4px) !important;
}

.ipaf-registration__secondary,
.ipaf-registration_secondary {
	border: 1px solid #dce7f7 !important;
	background-color: #ffffff !important;
	color: #5f7096 !important;
}

.ipaf-registration__secondary:hover,
.ipaf-registration_secondary:hover {
	background-color: #f5f8fd !important;
	border-color: #cbdcf3 !important;
}

/* Security Lock Info under button */
.ipaf-registration__lock-info,
.ipaf-registration_lock-info {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin-top: 20px !important;
	font-size: 13px !important;
	color: #718096 !important;
	text-align: center !important;
	width: 100% !important;
}

.ipaf-registration__lock-icon,
.ipaf-registration_lock-icon {
	width: 16px !important;
	height: 16px !important;
	object-fit: contain !important;
}

/* Notices styling */
.ipaf-registration__notice,
.ipaf-registration_notice {
	margin-bottom: 24px !important;
	padding: 16px 48px 16px 20px !important;
	border-radius: var(--ipaf-radius-input, 8px) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.ipaf-registration__notice-close,
.ipaf-registration_notice-close {
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 4px !important;
	color: inherit !important;
	opacity: 0.5 !important;
	transition: opacity 0.2s ease !important;
	outline: none !important;
}

.ipaf-registration__notice-close:hover,
.ipaf-registration_notice-close:hover {
	opacity: 0.9 !important;
}

.ipaf-registration__notice--success,
.ipaf-registration_notice--success {
	background-color: #e6fcf5 !important;
	border-left: 4px solid #099268 !important;
	color: #099268 !important;
}

.ipaf-registration__notice--error,
.ipaf-registration_notice--error {
	background-color: #fff5f5 !important;
	border-left: 4px solid #fa5252 !important;
	color: #fa5252 !important;
}

/* CAPTCHA block */
.ipaf-registration__captcha,
.ipaf-registration_captcha {
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	gap: 16px !important;
	align-items: center !important;
	padding: 20px !important;
	border: 1px solid #dce7f7 !important;
	border-radius: var(--ipaf-radius-input, 8px) !important;
	background-color: #f5f8fd !important;
	margin-top: 24px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ipaf-registration__captcha label,
.ipaf-registration_captcha label {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0b285c !important;
}

.ipaf-registration__captcha input,
.ipaf-registration_captcha input {
	width: 100px !important;
	text-align: center !important;
	height: 44px !important;
	padding-left: 12px !important;
	background-image: none !important;
}

.ipaf-registration__privacy,
.ipaf-registration_privacy {
	font-size: 12px !important;
	color: #718096 !important;
	line-height: 1.4 !important;
	margin-top: 16px !important;
}

/* Footer Badges Row */
.ipaf-registration__footer-badges,
.ipaf-registration_footer-badges {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-top: 40px !important;
	padding-top: 24px !important;
	border-top: 1px solid #dce7f7 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ipaf-registration__footer-badge,
.ipaf-registration_footer-badge {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex: 1 1 0% !important;
	justify-content: center !important;
}

.ipaf-registration__badge-icon-wrapper,
.ipaf-registration_badge-icon-wrapper {
	flex: 0 0 var(--ipaf-footer-badge-icon-size, 24px) !important;
	width: var(--ipaf-footer-badge-icon-size, 24px) !important;
	height: var(--ipaf-footer-badge-icon-size, 24px) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.ipaf-registration__badge-icon,
.ipaf-registration_badge-icon {
	width: calc(var(--ipaf-footer-badge-icon-size, 24px) - 2px) !important;
	height: calc(var(--ipaf-footer-badge-icon-size, 24px) - 2px) !important;
	object-fit: contain !important;
}

.ipaf-registration__badge-text,
.ipaf-registration_badge-text {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #0b285c !important;
}

.ipaf-registration__footer-badge-divider,
.ipaf-registration_footer-badge-divider {
	width: 1px !important;
	height: 24px !important;
	background-color: #dce7f7 !important;
	margin: 0 16px !important;
}

/* FONT FAMILY MAPPINGS */
/* Body Font Families (applies to container and all child elements directly to override theme rules) */
.ipaf-registration--body-font-open_sans,
.ipaf-registration--body-font-open_sans * {
	font-family: "Open Sans", "Inter", sans-serif !important;
}
.ipaf-registration--body-font-montserrat,
.ipaf-registration--body-font-montserrat * {
	font-family: "Montserrat", "Inter", sans-serif !important;
}
.ipaf-registration--body-font-lato,
.ipaf-registration--body-font-lato * {
	font-family: "Lato", "Inter", sans-serif !important;
}
.ipaf-registration--body-font-humanist,
.ipaf-registration--body-font-humanist * {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.ipaf-registration--body-font-geometric,
.ipaf-registration--body-font-geometric * {
	font-family: "Century Gothic", "Apple Gothic", sans-serif !important;
}
.ipaf-registration--body-font-serif,
.ipaf-registration--body-font-serif * {
	font-family: Georgia, Cambria, "Times New Roman", Times, serif !important;
}

/* Heading Font Families */
.ipaf-registration--heading-font-open_sans .ipaf-registration__title,
.ipaf-registration--heading-font-open_sans .ipaf-registration_title,
.ipaf-registration--heading-font-open_sans .ipaf-registration__page-header h3,
.ipaf-registration--heading-font-open_sans .ipaf-registration_page-header h3,
.ipaf-registration--heading-font-open_sans .ipaf-registration__section legend,
.ipaf-registration--heading-font-open_sans .ipaf-registration_section legend,
.ipaf-registration--heading-font-open_sans .ipaf-registration__sidebar-title,
.ipaf-registration--heading-font-open_sans .ipaf-registration_sidebar-title,
.ipaf-registration--heading-font-open_sans .ipaf-registration__title *,
.ipaf-registration--heading-font-open_sans .ipaf-registration_title *,
.ipaf-registration--heading-font-open_sans .ipaf-registration__page-header h3 *,
.ipaf-registration--heading-font-open_sans .ipaf-registration_page-header h3 *,
.ipaf-registration--heading-font-open_sans .ipaf-registration__section legend *,
.ipaf-registration--heading-font-open_sans .ipaf-registration_section legend *,
.ipaf-registration--heading-font-open_sans .ipaf-registration__sidebar-title *,
.ipaf-registration--heading-font-open_sans .ipaf-registration_sidebar-title * {
	font-family: "Open Sans", sans-serif !important;
}
.ipaf-registration--heading-font-montserrat .ipaf-registration__title,
.ipaf-registration--heading-font-montserrat .ipaf-registration_title,
.ipaf-registration--heading-font-montserrat .ipaf-registration__page-header h3,
.ipaf-registration--heading-font-montserrat .ipaf-registration_page-header h3,
.ipaf-registration--heading-font-montserrat .ipaf-registration__section legend,
.ipaf-registration--heading-font-montserrat .ipaf-registration_section legend,
.ipaf-registration--heading-font-montserrat .ipaf-registration__sidebar-title,
.ipaf-registration--heading-font-montserrat .ipaf-registration_sidebar-title,
.ipaf-registration--heading-font-montserrat .ipaf-registration__title *,
.ipaf-registration--heading-font-montserrat .ipaf-registration_title *,
.ipaf-registration--heading-font-montserrat .ipaf-registration__page-header h3 *,
.ipaf-registration--heading-font-montserrat .ipaf-registration_page-header h3 *,
.ipaf-registration--heading-font-montserrat .ipaf-registration__section legend *,
.ipaf-registration--heading-font-montserrat .ipaf-registration_section legend *,
.ipaf-registration--heading-font-montserrat .ipaf-registration__sidebar-title *,
.ipaf-registration--heading-font-montserrat .ipaf-registration_sidebar-title * {
	font-family: "Montserrat", sans-serif !important;
}
.ipaf-registration--heading-font-lato .ipaf-registration__title,
.ipaf-registration--heading-font-lato .ipaf-registration_title,
.ipaf-registration--heading-font-lato .ipaf-registration__page-header h3,
.ipaf-registration--heading-font-lato .ipaf-registration_page-header h3,
.ipaf-registration--heading-font-lato .ipaf-registration__section legend,
.ipaf-registration--heading-font-lato .ipaf-registration_section legend,
.ipaf-registration--heading-font-lato .ipaf-registration__sidebar-title,
.ipaf-registration--heading-font-lato .ipaf-registration_sidebar-title,
.ipaf-registration--heading-font-lato .ipaf-registration__title *,
.ipaf-registration--heading-font-lato .ipaf-registration_title *,
.ipaf-registration--heading-font-lato .ipaf-registration__page-header h3 *,
.ipaf-registration--heading-font-lato .ipaf-registration_page-header h3 *,
.ipaf-registration--heading-font-lato .ipaf-registration__section legend *,
.ipaf-registration--heading-font-lato .ipaf-registration_section legend *,
.ipaf-registration--heading-font-lato .ipaf-registration__sidebar-title *,
.ipaf-registration--heading-font-lato .ipaf-registration_sidebar-title * {
	font-family: "Lato", sans-serif !important;
}
.ipaf-registration--heading-font-humanist .ipaf-registration__title,
.ipaf-registration--heading-font-humanist .ipaf-registration_title,
.ipaf-registration--heading-font-humanist .ipaf-registration__page-header h3,
.ipaf-registration--heading-font-humanist .ipaf-registration_page-header h3,
.ipaf-registration--heading-font-humanist .ipaf-registration__section legend,
.ipaf-registration--heading-font-humanist .ipaf-registration_section legend,
.ipaf-registration--heading-font-humanist .ipaf-registration__sidebar-title,
.ipaf-registration--heading-font-humanist .ipaf-registration_sidebar-title,
.ipaf-registration--heading-font-humanist .ipaf-registration__title *,
.ipaf-registration--heading-font-humanist .ipaf-registration_title *,
.ipaf-registration--heading-font-humanist .ipaf-registration__page-header h3 *,
.ipaf-registration--heading-font-humanist .ipaf-registration_page-header h3 *,
.ipaf-registration--heading-font-humanist .ipaf-registration__section legend *,
.ipaf-registration--heading-font-humanist .ipaf-registration_section legend *,
.ipaf-registration--heading-font-humanist .ipaf-registration__sidebar-title *,
.ipaf-registration--heading-font-humanist .ipaf-registration_sidebar-title * {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.ipaf-registration--heading-font-geometric .ipaf-registration__title,
.ipaf-registration--heading-font-geometric .ipaf-registration_title,
.ipaf-registration--heading-font-geometric .ipaf-registration__page-header h3,
.ipaf-registration--heading-font-geometric .ipaf-registration_page-header h3,
.ipaf-registration--heading-font-geometric .ipaf-registration__section legend,
.ipaf-registration--heading-font-geometric .ipaf-registration_section legend,
.ipaf-registration--heading-font-geometric .ipaf-registration__sidebar-title,
.ipaf-registration--heading-font-geometric .ipaf-registration_sidebar-title,
.ipaf-registration--heading-font-geometric .ipaf-registration__title *,
.ipaf-registration--heading-font-geometric .ipaf-registration_title *,
.ipaf-registration--heading-font-geometric .ipaf-registration__page-header h3 *,
.ipaf-registration--heading-font-geometric .ipaf-registration_page-header h3 *,
.ipaf-registration--heading-font-geometric .ipaf-registration__section legend *,
.ipaf-registration--heading-font-geometric .ipaf-registration_section legend *,
.ipaf-registration--heading-font-geometric .ipaf-registration__sidebar-title *,
.ipaf-registration--heading-font-geometric .ipaf-registration_sidebar-title * {
	font-family: "Century Gothic", "Apple Gothic", sans-serif !important;
}
.ipaf-registration--heading-font-serif .ipaf-registration__title,
.ipaf-registration--heading-font-serif .ipaf-registration_title,
.ipaf-registration--heading-font-serif .ipaf-registration__page-header h3,
.ipaf-registration--heading-font-serif .ipaf-registration_page-header h3,
.ipaf-registration--heading-font-serif .ipaf-registration__section legend,
.ipaf-registration--heading-font-serif .ipaf-registration_section legend,
.ipaf-registration--heading-font-serif .ipaf-registration__sidebar-title,
.ipaf-registration--heading-font-serif .ipaf-registration_sidebar-title,
.ipaf-registration--heading-font-serif .ipaf-registration__title *,
.ipaf-registration--heading-font-serif .ipaf-registration_title *,
.ipaf-registration--heading-font-serif .ipaf-registration__page-header h3 *,
.ipaf-registration--heading-font-serif .ipaf-registration_page-header h3 *,
.ipaf-registration--heading-font-serif .ipaf-registration__section legend *,
.ipaf-registration--heading-font-serif .ipaf-registration_section legend *,
.ipaf-registration--heading-font-serif .ipaf-registration__sidebar-title *,
.ipaf-registration--heading-font-serif .ipaf-registration_sidebar-title * {
	font-family: Georgia, Cambria, "Times New Roman", Times, serif !important;
}

/* Subtitle Font Families */
.ipaf-registration--subtitle-font-open_sans .ipaf-registration__subtitle,
.ipaf-registration--subtitle-font-open_sans .ipaf-registration_subtitle,
.ipaf-registration--subtitle-font-open_sans .ipaf-registration__subtitle *,
.ipaf-registration--subtitle-font-open_sans .ipaf-registration_subtitle * {
	font-family: "Open Sans", sans-serif !important;
}
.ipaf-registration--subtitle-font-montserrat .ipaf-registration__subtitle,
.ipaf-registration--subtitle-font-montserrat .ipaf-registration_subtitle,
.ipaf-registration--subtitle-font-montserrat .ipaf-registration__subtitle *,
.ipaf-registration--subtitle-font-montserrat .ipaf-registration_subtitle * {
	font-family: "Montserrat", sans-serif !important;
}
.ipaf-registration--subtitle-font-lato .ipaf-registration__subtitle,
.ipaf-registration--subtitle-font-lato .ipaf-registration_subtitle,
.ipaf-registration--subtitle-font-lato .ipaf-registration__subtitle *,
.ipaf-registration--subtitle-font-lato .ipaf-registration_subtitle * {
	font-family: "Lato", sans-serif !important;
}
.ipaf-registration--subtitle-font-humanist .ipaf-registration__subtitle,
.ipaf-registration--subtitle-font-humanist .ipaf-registration_subtitle,
.ipaf-registration--subtitle-font-humanist .ipaf-registration__subtitle *,
.ipaf-registration--subtitle-font-humanist .ipaf-registration_subtitle * {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}
.ipaf-registration--subtitle-font-geometric .ipaf-registration__subtitle,
.ipaf-registration--subtitle-font-geometric .ipaf-registration_subtitle,
.ipaf-registration--subtitle-font-geometric .ipaf-registration__subtitle *,
.ipaf-registration--subtitle-font-geometric .ipaf-registration_subtitle * {
	font-family: "Century Gothic", "Apple Gothic", sans-serif !important;
}
.ipaf-registration--subtitle-font-serif .ipaf-registration__subtitle,
.ipaf-registration--subtitle-font-serif .ipaf-registration_subtitle,
.ipaf-registration--subtitle-font-serif .ipaf-registration__subtitle *,
.ipaf-registration--subtitle-font-serif .ipaf-registration_subtitle * {
	font-family: Georgia, Cambria, "Times New Roman", Times, serif !important;
}

/* RESPONSIVE LAYOUTS */

/* Tablet view */
@media (max-width: 991px) {
	.ipaf-registration__main-row,
	.ipaf-registration_main-row {
		flex-direction: column !important;
		gap: 16px !important;
	}
	.ipaf-registration__sidebar,
	.ipaf-registration_sidebar {
		display: none !important; /* Hide sidebar event card on tablet & mobile */
	}
	.ipaf-registration__form-card,
	.ipaf-registration_form-card {
		width: 100% !important;
		padding: 32px 24px !important;
		max-width: var(--ipaf-form-max-width, 720px) !important;
	}
}

/* Mobile view */
@media (max-width: 768px) {
	.ipaf-registration {
		padding: 24px 12px 0 12px !important;
		max-width: var(--ipaf-form-max-width, 720px) !important;
		margin-bottom: 0 !important;
	}
	
	.ipaf-registration__header-row,
	.ipaf-registration_header-row {
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 16px !important;
		margin-bottom: 24px !important;
		height: auto !important;
		min-height: 0 !important;
	}
	
	.ipaf-registration__title-section,
	.ipaf-registration_title-section {
		flex: none !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
	}
	
	.ipaf-registration__progress,
	.ipaf-registration_progress {
		width: 100% !important;
		margin-bottom: 8px !important;
		flex: none !important;
		height: auto !important;
	}
	
	.ipaf-registration__progress::before,
	.ipaf-registration_progress::before {
		top: 14px !important;
		left: 20px !important;
		right: 20px !important;
	}
	
	.ipaf-registration__progress-step span,
	.ipaf-registration_progress-step span {
		width: 28px !important;
		height: 28px !important;
		font-size: 12px !important;
	}
	
	.ipaf-registration__progress-step small,
	.ipaf-registration_progress-step small {
		font-size: 10px !important;
		max-width: 80px !important;
	}
	
	.ipaf-registration__form-card,
	.ipaf-registration_form-card {
		padding: 24px 16px !important;
		border-radius: var(--ipaf-radius-card, 12px) !important;
		max-width: var(--ipaf-form-max-width, 720px) !important;
	}
	
	.ipaf-registration__footer-badges,
	.ipaf-registration_footer-badges {
		flex-direction: column !important;
		gap: 16px !important;
		align-items: flex-start !important;
		padding-top: 20px !important;
		margin-top: 32px !important;
	}
	
	.ipaf-registration__footer-badge,
	.ipaf-registration_footer-badge {
		justify-content: flex-start !important;
		width: 100% !important;
	}
	
	.ipaf-registration__footer-badge-divider,
	.ipaf-registration_footer-badge-divider {
		display: none !important;
	}
	
	.ipaf-registration__navigation,
	.ipaf-registration_navigation {
		flex-direction: column-reverse !important;
		align-items: stretch !important;
		gap: 12px !important;
	}
	
	.ipaf-registration__navigation button,
	.ipaf-registration_navigation button,
	.ipaf-registration__navigation .ipaf-registration__submit,
	.ipaf-registration_navigation .ipaf-registration_submit,
	.ipaf-registration__navigation .ipaf-registration__secondary,
	.ipaf-registration_navigation .ipaf-registration_secondary {
		width: 100% !important;
		margin: 0 !important;
		text-align: center !important;
		justify-content: center !important;
	}
}

/* Small mobile view */
@media (max-width: 480px) {
	.ipaf-registration__progress-step small,
	.ipaf-registration_progress-step small {
		display: none !important; /* Hide labels under steps circles on very small screens */
	}
	
	.ipaf-registration__progress::before,
	.ipaf-registration_progress::before {
		left: 15px !important;
		right: 15px !important;
	}
}

/* Flatpickr Styling Overrides */
.flatpickr-calendar {
	border-radius: 12px !important;
	box-shadow: 0 10px 30px rgba(7, 50, 124, 0.15) !important;
	border: 1px solid #eaf2fc !important;
	font-family: inherit !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
	background: #0a60d5 !important;
	border-color: #0a60d5 !important;
}

.ipaf-registration .flatpickr-input-alt {
	background-color: #ffffff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230b285c' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 20px 20px !important;
	padding-right: 44px !important;
}

/* Custom File Upload Input Styling */
.ipaf-registration__file-wrapper,
.ipaf-registration_file-wrapper {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
}

.ipaf-registration__file-input,
.ipaf-registration_file-input {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: none !important;
	background: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	z-index: 2 !important;
}

.ipaf-registration__file-input::-webkit-file-upload-button,
.ipaf-registration_file-input::-webkit-file-upload-button {
	opacity: 0 !important;
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
}

.ipaf-registration__file-custom-btn,
.ipaf-registration_file-custom-btn {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
	height: var(--ipaf-input-height, 52px) !important;
	padding: 0 16px !important;
	background-color: #f8fafc !important;
	border: 1px solid #dbeafe !important;
	border-radius: var(--ipaf-radius-input, 8px) !important;
	box-sizing: border-box !important;
	transition: all 0.2s ease !important;
}

.ipaf-registration__file-input:hover + .ipaf-registration__file-custom-btn,
.ipaf-registration_file-input:hover + .ipaf-registration_file-custom-btn,
.ipaf-registration__file-input:focus + .ipaf-registration__file-custom-btn,
.ipaf-registration_file-input:focus + .ipaf-registration_file-custom-btn {
	border-color: #0a60d5 !important;
	background-color: #f0f7ff !important;
}

.ipaf-registration__file-btn-text,
.ipaf-registration_file-btn-text {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 14px !important;
	background-color: #e2e8f0 !important;
	color: #0b285c !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	border-radius: 6px !important;
	border: 1px solid #cbd5e1 !important;
	pointer-events: none !important;
	white-space: nowrap !important;
}

.ipaf-registration__file-name-text,
.ipaf-registration_file-name-text {
	font-size: 14px !important;
	color: #64748b !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	pointer-events: none !important;
}

.ipaf-registration__file-name-text.has-file,
.ipaf-registration_file-name-text.has-file {
	color: #0b285c !important;
	font-weight: 500 !important;
}

/* Modern Security Verification CAPTCHA Card */
.ipaf-registration__captcha-card {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 16px 20px !important;
	background: linear-gradient(135deg, #f0f7ff 0%, #f8fafc 100%) !important;
	border: 1px solid #dbeafe !important;
	border-radius: var(--ipaf-radius-input, 12px) !important;
	box-shadow: 0 4px 12px rgba(10, 96, 213, 0.04) !important;
	margin-bottom: 20px !important;
	flex-wrap: wrap !important;
}

.ipaf-registration__captcha-header {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	flex: 1 1 240px !important;
}

.ipaf-registration__captcha-icon {
	flex: 0 0 38px !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	background-color: #0a60d5 !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 4px 10px rgba(10, 96, 213, 0.25) !important;
}

.ipaf-registration__captcha-icon svg {
	width: 20px !important;
	height: 20px !important;
}

.ipaf-registration__captcha-info {
	display: flex !important;
	flex-direction: column !important;
}

.ipaf-registration__captcha-title {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #0b285c !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	margin-bottom: 2px !important;
}

.ipaf-registration__captcha-desc {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #334155 !important;
}

.ipaf-registration__captcha-input-wrapper {
	flex: 0 0 auto !important;
}

.ipaf-registration__captcha-input {
	width: 72px !important;
	height: 46px !important;
	text-align: center !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #0b285c !important;
	background-color: #ffffff !important;
	border: 2px solid #cbd5e1 !important;
	border-radius: 8px !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
}

.ipaf-registration__captcha-input:focus {
	border-color: #0a60d5 !important;
	box-shadow: 0 0 0 3px rgba(10, 96, 213, 0.2) !important;
	outline: none !important;
}

/* Success Screen Styling */
.ipaf-registration__success-screen {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 48px 24px !important;
}

.ipaf-registration__success-icon-wrapper {
	width: 80px !important;
	height: 80px !important;
	border-radius: 50% !important;
	background: #e6fcf5 !important;
	color: #099268 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 24px !important;
	box-shadow: 0 10px 25px rgba(9, 146, 104, 0.15) !important;
}

.ipaf-registration__success-svg {
	width: 44px !important;
	height: 44px !important;
}

.ipaf-registration__success-title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #0b285c !important;
	margin: 0 0 12px 0 !important;
}

.ipaf-registration__success-desc {
	font-size: 16px !important;
	color: #475569 !important;
	margin: 0 0 32px 0 !important;
	line-height: 1.5 !important;
	max-width: 440px !important;
}

.ipaf-registration__success-btn {
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: #0a60d5 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	padding: 12px 24px !important;
	border-radius: 8px !important;
	transition: background-color 0.2s ease, transform 0.1s ease !important;
	box-shadow: 0 4px 12px rgba(10, 96, 213, 0.2) !important;
}

.ipaf-registration__success-btn:hover {
	background-color: #084eb0 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
}
