/*
 * Z Land Mover Multi-Step Quote Form
 *
 * Every selector is scoped to .zlm-qf. Form controls use deeper selectors
 * (specificity 0,4,0) so aggressive theme / Elementor Kit rules such as
 * ".elementor-kit-5 input:not([type=button])" (0,3,1) do not restyle them.
 * Colours and sizes are CSS custom properties, overridden by the plugin
 * settings (inline style) and by Elementor widget controls.
 */

.zlm-qf {
	--zlm-qf-header-bg: #000000;
	--zlm-qf-header-text: #ffffff;
	--zlm-qf-subheading: #98a2b3;
	--zlm-qf-upcoming: #e4e7ec;
	--zlm-qf-form-bg: #fff9f9;
	--zlm-qf-accent: #4199fd;
	--zlm-qf-inactive: #1d2939;
	--zlm-qf-btn-bg: #1cade4;
	--zlm-qf-btn-text: #ffffff;
	--zlm-qf-text: #344054;
	--zlm-qf-heading: #1d2939;
	--zlm-qf-border: #d0d5dd;
	--zlm-qf-input-bg: #ffffff;
	--zlm-qf-error: #b42318;
	--zlm-qf-font: inherit;
	--zlm-qf-font-size: 15px;
	--zlm-qf-max-width: 600px;
	--zlm-qf-padding: 20px;
	--zlm-qf-field-gap: 18px;
	--zlm-qf-card-gap: 12px;
	--zlm-qf-radius: 16px;
	--zlm-qf-card-radius: 8px;
	--zlm-qf-input-radius: 6px;
	--zlm-qf-btn-radius: 8px;
	--zlm-qf-btn-height: 40px;
	--zlm-qf-input-height: 40px;
	--zlm-qf-dot-size: 32px;
	--zlm-qf-line: 1px;
	--zlm-qf-ml: auto;
	--zlm-qf-mr: auto;

	position: relative;
	z-index: 1;
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--zlm-qf-max-width);
	margin: 0 var(--zlm-qf-mr) 0 var(--zlm-qf-ml);
	padding: 0;
	overflow: hidden;
	border-radius: var(--zlm-qf-radius);
	background: var(--zlm-qf-form-bg);
	box-shadow: 0 12px 32px rgba(16, 24, 40, 0.14);
	color: var(--zlm-qf-text);
	font-family: var(--zlm-qf-font);
	font-size: var(--zlm-qf-font-size);
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	letter-spacing: normal;
	text-transform: none;
	-webkit-text-size-adjust: 100%;
}

.zlm-qf-wrap {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.zlm-qf *,
.zlm-qf *::before,
.zlm-qf *::after {
	box-sizing: border-box;
}

.zlm-qf [hidden] {
	display: none !important;
}

.zlm-qf .zlm-qf__form {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.zlm-qf .zlm-qf__sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.zlm-qf .zlm-qf__icon {
	display: block;
	width: 1em;
	height: 1em;
	flex: none;
}

/* ---------------------------------------------------------------- Header */

.zlm-qf .zlm-qf__header {
	padding: calc(var(--zlm-qf-padding) + 2px) var(--zlm-qf-padding) calc(var(--zlm-qf-padding) - 2px);
	background: var(--zlm-qf-header-bg);
	color: var(--zlm-qf-header-text);
}

.zlm-qf .zlm-qf__header .zlm-qf__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--zlm-qf-header-text);
	font-family: inherit;
	font-size: 2.65em;
	font-weight: 700;
	font-style: normal;
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-transform: none;
	text-align: left;
}

.zlm-qf .zlm-qf__header .zlm-qf__subtitle {
	margin: 22px 0 0;
	padding: 0;
	color: var(--zlm-qf-subheading);
	font-family: inherit;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.4;
	text-transform: none;
}

/* Progress indicator: three equal columns, dots centred in each. */
.zlm-qf .zlm-qf__header .zlm-qf__progress {
	position: relative;
	margin: 18px 0 0;
	padding: 0;
}

.zlm-qf .zlm-qf__progress .zlm-qf__progress-track {
	position: absolute;
	top: calc(var(--zlm-qf-dot-size) / 2 - var(--zlm-qf-line) / 2);
	left: calc(100% / 6);
	right: calc(100% / 6);
	display: block;
	height: var(--zlm-qf-line);
	background: #ffffff;
}

