/* Aabalance hintalaskuri — mirrors the old Gravity Forms (Orbital) look. */
.aab-hl {
	--aab-hl-text: #132c33;
	--aab-hl-label: #112337;
	--aab-hl-muted: #585e6a;
	--aab-hl-border: #d8e3e7;
	--aab-hl-focus: #204ce5;
	--aab-hl-accent: #ff8f00;
	--aab-hl-error: #c02b0a;
	color: var(--aab-hl-text);
	font-family: Heebo, sans-serif;
}

.aab-hl__title {
	font-family: var(--e-global-typography-primary-font-family, "Playfair Display"), serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.3;
	margin: 0 0 16px;
	color: var(--aab-hl-text);
}

.aab-hl__desc {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.7;
	margin: 0 0 24px;
}

.aab-hl__form {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: 0;
}

.aab-hl__form > .aab-hl__desc {
	margin-top: -32px;
}

.aab-hl__field {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.aab-hl .aab-hl__label {
	display: block;
	color: var(--aab-hl-label);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	margin: 0 0 8px;
}

.aab-hl__req {
	color: var(--aab-hl-error);
	font-size: 12px;
	font-weight: 500;
}

.aab-hl .aab-hl__sub {
	display: block;
	color: var(--aab-hl-muted);
	font-size: 13px;
	margin: 0 0 8px;
}

.aab-hl__help {
	color: var(--aab-hl-muted);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.43;
	margin: 8px 0 0;
}

.aab-hl__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px 24px;
}

.aab-hl input[type="text"],
.aab-hl input[type="number"],
.aab-hl input[type="tel"],
.aab-hl input[type="email"],
.aab-hl select,
.aab-hl textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 38px;
	padding: 0 12px;
	border: 1px solid var(--aab-hl-border);
	border-radius: 0;
	background: #fff;
	color: var(--aab-hl-text);
	font: 300 18px/1.5 Heebo, sans-serif;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}

.aab-hl select {
	font-size: 14px;
	font-weight: 400;
	padding-right: 32px;
	appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23585e6a' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;
}

.aab-hl textarea {
	padding: 8px 12px;
	min-height: 140px;
	resize: vertical;
}

.aab-hl input:focus,
.aab-hl select:focus,
.aab-hl textarea:focus {
	outline: none;
	border-color: var(--aab-hl-focus);
	box-shadow: 0 0 0 3px rgba(32, 76, 229, .15);
}

.aab-hl [aria-invalid="true"] {
	border-color: var(--aab-hl-error);
}

.aab-hl__total {
	color: var(--aab-hl-accent);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	margin: 4px 0 12px;
}

.aab-hl__breakdown {
	margin: 0;
	font-weight: 400;
	font-size: 15px;
	color: var(--aab-hl-muted);
}

.aab-hl__breakdown > div {
	display: flex;
	gap: 8px;
}

.aab-hl__breakdown > div[hidden] {
	display: none;
}

.aab-hl__breakdown dt::after {
	content: ":";
}

.aab-hl__breakdown dd {
	margin: 0;
}

.aab-hl__sep {
	border: 0;
	border-top: 1px solid var(--aab-hl-border);
	margin: 0;
}

.aab-hl__subtitle {
	font-family: Heebo, sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
	color: var(--aab-hl-text);
}

.aab-hl__error {
	color: var(--aab-hl-error);
	border: 1px solid var(--aab-hl-error);
	background: #fff5f3;
	padding: 12px 16px;
	font-size: 15px;
}

.aab-hl__error[hidden],
.aab-hl__hp {
	display: none;
}

.aab-hl__submit {
	align-self: flex-start;
	background: var(--aab-hl-focus);
	color: #fff;
	border: 0;
	border-radius: 3px;
	padding: 0 16px;
	min-height: 38px;
	font: 500 14px/1 Heebo, sans-serif;
	cursor: pointer;
	transition: background .15s;
}

.aab-hl__submit:hover,
.aab-hl__submit:focus-visible {
	background: #1a3dba;
}

.aab-hl__submit.is-loading {
	opacity: .6;
	cursor: wait;
}

@media (max-width: 640px) {
	.aab-hl__row {
		grid-template-columns: 1fr;
	}
}
