:root {
	--srfm-font-size: 16px;
	--srfm-error-color: #dc2626;
	--srfm-error-color-border: rgba(220, 38, 38, .65);
	--srfm-error-color-border-glow: rgba(220, 38, 38, .15);
	--srfm-column-gap-between-blocks: 16px;
	--srfm-dropdown-font-weight: 400;
	--srfm-dropdown-badge-gap: 6px;
	--srfm-dropdown-badge-icon-gap: 6px;
	--srfm-dropdown-menu-padding: 6px;
	--srfm-dropdown-menu-icon-gap: 8px;
	--srfm-dropdown-option-padding: 8px 12px;
	--srfm-dropdown-badge-delete-icon: var(--srfm-error-color-border, #dc2626);
	--srfm-expandable-menu-background: #fff;
	--srfm-input-field-border-radius: 6px;
	--srfm-input-field-font-weight: 400;
	--srfm-checkbox-description-margin-left: 24px;
	--srfm-checkbox-input-border-radius: 4px;
	--srfm-check-svg-top: 2px;
	--srfm-check-svg-left: 2px;
	--srfm-flag-section-padding: 10px 0 10px 12px;
	--srfm-gap-between-icon-text: 8px;
	--srfm-label-font-weight: 500;
	--srfm-description-font-weight: 400;
	--srfm-description-margin-top: 2px;
	--srfm-error-font-size: 12px;
	--srfm-error-font-weight: 500;
	--srfm-error-line-height: 16px;
	--srfm-btn-border-radius: 6px;
	--srfm-btn-font-weight: 500;
	--srfm-multi-choice-horizontal-svg-size: 16px;
	--srfm-page-break-indicator-size: 24px;
}

.srfm-form-container {
	position: relative;
	padding: 0;
	padding-top: var(--srfm-form-padding-top, 0);
	padding-right: var(--srfm-form-padding-right, 0);
	padding-bottom: var(--srfm-form-padding-bottom, 0);
	padding-left: var(--srfm-form-padding-left, 0);
	border-top-left-radius: var(--srfm-form-border-radius-top, 0);
	border-top-right-radius: var(--srfm-form-border-radius-right, 0);
	border-bottom-right-radius: var(--srfm-form-border-radius-bottom, 0);
	border-bottom-left-radius: var(--srfm-form-border-radius-left, 0);
}

.srfm-form-container.srfm-bg-color {
	background: var(--srfm-bg-color);
}

.srfm-form-container[class*=srfm-overlay]::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: var(--srfm-bg-overlay-opacity);
	pointer-events: none;
	z-index: -1;
}

.srfm-form-container[class*=srfm-overlay]::before {
	border-top-left-radius: var(--srfm-form-border-radius-top, 0);
	border-top-right-radius: var(--srfm-form-border-radius-right, 0);
	border-bottom-right-radius: var(--srfm-form-border-radius-bottom, 0);
	border-bottom-left-radius: var(--srfm-form-border-radius-left, 0);
}

.srfm-form-container div[class^=astra-advanced-hook] {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.srfm-form-container .srfm-form .srfm-block .srfm-error-message, .srfm-form-container .srfm-password-protected-form .srfm-block .srfm-error-message {
	display: none;
}

.srfm-form-container .srfm-form .srfm-submit-button .srfm-loader, .srfm-form-container .srfm-password-protected-form .srfm-submit-button .srfm-loader {
	display: none;
	border: 2px solid var(--srfm-color-scheme-text-on-primary);
	border-radius: 50%;
	border-top: 2px solid var(--srfm-color-scheme-primary);
	width: 1.2em;
	height: 1.2em;
	animation: spin 2s linear infinite;
	margin-left: .5em;
}

@keyframes spin {
	from {
		transform: rotate(0);
	}
	
	to {
		transform: rotate(360deg);
	}
}

.srfm-form-container .srfm-form .srfm-submit-button .srfm-loader:hover, .srfm-form-container .srfm-password-protected-form .srfm-submit-button .srfm-loader:hover {
	border-color: var(--srfm-btn-color-hover);
}

.srfm-form-container .srfm-form .srfm-submit-button .srfm-submit-wrap, .srfm-form-container .srfm-password-protected-form .srfm-submit-button .srfm-submit-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	overflow-wrap: anywhere;
	height: 100%;
}

.srfm-form-container .srfm-form p:not([hidden]).srfm-error-message, .srfm-form-container .srfm-password-protected-form p:not([hidden]).srfm-error-message {
	line-height: 20px;
	color: #111827;
	font-size: 14px;
	font-weight: var(--srfm-error-font-weight);
	margin: 0;
	display: flex;
	align-items: center;
	border: 1px solid #fecaca;
	width: 100%;
	padding: 12px;
	border-radius: 8px;
	background-color: #fef2f2;
	gap: 8px;
}

.srfm-form-container .srfm-form p:not([hidden]).srfm-error-message .srfm-icon, .srfm-form-container .srfm-password-protected-form p:not([hidden]).srfm-error-message .srfm-icon {
	line-height: 1;
	display: flex;
	color: #dc2626;
}

.srfm-form-container .srfm-form p:not([hidden]).srfm-footer-error, .srfm-form-container .srfm-password-protected-form p:not([hidden]).srfm-footer-error {
	margin-top: var(--srfm-row-gap-between-blocks);
}

.srfm-form-container .srfm-form p:not([hidden]).srfm-head-error, .srfm-form-container .srfm-password-protected-form p:not([hidden]).srfm-head-error {
	margin-bottom: var(--srfm-row-gap-between-blocks);
}

.srfm-form-container .srfm-success-box {
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: var(--srfm-body-input-color);
	min-height: 20vh;
}

.srfm-form-container .srfm-success-box p {
	margin: 0;
}

.srfm-form-container .srfm-success-box div {
	width: 100%;
}

.srfm-form-container .srfm-success-box .srfm-success-box-description {
	font-size: .9em;
	font-weight: 400;
	line-height: 26px;
	color: var(--srfm-body-input-color);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

@keyframes srfm-spin {
	0% {
		transform: rotate(0);
	}
	
	100% {
		transform: rotate(360deg);
	}
}