.zlm-qf .zlm-qf__progress .zlm-qf__progress-list {
	position: relative;
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zlm-qf .zlm-qf__progress .zlm-qf__progress-step {
	display: flex;
	flex: 1 1 0;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
}

.zlm-qf .zlm-qf__progress .zlm-qf__progress-step::before,
.zlm-qf .zlm-qf__progress .zlm-qf__progress-step::marker {
	content: none;
}

/* Upcoming: light circle, dark number. */
.zlm-qf .zlm-qf__progress .zlm-qf__progress-dot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--zlm-qf-dot-size);
	height: var(--zlm-qf-dot-size);
	border: 0;
	border-radius: 50%;
	background: var(--zlm-qf-upcoming);
	color: #1d2939;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* Completed: inactive (dark) colour. */
.zlm-qf .zlm-qf__progress .is-complete .zlm-qf__progress-dot {
	background: var(--zlm-qf-inactive);
	color: #ffffff;
}

/* Current: accent. */
.zlm-qf .zlm-qf__progress .is-current .zlm-qf__progress-dot {
	background: var(--zlm-qf-accent);
	color: #ffffff;
}

/* ------------------------------------------------------------------ Body */

.zlm-qf .zlm-qf__body {
	padding: var(--zlm-qf-padding);
	background: var(--zlm-qf-form-bg);
}

.zlm-qf .zlm-qf__body p {
	margin: 0;
	padding: 0;
}

.zlm-qf.zlm-qf--js .zlm-qf__step:not(.is-active) {
	display: none;
}

.zlm-qf .zlm-qf__step {
	display: block;
	margin: 0;
	padding: 0;
}

.zlm-qf:not(.zlm-qf--js) .zlm-qf__step + .zlm-qf__step {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--zlm-qf-border);
}

.zlm-qf .zlm-qf__body .zlm-qf__step-title {
	margin: 0 0 6px;
	padding: 34px 0 0;
	border: 0;
	border-top: 1px solid #eaecf0;
	background: none;
	color: var(--zlm-qf-heading);
	font-family: inherit;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: normal;
	outline: none;
}

.zlm-qf .zlm-qf__body .zlm-qf__fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.zlm-qf .zlm-qf__body .zlm-qf__section-label,
.zlm-qf .zlm-qf__body .zlm-qf__label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	color: var(--zlm-qf-text);
	font-family: inherit;
	font-size: 0.93em;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	outline: none;
	cursor: default;
}

.zlm-qf .zlm-qf__body .zlm-qf__section-label {
	margin-bottom: 12px;
}

.zlm-qf .zlm-qf__body .zlm-qf__req {
	color: var(--zlm-qf-error);
}

.zlm-qf .zlm-qf__body .zlm-qf__preview-note {
	margin: 0 0 14px;
	padding: 8px 12px;
	border: 1px dashed var(--zlm-qf-accent);
	border-radius: var(--zlm-qf-input-radius);
	color: var(--zlm-qf-text);
	font-size: 0.8em;
	text-align: center;
}

