.ecoadvisor {
	--ea-green: #034638;
	--ea-green-hover: #045848;
	--ea-soft: #f7faf9;
	--ea-border: #dce7e2;
	--ea-text: #10241f;
	--ea-muted: #5f726d;
	--ea-white: #ffffff;
	--ea-table-border: #edf3f0;
	--ea-radius-card: 18px;
	--ea-radius-button: 12px;
	background: var(--ea-soft);
	border: 1px solid var(--ea-border);
	border-radius: 24px;
	color: var(--ea-text);
	font-family: Arial, Helvetica, sans-serif;
	margin: 0 auto;
	max-width: 1180px;
	padding: 32px;
}

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

.ecoadvisor__header {
	margin-bottom: 28px;
	max-width: 720px;
}

.ecoadvisor__header h2 {
	color: var(--ea-text);
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0 0 12px;
}

.ecoadvisor__header p {
	color: var(--ea-muted);
	font-size: 18px;
	line-height: 1.5;
	margin: 0;
}

.ecoadvisor__layout {
	align-items: start;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
}

.ecoadvisor__form {
	display: grid;
	gap: 18px;
}

.ecoadvisor-step,
.ecoadvisor-recommendation {
	background: var(--ea-white);
	border: 1px solid var(--ea-border);
	border-radius: var(--ea-radius-card);
	box-shadow: 0 10px 30px rgba(3, 70, 56, 0.06);
	padding: 24px;
}