/* Move-type cards */
.zlm-qf .zlm-qf__body .zlm-qf__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--zlm-qf-card-gap);
	margin: 0;
	padding: 0;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-width: 0;
	min-height: 114px;
	margin: 0;
	padding: 22px 10px 16px;
	color: #475467;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	opacity: 0;
	pointer-events: none;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-box {
	position: absolute;
	inset: 0;
	z-index: 0;
	border: 1px solid var(--zlm-qf-border);
	border-radius: var(--zlm-qf-card-radius);
	background: transparent;
	transition: border-color 0.15s ease;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card:hover .zlm-qf__card-box,
.zlm-qf .zlm-qf__cards .zlm-qf__card-input:checked ~ .zlm-qf__card-box {
	border-color: var(--zlm-qf-accent);
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-input:focus-visible ~ .zlm-qf__card-box {
	outline: 3px solid rgba(65, 153, 253, 0.55);
	outline-offset: 2px;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-radio {
	position: absolute;
	top: 10px;
	right: 14px;
	z-index: 1;
	width: 18px;
	height: 18px;
	border: 1px solid #98a2b3;
	border-radius: 50%;
	background: #ffffff;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-input:checked ~ .zlm-qf__card-radio {
	border-color: var(--zlm-qf-accent);
	background: radial-gradient(circle, var(--zlm-qf-accent) 0 4.5px, #ffffff 5px);
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-icon,
.zlm-qf .zlm-qf__cards .zlm-qf__card-label {
	position: relative;
	z-index: 1;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-icon {
	color: var(--zlm-qf-accent);
	font-size: 30px;
	line-height: 0;
}

.zlm-qf .zlm-qf__cards .zlm-qf__card-label {
	max-width: 100%;
	overflow-wrap: anywhere;
}

.zlm-qf .zlm-qf__body .zlm-qf__fieldset .zlm-qf__error {
	margin-top: 8px;
}

/* Privacy statement, under a divider as in the design. */
.zlm-qf .zlm-qf__body .zlm-qf__privacy {
	margin: 22px 0 12px;
	padding: 34px 0 0;
	border-top: 1px solid #eaecf0;
	color: var(--zlm-qf-text);
	font-size: 1.13em;
	font-weight: 700;
	line-height: 1.4;
}

.zlm-qf .zlm-qf__privacy .zlm-qf__privacy-link {
	color: var(--zlm-qf-accent);
	font-size: 0.85em;
	font-weight: 500;
	text-decoration: underline;
	white-space: nowrap;
}

/* Fields: two-column grid on steps 2 and 3. */
.zlm-qf .zlm-qf__body .zlm-qf__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 12px;
	margin: 0;
	padding: 0;
}

.zlm-qf .zlm-qf__body .zlm-qf__field {
	position: relative;
	min-width: 0;
	margin: 0 0 var(--zlm-qf-field-gap);
	padding: 0;
}

.zlm-qf .zlm-qf__body .zlm-qf__grid .zlm-qf__field--full {
	grid-column: 1 / -1;
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__input {
	display: block;
	width: 100%;
	max-width: 100%;
	height: var(--zlm-qf-input-height);
	min-height: var(--zlm-qf-input-height);
	margin: 0;
	padding: 9px 13px;
	border: 1px solid var(--zlm-qf-border);
	border-radius: var(--zlm-qf-input-radius);
	background: var(--zlm-qf-input-bg);
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
	color: #101828;
	font-family: inherit;
	font-size: max(16px, 1em); /* 16px+ prevents iOS zoom on focus. */
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
	text-align: left;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__input::placeholder {
	color: #98a2b3;
	opacity: 1;
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__input:focus {
	border-color: var(--zlm-qf-accent);
	box-shadow: 0 0 0 3px rgba(65, 153, 253, 0.22);
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__input[aria-invalid="true"] {
	border-color: var(--zlm-qf-error);
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__input[aria-invalid="true"]:focus {
	box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.16);
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__select {
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 18px;
	cursor: pointer;
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__select:invalid,
.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__select.is-empty {
	color: #667085;
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__select option {
	color: #101828;
}

.zlm-qf .zlm-qf__form .zlm-qf__field input[type="date"].zlm-qf__input {
	display: flex;
	align-items: center;
}

.zlm-qf .zlm-qf__form .zlm-qf__field input[type="date"].zlm-qf__input::-webkit-date-and-time-value {
	text-align: left;
}

.zlm-qf .zlm-qf__form .zlm-qf__field .zlm-qf__textarea {
	height: auto;
	min-height: 158px;
	resize: vertical;
}

.zlm-qf .zlm-qf__body .zlm-qf__error {
	display: block;
	margin: 6px 0 0;
	color: var(--zlm-qf-error);
	font-size: 0.85em;
	font-weight: 500;
	line-height: 1.35;
}

.zlm-qf .zlm-qf__body .zlm-qf__error:empty {
	display: none;
}

/* Upload */
.zlm-qf .zlm-qf__field--upload .zlm-qf__dropzone {
	position: relative;
	display: flex;
	min-height: 158px;
	border: 1px dashed #98a2b3;
	border-radius: var(--zlm-qf-input-radius);
	background: transparent;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__dropzone:hover,
.zlm-qf .zlm-qf__field--upload .zlm-qf__dropzone.is-dragover {
	border-color: var(--zlm-qf-accent);
	background-color: rgba(65, 153, 253, 0.06);
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__dropzone:focus-within {
	border-color: var(--zlm-qf-accent);
	box-shadow: 0 0 0 3px rgba(65, 153, 253, 0.22);
}

.zlm-qf .zlm-qf__field--upload.has-error .zlm-qf__dropzone {
	border-color: var(--zlm-qf-error);
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__dropzone-label {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 20px 16px;
	color: #1d2939;
	font-size: 1em;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__dropzone-icon {
	margin-bottom: 6px;
	color: #667085;
	font-size: 26px;
	line-height: 0;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__hint {
	color: #98a2b3;
	font-size: 0.87em;
	font-weight: 400;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__file {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px solid var(--zlm-qf-border);
	border-radius: var(--zlm-qf-input-radius);
	background: var(--zlm-qf-input-bg);
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__file-icon {
	color: var(--zlm-qf-accent);
	font-size: 22px;
	line-height: 0;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__file-meta {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__file-name {
	overflow: hidden;
	color: #101828;
	font-size: 0.9em;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__file-status {
	color: #667085;
	font-size: 0.8em;
}

.zlm-qf .zlm-qf__form .zlm-qf__field--upload .zlm-qf__file-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 36px;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: #667085;
	font-size: 18px;
	cursor: pointer;
}

.zlm-qf .zlm-qf__form .zlm-qf__field--upload .zlm-qf__file-remove:hover,
.zlm-qf .zlm-qf__form .zlm-qf__field--upload .zlm-qf__file-remove:focus-visible {
	background: #f2f4f7;
	color: var(--zlm-qf-error);
	outline: none;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__progressbar {
	height: 6px;
	margin-top: 8px;
	overflow: hidden;
	border-radius: 3px;
	background: #eaecf0;
}

.zlm-qf .zlm-qf__field--upload .zlm-qf__progressbar span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--zlm-qf-accent);
	transition: width 0.15s linear;
}

/* Honeypot: hidden from people and assistive tech, visible to naive bots. */
.zlm-qf .zlm-qf__hp {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Notices */
.zlm-qf .zlm-qf__body .zlm-qf__notice {
	margin: 0 0 16px;
	padding: 10px 14px;
	border: 1px solid #fecdca;
	border-radius: var(--zlm-qf-input-radius);
	background: #fef3f2;
	color: var(--zlm-qf-error);
	font-size: 0.9em;
	font-weight: 500;
	line-height: 1.45;
}

/* Buttons */
.zlm-qf .zlm-qf__body .zlm-qf__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 6px 0 0;
	padding: 0;
}

.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto;
	min-width: 0;
	height: auto;
	min-height: var(--zlm-qf-btn-height);
	margin: 0;
	padding: 8px 20px;
	border: 0;
	border-radius: var(--zlm-qf-btn-radius);
	background: var(--zlm-qf-btn-bg);
	box-shadow: none;
	color: var(--zlm-qf-btn-text);
	font-family: inherit;
	font-size: 1.07em;
	font-weight: 600;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	text-shadow: none;
	white-space: normal;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: filter 0.15s ease, opacity 0.15s ease;
}

.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn:hover,
.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn:focus {
	border: 0;
	background: var(--zlm-qf-btn-bg);
	color: var(--zlm-qf-btn-text);
	filter: brightness(0.92);
	text-decoration: none;
}

.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn:focus-visible {
	outline: 3px solid rgba(65, 153, 253, 0.55);
	outline-offset: 2px;
}

.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn[disabled] {
	cursor: wait;
	filter: none;
	opacity: 0.75;
}

.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--block {
	flex: 1 1 100%;
	width: 100%;
}

/* Previous/Back and Next/Submit share the row equally, as in the design. */
.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--secondary,
.zlm-qf .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--grow {
	flex: 1 1 0;
}

.zlm-qf .zlm-qf__actions .zlm-qf__spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: zlm-qf-spin 0.7s linear infinite;
}

.zlm-qf .zlm-qf__actions .is-loading .zlm-qf__spinner {
	display: inline-block;
}

@keyframes zlm-qf-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Success */
.zlm-qf .zlm-qf__body .zlm-qf__success {
	padding: 16px 4px 8px;
	text-align: center;
	outline: none;
}

.zlm-qf .zlm-qf__success .zlm-qf__success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--zlm-qf-accent);
	color: #ffffff;
	font-size: 30px;
}

.zlm-qf .zlm-qf__success .zlm-qf__success-icon .zlm-qf__icon {
	stroke-width: 2.4;
}

.zlm-qf .zlm-qf__body .zlm-qf__success-text {
	color: var(--zlm-qf-heading);
	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.5;
}

/* Turnstile */
.zlm-qf .cf-turnstile {
	max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
	.zlm-qf *,
	.zlm-qf *::before,
	.zlm-qf *::after {
		transition: none !important;
		animation-duration: 1.5s !important;
	}
}

/* ------------------------------------------------------------ Responsive
 * Size classes are set by the script from the form's own width, so the
 * layout follows the space the form actually has (columns, sidebars,
 * popups). Container queries were used before, but inside Elementor
 * flex containers they made browsers measure the form at near-zero width,
 * which stretched the cards on some phones. Before the script runs (or
 * without JavaScript) the same rules apply by screen width instead.
 */

/* Form 480px wide or narrower */
.zlm-qf.zlm-qf--sm .zlm-qf__header .zlm-qf__title {
	font-size: 2.1em;
}

.zlm-qf.zlm-qf--sm .zlm-qf__body .zlm-qf__grid {
	grid-template-columns: minmax(0, 1fr);
}

.zlm-qf.zlm-qf--sm .zlm-qf__cards .zlm-qf__card {
	min-height: 100px;
	padding: 20px 8px 14px;
}

/* Form 420px wide or narrower */
.zlm-qf.zlm-qf--xs .zlm-qf__header .zlm-qf__title {
	font-size: 1.85em;
}

.zlm-qf.zlm-qf--xs .zlm-qf__header .zlm-qf__subtitle {
	margin-top: 12px;
	font-size: 0.9em;
}

.zlm-qf.zlm-qf--xs .zlm-qf__body .zlm-qf__cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zlm-qf.zlm-qf--xs .zlm-qf__header,
.zlm-qf.zlm-qf--xs .zlm-qf__body {
	padding-left: min(var(--zlm-qf-padding), 18px);
	padding-right: min(var(--zlm-qf-padding), 18px);
}

/* Form 260px wide or narrower */
.zlm-qf.zlm-qf--xxs .zlm-qf__body .zlm-qf__cards {
	grid-template-columns: minmax(0, 1fr);
}

.zlm-qf.zlm-qf--xxs .zlm-qf__cards .zlm-qf__card {
	flex-direction: row;
	justify-content: flex-start;
	min-height: 56px;
	padding: 12px 36px 12px 14px;
	text-align: left;
}

.zlm-qf.zlm-qf--xxs .zlm-qf__cards .zlm-qf__card-radio {
	top: 50%;
	transform: translateY(-50%);
}

.zlm-qf.zlm-qf--xxs .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--secondary,
.zlm-qf.zlm-qf--xxs .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--grow {
	flex: 1 1 100%;
}

/* Fallback by screen width until the script has measured the form. */
@media (max-width: 480px) {
	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__header .zlm-qf__title {
		font-size: 2.1em;
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__body .zlm-qf__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__cards .zlm-qf__card {
		min-height: 100px;
		padding: 20px 8px 14px;
	}
}

@media (max-width: 420px) {
	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__header .zlm-qf__title {
		font-size: 1.85em;
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__header .zlm-qf__subtitle {
		margin-top: 12px;
		font-size: 0.9em;
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__body .zlm-qf__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__header,
	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__body {
		padding-left: min(var(--zlm-qf-padding), 18px);
		padding-right: min(var(--zlm-qf-padding), 18px);
	}
}

@media (max-width: 260px) {
	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__body .zlm-qf__cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__cards .zlm-qf__card {
		flex-direction: row;
		justify-content: flex-start;
		min-height: 56px;
		padding: 12px 36px 12px 14px;
		text-align: left;
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__cards .zlm-qf__card-radio {
		top: 50%;
		transform: translateY(-50%);
	}

	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--secondary,
	.zlm-qf:not(.zlm-qf--sized) .zlm-qf__form .zlm-qf__actions .zlm-qf__btn--grow {
		flex: 1 1 100%;
	}
}