.ecoadvisor-recommendation__header span,
.ecoadvisor-estimate span:not([data-estimated-price]) {
	color: var(--ea-green);
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.ecoadvisor-step h3,
.ecoadvisor-contact h3 {
	color: var(--ea-text);
	font-size: 23px;
	line-height: 1.25;
	margin: 0 0 20px;
}

.ecoadvisor-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ecoadvisor-pill input,
.ecoadvisor-segment input {
	clip: rect(0 0 0 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.ecoadvisor-pill span,
.ecoadvisor-segment span {
	background: var(--ea-white);
	border: 1px solid var(--ea-border);
	border-radius: 999px;
	color: var(--ea-text);
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	line-height: 1;
	padding: 13px 16px;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ecoadvisor-pill input:checked + span,
.ecoadvisor-segment input:checked + span {
	background: var(--ea-green);
	border-color: var(--ea-green);
	color: var(--ea-white);
}

.ecoadvisor-pill input:focus-visible + span,
.ecoadvisor-segment input:focus-visible + span,
.ecoadvisor-counter__button:focus-visible,
.ecoadvisor-pdf-button:focus-visible,
.ecoadvisor-submit:focus-visible {
	outline: 3px solid rgba(3, 70, 56, 0.22);
	outline-offset: 2px;
}

.ecoadvisor-quantities {
	display: grid;
	gap: 12px;
}

.ecoadvisor-quantity {
	align-items: center;
	border: 1px solid var(--ea-border);
	border-radius: 14px;
	display: flex;
	justify-content: space-between;
	min-height: 56px;
	padding: 8px 12px;
}

.ecoadvisor-quantity > span {
	font-weight: 700;
}

.ecoadvisor-counter {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 999px;
	display: flex;
	gap: 10px;
	height: 48px;
	justify-content: flex-end;
	max-width: 100%;
	overflow: visible;
	width: max-content;
}

.ecoadvisor .ecoadvisor-counter input,
.ecoadvisor input[data-counter-input] {
	appearance: textfield;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #202124 !important;
	flex: 0 0 64px;
	font-size: 20px;
	font-weight: 700;
	height: 44px;
	line-height: 44px;
	margin: 0;
	padding: 0;
	position: static;
	text-align: center;
	transform: none;
	width: 64px;
}

.ecoadvisor .ecoadvisor-counter input::placeholder,
.ecoadvisor input[data-counter-input]::placeholder {
	color: #202124 !important;
	opacity: 1;
}

.ecoadvisor .ecoadvisor-counter input::-webkit-outer-spin-button,
.ecoadvisor .ecoadvisor-counter input::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.ecoadvisor-counter__button {
	align-items: center;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
	display: flex;
	flex: 0 0 44px;
	font-size: 18px;
	font-weight: 700;
	height: 44px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	padding: 0;
	position: static;
	transform: none;
	width: 44px;
}

.ecoadvisor-counter__button--plus {
	background: var(--ea-green);
	color: var(--ea-white);
}

.ecoadvisor-counter__button--plus:hover {
	background: var(--ea-green-hover);
}

.ecoadvisor-counter__button--minus {
	background: var(--ea-white);
	border: 1px solid var(--ea-border);
	color: var(--ea-green);
}

.ecoadvisor-counter__button--plus {
	border: 1px solid var(--ea-green);
}

.ecoadvisor-dynamic__group {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.ecoadvisor-dynamic__group:first-of-type {
	margin-top: 0;
}

.ecoadvisor-dynamic__group > label,
.ecoadvisor-dynamic__group > p,
.ecoadvisor-field label {
	color: var(--ea-text);
	font-weight: 700;
	margin: 0;
}

.ecoadvisor-check {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}

.ecoadvisor-help {
	color: var(--ea-muted);
	font-size: 14px;
	margin: 0;
}

.ecoadvisor-segment {
	display: flex;
	gap: 10px;
}

.ecoadvisor__sidebar {
	position: sticky;
	top: 24px;
}

.ecoadvisor-recommendation {
	display: grid;
	gap: 16px;
	padding: 20px;
}

.ecoadvisor-empty p {
	color: var(--ea-muted);
	margin: 0;
}

.ecoadvisor-products {
	display: grid;
	gap: 10px;
}

.ecoadvisor-product {
	background: #ffffff;
	border: 1px solid #e8f0ec;
	border-radius: 16px;
	padding: 16px;
}

.ecoadvisor-product h3 {
	color: var(--ea-text);
	font-size: 18px;
	line-height: 1.25;
	margin: 0 0 10px;
}

.ecoadvisor-product p {
	color: var(--ea-muted);
	line-height: 1.45;
	margin: 0 0 14px;
}

.ecoadvisor-product__price {
	background: transparent;
	border: 0;
	color: var(--ea-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 16px;
	padding: 0;
}

.ecoadvisor-product a,
.ecoadvisor-pdf-button,
.ecoadvisor-submit {
	background: var(--ea-green);
	border: 1px solid var(--ea-green);
	border-radius: var(--ea-radius-button);
	color: var(--ea-white);
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	margin-top: 0;
	padding: 12px 14px;
	text-decoration: none;
}

.ecoadvisor-product--ecoflex .ecoadvisor-product__button,
.ecoadvisor-product--insurance_tracker .ecoadvisor-product__button {
	width: 100%;
}

.ecoadvisor-direct-order {
	background: #f1f8f5;
	border: 1px solid #d8ebe4;
	border-radius: var(--ea-radius-card);
	color: var(--ea-text);
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
	padding: 14px 16px;
}

.ecoadvisor-product a:hover,
.ecoadvisor-pdf-button:hover,
.ecoadvisor-submit:hover {
	background: var(--ea-green-hover);
	border-color: var(--ea-green-hover);
	color: var(--ea-white);
}

.ecoadvisor-pdf-button {
	align-items: center;
	font-size: 18px;
	height: 48px;
	width: 100%;
}

.ecoadvisor-submit {
	align-items: center;
	font-size: 18px;
	height: 48px;
	width: 100%;
}

.ecoadvisor-pdf-button:disabled {
	cursor: wait;
	opacity: 0.72;
}

.ecoadvisor-estimate {
	border-top: 1px solid #e8f0ec;
	padding: 18px 0 6px;
}

.ecoadvisor-estimate strong {
	align-items: baseline;
	color: var(--ea-green);
	display: flex;
	gap: 10px;
	letter-spacing: 0;
	line-height: 1;
	margin-top: 8px;
}

.ecoadvisor-estimate [data-estimated-price] {
	color: var(--ea-green);
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
}

.ecoadvisor-estimate small {
	color: var(--ea-green);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
}

.ecoadvisor-table-wrap {
	margin-top: 4px;
	overflow-x: auto;
}

.ecoadvisor-table {
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.35;
	width: 100%;
}

.ecoadvisor-table th,
.ecoadvisor-table td {
	border-bottom: 1px solid var(--ea-table-border);
	padding: 12px 8px;
	text-align: left;
	vertical-align: middle;
}

.ecoadvisor-table th:nth-child(2),
.ecoadvisor-table td:nth-child(2) {
	text-align: center;
}

.ecoadvisor-table th:nth-child(3),
.ecoadvisor-table td:nth-child(3) {
	text-align: right;
}

.ecoadvisor-table th {
	color: var(--ea-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.ecoadvisor-table td {
	color: var(--ea-text);
}

.ecoadvisor-contact {
	border-top: 1px solid #e8f0ec;
	display: grid;
	gap: 12px;
	padding-top: 16px;
}

.ecoadvisor-contact__intro {
	color: var(--ea-muted);
	line-height: 1.45;
	margin: -4px 0 4px;
}

.ecoadvisor-field {
	display: grid;
	gap: 6px;
}

.ecoadvisor-field input,
.ecoadvisor-field textarea {
	border: 1px solid var(--ea-border);
	border-radius: 12px;
	font: inherit;
	padding: 11px 12px;
	width: 100%;
}

.ecoadvisor-form-message {
	color: var(--ea-green);
	font-weight: 700;
	margin: 0;
	white-space: pre-line;
}

[hidden] {
	display: none !important;
}

@media (max-width: 767px) {
	.ecoadvisor {
		border-radius: 18px;
		padding: 18px;
	}

	.ecoadvisor__layout {
		display: flex;
		flex-direction: column;
		grid-template-columns: 1fr;
	}

	.ecoadvisor__form {
		display: contents;
	}

	.ecoadvisor__form .ecoadvisor-step {
		order: 1;
	}

	.ecoadvisor__form .ecoadvisor-step:first-child {
		order: 1;
	}

	.ecoadvisor__sidebar {
		order: 2;
		position: static;
		top: auto;
		width: 100%;
	}

	.ecoadvisor-step,
	.ecoadvisor-recommendation {
		padding: 18px;
	}

	.ecoadvisor-quantity {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
}
