/**
 * Klimaenergia calculator – PWA layout.
 *
 * All selectors are scoped to .klima-calculator-page. No fixed content height
 * is used: every panel grows only as much as its real content requires.
 */

body.klima-has-calculator .wp-site-blocks > main,
body.klima-has-calculator main.wp-block-group,
body.klima-has-calculator .wp-block-post-content {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.klima-calculator-breadcrumb {
	margin: 32px auto 10px;
	width: min(var(--wp--style--global--wide-size, 1320px), calc(100% - 24px));
}

.klima-calculator-breadcrumb ol {
	display: flex;
	min-width: max-content;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.klima-calculator-breadcrumb li {
	margin: 0;
	padding: 0;
}

.klima-calculator-breadcrumb li + li::before {
	content: none;
}

.klima-calculator-page,
.klima-calculator-page * {
	box-sizing: border-box;
}

.klima-calculator-page {
	--kc-navy: #080a28;
	--kc-navy-soft: #171a3c;
	--kc-ink: #111528;
	--kc-muted: #667085;
	--kc-line: #dce2ec;
	--kc-surface: #f5f7fb;
	--kc-white: #fff;
	--kc-red: #ff3655;
	--kc-red-dark: #dc2442;
	--kc-cool: #edf8ff;
	--kc-cool-line: #a7daf4;
	--kc-cool-ink: #0878aa;
	--kc-heat: #fff4f1;
	--kc-heat-line: #ffc6b8;
	--kc-heat-ink: #c3472d;
	--kc-green: #16855b;
	--kc-radius: 24px;
	--kc-shadow: 0 22px 65px rgb(8 10 40 / 12%);
	color: var(--kc-ink);
	margin: clamp(28px, 4vw, 64px) auto 80px;
	max-width: none !important;
    width: min(var(--wp--style--global--wide-size, 1320px), calc(100% - 24px));
}

.klima-calculator-breadcrumb + .klima-calculator-page {
	margin-top: 0;
}

.klima-calculator-page button,
.klima-calculator-page input,
.klima-calculator-page select {
	font: inherit;
}

.klima-calculator-hero {
	align-items: center;
	background:
		radial-gradient(circle at 78% 24%, rgb(255 54 85 / 18%), transparent 31%),
		radial-gradient(circle at 82% 105%, transparent 0 24%, rgb(255 255 255 / 9%) 24.3% 24.7%, transparent 25%),
		linear-gradient(132deg, var(--kc-navy) 0%, #111431 62%, #231631 100%);
	border-radius: var(--kc-radius) var(--kc-radius) 0 0;
	color: var(--kc-white);
	display: grid;
	gap: clamp(28px, 3vw, 40px);
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	min-height: 0;
	overflow: hidden;
	padding: clamp(36px, 4vw, 52px) clamp(36px, 5vw, 64px);
	position: relative;
}

.klima-calculator-hero__copy {
	max-width: 720px;
	position: relative;
	z-index: 1;
}

.klima-calculator-eyebrow,
.klima-calculator-result__eyebrow {
	color: var(--kc-red);
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .14em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.klima-calculator-eyebrow::before {
	background: currentcolor;
	content: "";
	display: inline-block;
	height: 2px;
	margin: 0 12px 3px 0;
	width: 32px;
}

.klima-calculator-hero h1 {
	color: inherit !important;
	font-size: clamp(48px, 5.4vw, 70px) !important;
	font-weight: 900 !important;
	letter-spacing: -.055em !important;
	line-height: .95 !important;
	margin: 0 0 14px !important;
	max-width: 720px;
}

.klima-calculator-hero__copy > p {
	color: rgb(255 255 255 / 78%);
	font-size: clamp(16px, 1.7vw, 20px);
	line-height: 1.45;
	margin: 0;
	max-width: 650px;
}

.klima-calculator-hero__note {
	align-self: center;
	background: rgb(255 255 255 / 10%);
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 20px;
	display: grid;
	gap: 10px;
	padding: 22px 24px;
	position: relative;
	z-index: 1;
}

.klima-calculator-hero__note strong {
	color: var(--kc-white);
	font-size: 20px;
}

.klima-calculator-hero__note span {
	color: rgb(255 255 255 / 68%);
	font-size: 14px;
	line-height: 1.5;
}

.klima-calculator-progress {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-top: 0;
	padding: 0 clamp(20px, 4vw, 54px);
}

.klima-calculator-progress ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.klima-calculator-progress li {
	border-right: 1px solid var(--kc-line);
	margin: 0;
	padding: 0;
}

.klima-calculator-progress li:first-child {
	border-left: 1px solid var(--kc-line);
}

.klima-calculator-progress button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--kc-muted);
	cursor: pointer;
	display: flex;
	gap: 12px;
	justify-content: center;
	min-height: 64px;
	padding: 11px 16px;
	position: relative;
	width: 100%;
}

.klima-calculator-progress button::after {
	background: var(--kc-red);
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .2s ease;
	width: 100%;
}

.klima-calculator-progress button span {
	align-items: center;
	background: #eef1f7;
	border-radius: 10px;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.klima-calculator-progress button strong {
	font-size: 14px;
}

.klima-calculator-progress button[aria-current="step"] {
	color: var(--kc-ink);
}

.klima-calculator-progress button[aria-current="step"]::after {
	transform: scaleX(1);
}

.klima-calculator-progress button[aria-current="step"] span,
.klima-calculator-progress button[data-complete] span {
	background: var(--kc-red);
	color: var(--kc-white);
}

.klima-calculator-layout {
	align-items: start;
	background: var(--kc-surface);
	border: 1px solid var(--kc-line);
	border-radius: 0 0 var(--kc-radius) var(--kc-radius);
	border-top: 0;
	display: grid;
	gap: clamp(28px, 4vw, 54px);
	grid-template-columns: minmax(0, 1.6fr) minmax(350px, .82fr);
	padding: clamp(28px, 4vw, 54px);
}

.klima-calculator-form,
.klima-calculator-panel {
	display: grid;
	gap: 28px;
	margin: 0;
	min-height: 0 !important;
}

.klima-calculator-panel[hidden],
.klima-mode-fields[hidden],
.klima-calculator-result__content[hidden],
.klima-calculator-result__empty[hidden],
.klima-calculator-result section[hidden] {
	display: none !important;
}

.klima-calculator-section-heading {
	align-items: start;
	border-bottom: 1px solid var(--kc-line);
	display: grid;
	gap: 16px;
	grid-template-columns: 42px minmax(0, 1fr);
	margin: 0;
	padding: 0 0 22px;
}

.klima-calculator-section-heading > span {
	align-items: center;
	background: var(--kc-red);
	border-radius: 11px;
	box-shadow: 0 10px 24px rgb(255 54 85 / 24%);
	color: var(--kc-white);
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.klima-calculator-section-heading h2 {
	color: var(--kc-ink) !important;
	font-size: clamp(22px, 2.4vw, 30px) !important;
	font-weight: 900 !important;
	letter-spacing: -.025em !important;
	line-height: 1.12 !important;
	margin: 0 0 5px !important;
}

.klima-calculator-section-heading p {
	color: var(--kc-muted);
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.klima-compact-group {
	border: 0;
	display: grid;
	gap: 14px;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.klima-compact-group > legend,
.klima-mode-fields > h3 {
	color: var(--kc-ink);
	font-size: 15px;
	font-weight: 900;
	margin: 0 0 2px;
	padding: 0;
}

.klima-choice-grid {
	display: grid;
	gap: 12px;
}

.klima-choice-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.klima-choice-grid--five {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.klima-choice-card {
	cursor: pointer;
	display: block;
	margin: 0;
	min-width: 0;
	position: relative;
}

.klima-choice-card input {
	height: 1px;
	opacity: 0;
	position: absolute;
	width: 1px;
}

.klima-choice-card > span {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 14px;
	display: grid;
	gap: 5px;
	height: 100%;
	min-height: 86px;
	padding: 18px;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.klima-choice-card > span strong {
	font-size: 15px;
	line-height: 1.3;
}

.klima-choice-card > span small {
	color: var(--kc-muted);
	font-size: 12px;
	line-height: 1.4;
}

.klima-choice-card input:checked + span {
	border-color: var(--kc-red);
	box-shadow: 0 0 0 2px rgb(255 54 85 / 10%), 0 12px 30px rgb(17 21 40 / 7%);
	transform: translateY(-1px);
}

.klima-choice-card input:focus-visible + span {
	outline: 3px solid rgb(255 54 85 / 24%);
	outline-offset: 2px;
}

.klima-choice-card--small > span {
	align-content: center;
	min-height: 74px;
	padding: 14px;
	text-align: center;
}

.klima-choice-card--small > span strong {
	font-size: 12px;
}

.klima-field-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.klima-field-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.klima-field-grid--window {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.klima-field {
	display: grid;
	gap: 9px;
	margin: 0;
	min-width: 0;
}

.klima-field--room,
.klima-field--short {
	max-width: 360px;
}

.klima-field > span:first-child {
	color: var(--kc-ink);
	font-size: 13px;
	font-weight: 800;
}

.klima-field input,
.klima-field select,
.klima-unit-input {
	background: var(--kc-white);
	border: 1px solid #ccd4e2;
	border-radius: 12px;
	color: var(--kc-ink);
	font-size: 15px;
	min-height: 52px;
	width: 100%;
}

.klima-field > input,
.klima-field > select {
	padding: 0 14px;
}

.klima-field select {
	appearance: auto;
}

.klima-field input:focus,
.klima-field select:focus {
	border-color: var(--kc-red);
	box-shadow: 0 0 0 3px rgb(255 54 85 / 12%);
	outline: 0;
}

.klima-unit-input {
	align-items: stretch;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px;
	overflow: hidden;
}

.klima-unit-input input {
	background: transparent;
	border: 0;
	border-radius: 0;
	min-height: 50px;
	padding: 0 14px;
}

.klima-unit-input small {
	align-items: center;
	border-left: 1px solid var(--kc-line);
	color: var(--kc-muted);
	display: flex;
	font-size: 12px;
	font-weight: 900;
	justify-content: center;
}

.klima-field small {
	color: var(--kc-muted);
	font-size: 11px;
	line-height: 1.4;
}

.klima-geometry {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.klima-geometry > div {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 14px;
	display: grid;
	gap: 6px;
	padding: 15px 17px;
}

.klima-geometry span {
	color: var(--kc-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.klima-geometry strong {
	font-size: 18px;
}

.klima-toggle-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.klima-toggle-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.klima-toggle {
	align-items: center;
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 12px;
	cursor: pointer;
	display: flex;
	gap: 10px;
	margin: 0;
	min-height: 48px;
	padding: 11px 13px;
}

.klima-toggle--standalone {
	align-self: end;
	min-height: 52px;
}

.klima-toggle input {
	accent-color: var(--kc-red);
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.klima-toggle span {
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
}

.klima-live-note,
.klima-window-area {
	color: var(--kc-muted);
	font-size: 12px;
	margin: 0;
}

.klima-live-note strong,
.klima-window-area strong {
	color: var(--kc-ink);
}

.klima-window-list {
	display: grid;
	gap: 16px;
}

.klima-window-row {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 18px;
	display: grid;
	gap: 18px;
	padding: 20px;
}

.klima-window-row__head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.klima-window-row__head strong {
	font-size: 15px;
}

.klima-window-row__head button {
	background: transparent;
	border: 0;
	color: var(--kc-red-dark);
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	padding: 4px;
}

.klima-mode-fields {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 18px;
	display: grid;
	gap: 18px;
	padding: 22px;
}

.klima-review {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.klima-review > div {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 12px;
	display: grid;
	gap: 4px;
	padding: 12px 14px;
}

.klima-review span {
	color: var(--kc-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.klima-review strong {
	font-size: 13px;
}

.klima-calculator-disclaimer,
.klima-calculator-result__warning {
	background: #fff9e8;
	border: 1px solid #f1df9b;
	border-radius: 12px;
	color: #61531e;
	font-size: 12px;
	line-height: 1.55;
	margin: 0;
	padding: 13px 15px;
}

.klima-calculator-submit {
	justify-self: start;
}

.klima-calculator-actions {
	align-items: center;
	border-top: 1px solid var(--kc-line);
	display: flex;
	justify-content: space-between;
	padding-top: 22px;
}

.klima-calculator-actions > div {
	display: flex;
	gap: 10px;
}

.klima-calculator-page .wp-element-button,
.klima-secondary-button,
.klima-calculator-reset {
	align-items: center;
	border-radius: 12px;
	cursor: pointer;
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	text-decoration: none;
}

.klima-calculator-page .wp-element-button {
	background: var(--kc-red);
	border: 1px solid var(--kc-red);
	color: var(--kc-white);
}

.klima-calculator-page .wp-element-button:hover {
	background: var(--kc-red-dark);
	border-color: var(--kc-red-dark);
}

.klima-secondary-button {
	background: var(--kc-white);
	border: 1px solid #c9d2e1;
	color: var(--kc-ink);
}

.klima-calculator-reset {
	background: transparent;
	border: 0;
	color: var(--kc-muted);
}

.klima-calculator-error {
	background: #fff0f2;
	border: 1px solid #ffb5c1;
	border-radius: 12px;
	color: #a3162e;
	font-size: 13px;
	font-weight: 750;
	margin: 0;
	padding: 13px 15px;
}

.klima-calculator-result {
	background: var(--kc-white);
	border: 1px solid var(--kc-line);
	border-radius: 22px;
	box-shadow: var(--kc-shadow);
	display: grid;
	gap: 18px;
	padding: 24px;
	position: sticky;
	top: 112px;
}

.klima-calculator-result::before {
	background: var(--kc-red);
	border-radius: 22px 22px 0 0;
	content: "";
	height: 4px;
	left: -1px;
	position: absolute;
	right: -1px;
	top: -1px;
}

.klima-calculator-result__heading {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.klima-calculator-result__heading .klima-calculator-result__eyebrow {
	margin-bottom: 6px;
}

.klima-calculator-result__heading h2 {
	color: var(--kc-ink) !important;
	font-size: 20px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}

.klima-calculator-result__area {
	align-items: center;
	line-height: 1;
	padding: 0;
	margin: 0;
	background: #fff0f3;
	border-radius: 50%;
	color: var(--kc-red);
	display: flex;
	flex: 0 0 auto;
	font-size: 22px;
	height: 70px;
	justify-content: center;
	width: 70px;
}

.klima-calculator-result__area small {
	font-size: 10px;
	line-height: 1;
	margin-left: 2px;
}

.klima-calculator-result__empty {
	border-top: 1px solid var(--kc-line);
	display: grid;
	gap: 8px;
	padding: 18px 0 4px;
	text-align: center;
}

.klima-calculator-result__empty strong {
	font-size: 17px;
}

.klima-calculator-result__empty p {
	color: var(--kc-muted);
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
}

.klima-calculator-result__content {
	display: grid;
	gap: 14px;
}

.klima-result-card {
	border: 1px solid;
	border-radius: 16px;
	display: grid;
	gap: 7px;
	padding: 18px;
}

.klima-result-card--cooling {
	background: var(--kc-cool);
	border-color: var(--kc-cool-line);
	color: var(--kc-cool-ink);
}

.klima-result-card--heating {
	background: var(--kc-heat);
	border-color: var(--kc-heat-line);
	color: var(--kc-heat-ink);
}

.klima-result-card > span {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.klima-result-card > strong {
	font-size: 34px;
	line-height: 1;
}

.klima-result-card > strong small {
	font-size: 14px;
}

.klima-result-card p {
	color: var(--kc-ink);
	font-size: 12px;
	line-height: 1.45;
	margin: 0;
}

.klima-calculator-result dl {
	border: 1px solid var(--kc-line);
	border-radius: 14px;
	margin: 0;
	overflow: hidden;
}

.klima-calculator-result dl > div {
	align-items: center;
	display: flex;
	font-size: 12px;
	justify-content: space-between;
	padding: 9px 12px;
}

.klima-calculator-result dl > div + div {
	border-top: 1px solid var(--kc-line);
}

.klima-calculator-result dt {
	color: var(--kc-muted);
}

.klima-calculator-result dd {
	font-weight: 850;
	margin: 0;
}

.klima-calculator-result details {
	border: 1px solid var(--kc-line);
	border-radius: 12px;
	font-size: 12px;
	padding: 12px;
}

.klima-calculator-result summary {
	cursor: pointer;
	font-weight: 850;
}

.klima-calculator-result details > div {
	display: grid;
	gap: 7px;
	padding-top: 12px;
}

.klima-calculator-result details p {
	display: flex;
	justify-content: space-between;
	margin: 0;
}

.klima-calculator-result__links {
	display: grid;
	gap: 10px;
	text-align: center;
}

.klima-calculator-result__links > a:last-child {
	color: var(--kc-ink);
	font-size: 12px;
	font-weight: 850;
}

@media (max-width: 1100px) {
	.klima-calculator-breadcrumb,
	.klima-calculator-page {
		width: calc(100% - 32px);
	}

	.klima-calculator-breadcrumb {
		margin-top: 24px;
	}

	.klima-calculator-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.klima-calculator-result {
		position: static;
	}

	.klima-choice-grid--five {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.klima-calculator-breadcrumb {
		margin: 16px auto 8px;
		width: calc(100% - 20px);
	}

	.klima-calculator-page {
		margin: 0 auto 48px;
		width: calc(100% - 20px);
	}

	.klima-calculator-hero {
		border-radius: 18px 18px 0 0;
		gap: 18px;
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 26px 20px;
	}

	.klima-calculator-hero h1 {
		font-size: clamp(38px, 12vw, 52px) !important;
	}

	.klima-calculator-hero__note {
		padding: 16px 18px;
	}

	.klima-calculator-progress {
		padding: 0;
	}

	.klima-calculator-progress button {
		gap: 0;
		min-height: 58px;
		padding: 10px;
	}

	.klima-calculator-progress button strong {
		display: none;
	}

	.klima-calculator-progress button span {
		height: 30px;
		width: 30px;
	}

	.klima-calculator-layout {
		border-radius: 0 0 18px 18px;
		padding: 22px 16px;
	}

	.klima-calculator-form,
	.klima-calculator-panel {
		gap: 22px;
	}

	.klima-choice-grid--three,
	.klima-choice-grid--five,
	.klima-field-grid,
	.klima-field-grid--three,
	.klima-field-grid--window,
	.klima-geometry,
	.klima-toggle-grid,
	.klima-toggle-grid--two,
	.klima-review {
		grid-template-columns: 1fr;
	}

	.klima-choice-grid--three {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.klima-choice-grid--three .klima-choice-card > span {
		min-height: 72px;
		padding: 12px 8px;
		text-align: center;
	}

	.klima-choice-grid--three .klima-choice-card small {
		display: none;
	}

	.klima-choice-grid--five {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.klima-field--room,
	.klima-field--short {
		max-width: none;
	}

	.klima-geometry {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.klima-geometry > div {
		padding: 12px 8px;
		text-align: center;
	}

	.klima-geometry strong {
		font-size: 15px;
	}

	.klima-toggle-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.klima-calculator-actions {
		align-items: stretch;
		gap: 10px;
	}

	.klima-calculator-actions > div {
		margin-left: auto;
	}

	.klima-calculator-page .wp-element-button,
	.klima-secondary-button,
	.klima-calculator-reset {
		padding-inline: 14px;
	}

	.klima-calculator-result {
		padding: 20px 16px;
	}
}

@media (max-width: 480px) {
	.klima-calculator-section-heading {
		grid-template-columns: 36px minmax(0, 1fr);
	}

	.klima-calculator-section-heading h2 {
		font-size: 21px !important;
	}

	.klima-choice-grid--three {
		grid-template-columns: 1fr;
	}

	.klima-choice-grid--three .klima-choice-card > span {
		min-height: 58px;
		text-align: left;
	}

	.klima-choice-grid--five,
	.klima-toggle-grid {
		grid-template-columns: 1fr;
	}

	.klima-geometry {
		grid-template-columns: 1fr;
	}

	.klima-calculator-actions {
		display: grid;
	}

	.klima-calculator-actions > div {
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.klima-calculator-page *,
	.klima-calculator-page *::before,
	.klima-calculator-page *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/*
 * 1.0.106 — Arányos tér a fejléc és a kalkulátor között.
 *
 * A korábbi általános main-reset lenullázta ezt a távolságot. A térközt
 * itt padding adja, ezért nem omlik össze a szomszédos blokkok margójával.
 */
body.klima-has-calculator .wp-site-blocks > header,
body.klima-has-calculator .wp-site-blocks > .wp-block-template-part:first-child {
	margin-block-end: 0 !important;
}

body.klima-has-calculator .wp-site-blocks > main.klima-calculator-main,
body.klima-has-calculator main.wp-block-group.klima-calculator-main {
	margin-block-start: 0 !important;
	padding-block-start: clamp(12px, 1.25vw, 22px) !important;
}

body.klima-has-calculator .klima-calculator-main .klima-calculator-page {
	margin-block-start: 0 !important;
}

/*
 * 1.0.110 - Exact calculator/shop geometry alignment.
 *
 * Keep these selectors deliberately narrow. The previous global override
 * accidentally sized the hero, its copy and its note as if they were the
 * same element, which limited the dark banner to 900 pixels.
 */
body.klima-has-calculator .klima-calculator-breadcrumb,
body.klima-has-calculator .klima-calculator-page {
	width: var(--klima-shell) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

body.klima-has-calculator .klima-calculator-page {
	margin-block: 0 48px !important;
	border-radius: 20px;
}

body.klima-has-calculator .klima-calculator-hero {
	width: 100% !important;
	max-width: none !important;
	min-height: 240px;
	grid-template-columns: minmax(0, 1fr) minmax(200px, 210px);
	gap: 28px;
	padding: 30px 34px;
	border-radius: 20px 20px 0 0;
}

body.klima-has-calculator .klima-calculator-hero__copy {
	width: auto !important;
	max-width: 760px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.klima-has-calculator .klima-calculator-hero h1 {
	max-width: 760px !important;
	margin: 0 !important;
	font-size: clamp(31px, 4vw, 52px) !important;
	line-height: 1 !important;
	letter-spacing: -.035em !important;
}

body.klima-has-calculator .klima-calculator-hero__copy > p {
	max-width: 650px !important;
	margin: 15px 0 0 !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}

body.klima-has-calculator .klima-calculator-hero__note {
	width: 100% !important;
	max-width: 210px !important;
	min-height: 132px !important;
	margin: 0 !important;
	padding: 17px !important;
	border-radius: 16px;
	place-content: center;
}

body.klima-has-calculator .klima-calculator-layout {
	padding: 26px 30px 34px;
}

@media (max-width: 960px) {
	body.klima-has-calculator .klima-calculator-hero {
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 22px;
	}

	body.klima-has-calculator .klima-calculator-hero__note {
		max-width: 360px !important;
		min-height: 0 !important;
		place-content: initial;
	}
}

@media (max-width: 640px) {
	body.klima-has-calculator .klima-calculator-breadcrumb {
		margin-top: 16px;
	}

	body.klima-has-calculator .klima-calculator-page {
		margin-bottom: 36px !important;
		border-radius: 16px;
	}

	body.klima-has-calculator .klima-calculator-hero {
		padding: 26px 20px;
		border-radius: 16px 16px 0 0;
	}

	body.klima-has-calculator .klima-calculator-hero h1 {
		font-size: 34px !important;
	}

	body.klima-has-calculator .klima-calculator-hero__copy > p {
		margin-top: 10px !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
	}

	body.klima-has-calculator .klima-calculator-layout {
		padding: 24px 16px;
	}
}

/*
 * 1.0.111 — Match the shop's header-to-first-panel rhythm exactly.
 * The breadcrumb owns the page inset; the main wrapper contributes no
 * additional padding, so margins cannot collapse differently by template.
 */
body.klima-has-calculator .wp-site-blocks > main.klima-calculator-main,
body.klima-has-calculator main.wp-block-group.klima-calculator-main {
	padding-block-start: 0 !important;
}

body.klima-has-calculator .klima-calculator-breadcrumb {
	margin-top: 6px !important;
	margin-bottom: 10px !important;
}

@media (max-width: 1100px) {
	body.klima-has-calculator .klima-calculator-breadcrumb {
		margin-top: 6px !important;
	}
}

@media (max-width: 640px) {
	body.klima-has-calculator .klima-calculator-breadcrumb {
		margin-top: 6px !important;
	}
}

/* 1.0.424 — Compact workspace, bold result panel; no nested scrolling. */
.klima-calculator-page .klima-calculator-hero { min-height:0!important;padding:20px 28px;gap:20px; }
.klima-calculator-page .klima-calculator-hero h1 { font-size:clamp(28px,3vw,42px)!important; }
.klima-calculator-page .klima-calculator-hero__note { min-height:0!important;padding:12px 16px!important; }
.klima-calculator-page .klima-calculator-hero__copy > p { margin-top:8px!important;font-size:15px; }
.klima-calculator-page .klima-calculator-progress { padding:0 16px;background:#10162e; }
.klima-calculator-page .klima-calculator-progress button { min-height:52px;padding:10px;color:#c5cde1; }
.klima-calculator-page .klima-calculator-progress button[aria-current="step"] { background:#ff3655;color:#fff; }
.klima-calculator-page .klima-calculator-progress button[aria-current="step"] span { background:#fff;color:#ce1435; }
.klima-calculator-page .klima-calculator-layout { padding:22px;gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);align-items:start; }
.klima-calculator-page .klima-calculator-form,.klima-calculator-page .klima-calculator-panel { gap:16px; }
.klima-calculator-page .klima-calculator-section-heading { padding-bottom:12px;gap:12px; }
.klima-calculator-page .klima-calculator-section-heading h2 { font-size:24px!important; }
.klima-calculator-page .klima-choice-card > span { min-height:44px;padding:10px 12px; }
.klima-calculator-page .klima-choice-card:has(input:checked) > span { background:#ff3655;border-color:#ff3655;color:#fff;box-shadow:0 6px 14px #ff36552b; }
.klima-calculator-page .klima-choice-card:has(input:checked) :is(strong,small) { color:#fff; }
.klima-calculator-page [data-klima-step="1"] .klima-choice-card small { display:none; }
.klima-calculator-page .klima-field-grid { gap:12px; }
.klima-calculator-page .klima-field input,.klima-calculator-page .klima-field select { min-height:44px;padding:9px 12px;font-size:16px; }
.klima-calculator-page .klima-geometry { display:flex;flex-wrap:wrap;gap:12px;border-block:1px solid #dce2ec;padding:10px 0; }
.klima-calculator-page .klima-geometry > div { display:flex;align-items:baseline;gap:8px;min-height:0;padding:0;border:0;background:none;border-radius:0;flex:1 1 140px; }
.klima-calculator-page .klima-geometry strong { font-size:16px;white-space:nowrap; }
.klima-calculator-page .klima-calculator-actions { margin-top:0;padding-top:12px; }
.klima-calculator-page .klima-calculator-result { position:static;padding:20px;border:1px solid #283d60;border-top:3px solid #ff3655;background:linear-gradient(145deg,#0b1229,#163257);color:#fff;box-shadow:0 16px 36px #0b122924; }
.klima-calculator-page .klima-calculator-result__heading { margin-bottom:14px; }
.klima-calculator-page .klima-calculator-result__heading h2 { color:#fff!important; }
.klima-calculator-page .klima-calculator-result__eyebrow { color:#ff7890;margin-bottom:6px; }
.klima-calculator-page .klima-calculator-result__content { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.klima-calculator-page .klima-result-card { padding:14px;align-content:start;gap:8px; }
.klima-calculator-page .klima-result-card > strong { font-size:36px; }
.klima-calculator-page .klima-calculator-result__content > :not(.klima-result-card) { grid-column:1 / -1; }
.klima-calculator-page .klima-calculator-result details { border-color:#52617a;background:#ffffff09;padding:10px 12px; }
.klima-calculator-page .klima-calculator-result details :is(dt,dd,p,span,strong) { color:#e4eafa; }
.klima-calculator-page .klima-calculator-result details dl { margin-top:12px;border-color:#52617a; }
.klima-calculator-page .klima-calculator-result__warning { margin:0;padding:10px 12px;font-size:12px;line-height:1.45;background:#fff4d4;color:#654715;border-radius:10px; }
.klima-calculator-page .klima-calculator-result__links { gap:10px; }
.klima-calculator-page .klima-calculator-result__links > a:not(.wp-element-button) { color:#fff; }
.klima-calculator-page .klima-calculator-result__empty p { color:#cad5e9; }
@media(max-width:960px) {
 .klima-calculator-page .klima-calculator-layout { grid-template-columns:1fr;padding:16px; }
}
@media(max-width:480px) {
 .klima-calculator-page .klima-calculator-result__content { grid-template-columns:1fr; }
 .klima-calculator-page .klima-calculator-progress button strong { font-size:12px; }
}

/* 1.0.426 — Supplied calculator visual: white panels and explicit pictograms. */
.klima-calculator-page .klima-calculator-layout { background:#edf4fa;gap:22px; }
.klima-calculator-page .klima-calculator-form { background:#fff;padding:22px;border:1px solid #d5e3f1;border-radius:20px; }
.klima-calculator-page .klima-calculator-progress { background:#fff;border-radius:18px; }
.klima-calculator-page .klima-calculator-progress button { color:#526482;background:none; }
.klima-calculator-page .klima-calculator-progress button[aria-current="step"] { background:#fff;color:#09152d; }
.klima-calculator-page .klima-calculator-progress button[aria-current="step"] span { background:#ff003c;color:#fff; }
.klima-calculator-page .klima-calculator-result { background:#fff;color:#101b35;border-color:#d5e3f1;border-top-color:#ff003c;box-shadow:0 12px 30px #1837590c; }
.klima-calculator-page .klima-calculator-result__heading h2 { color:#0a142c!important; }
.klima-calculator-page .klima-calculator-result__eyebrow { color:#ff003c; }
.klima-calculator-page .klima-calculator-result__eyebrow::before { content:"";display:inline-block;width:9px;height:9px;background:currentColor;border-radius:50%;margin-right:8px; }
.klima-calculator-page .klima-calculator-result details { background:#fff;border-color:#d2deef; }
.klima-calculator-page .klima-calculator-result details :is(dt,dd,p,span,strong) { color:#526482; }
.klima-calculator-page .klima-calculator-result__links > a:not(.wp-element-button) { color:#101b35; }
.klima-calculator-page .klima-calculator-result__empty p { color:#526482; }
.klima-calculator-page .klima-choice-card:has(input:checked) > span { background:#fff1f4;border-color:#ff003c;color:#0a142c; }
.klima-calculator-page .klima-choice-card:has(input:checked) strong { color:#0a142c; }
.klima-calculator-page .klima-choice-card:has(input:checked) small { color:#60728b; }
.klima-calculator-page [data-klima-step="1"] .klima-choice-card > span { padding:12px 22px 12px 48px;min-height:74px;position:relative;align-content:center; }
.klima-calculator-page [data-klima-step="1"] .klima-choice-card small { display:block;font-size:11px; }
.klima-calculator-page .klima-choice-card:has(input:checked) > span::after { content:"✓";position:absolute;right:5px;top:5px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ff003c;color:#fff;font-size:12px; }
.klima-calculator-page .klima-choice-card:has(input[name="mode"]) > span::before { content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:30px;height:38px;background:center/contain no-repeat url("../images/calc-snow.svg"); }
.klima-calculator-page .klima-choice-card:has(input[value="heating"]) > span::before { background-image:url("../images/calc-flame.svg"); }
.klima-calculator-page .klima-choice-card:has(input[value="both"]) > span::before { background-image:url("../images/calc-snow.svg"),url("../images/calc-flame.svg");background-size:17px 24px;background-position:left center,right center;width:36px;left:6px; }
.klima-calculator-page .klima-result-card { position:relative;padding-left:48px;background:linear-gradient(125deg,#f7fcff,#e6f7ff); }
.klima-calculator-page .klima-result-card--heating { background:linear-gradient(125deg,#fffafa,#fff0ef); }
.klima-calculator-page .klima-result-card::before { content:"";position:absolute;left:10px;top:24px;width:30px;height:38px;background:center/contain no-repeat url("../images/calc-snow.svg"); }
.klima-calculator-page .klima-result-card--heating::before { background-image:url("../images/calc-flame.svg"); }
.klima-calculator-page .klima-field--room { position:relative; }
.klima-calculator-page .klima-field--room select { padding-left:46px; }
.klima-calculator-page .klima-field--room::after { content:"";position:absolute;left:12px;bottom:12px;width:24px;height:24px;background:center/contain no-repeat url("../images/calc-chair.svg");pointer-events:none; }
.klima-calculator-page .klima-geometry > div { position:relative;padding-left:30px; }
.klima-calculator-page .klima-geometry > div::before,.klima-calculator-page .klima-calculator-result dt::before { content:"";display:inline-block;width:24px;height:24px;background:center/contain no-repeat url("../images/calc-area.svg"); }
.klima-calculator-page .klima-geometry > div::before { position:absolute;left:0;top:50%;transform:translateY(-50%); }
.klima-calculator-page .klima-geometry > div:nth-child(2)::before,.klima-calculator-page .klima-calculator-result dl > div:nth-child(2) dt::before { background-image:url("../images/calc-cube.svg"); }
.klima-calculator-page .klima-geometry > div:nth-child(3)::before,.klima-calculator-page .klima-calculator-result dl > div:nth-child(3) dt::before { background-image:url("../images/calc-wall.svg"); }
.klima-calculator-page .klima-calculator-result dl > div:nth-child(4) dt::before { background-image:url("../images/calc-window.svg"); }
.klima-calculator-page .klima-calculator-result dt { display:flex;align-items:center;gap:10px; }
.klima-calculator-page .klima-calculator-result__warning { position:relative;padding-left:40px; }
.klima-calculator-page .klima-calculator-result__warning::before { content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:center/contain no-repeat url("../images/calc-warning.svg"); }
@media(min-width:961px) and (max-width:1279px) { .klima-calculator-page .klima-choice-grid--three { gap:6px; } .klima-calculator-page [data-klima-step="1"] .klima-choice-card > span { padding-left:36px; } .klima-calculator-page .klima-choice-card:has(input[name="mode"]) > span::before { width:24px;left:6px; } }

/* 1.0.427: intrinsic mode sizing; center the complete icon + copy group. */
.klima-calculator-page .klima-calculator-layout { grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr); }
.klima-calculator-page [data-klima-step="1"] .klima-compact-group { min-width:0; }
.klima-calculator-page [data-klima-step="1"] .klima-choice-grid--three {
 display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;
}
.klima-calculator-page [data-klima-step="1"] .klima-choice-card {
 flex:1 1 auto;min-width:max-content;
}
.klima-calculator-page [data-klima-step="1"] .klima-choice-card > span {
 display:flex;justify-content:center;align-items:center;gap:14px;
 height:auto;min-height:94px;padding:14px 16px!important;
}
.klima-calculator-page .klima-choice-card:has(input[name="mode"]) > span::before { content:none!important; }
.klima-calculator-page .klima-mode-copy { display:grid;gap:5px;text-align:left; }
.klima-calculator-page .klima-choice-card .klima-mode-copy strong { font-size:16px; }
.klima-calculator-page .klima-choice-card .klima-mode-copy small { font-size:12px; }
.klima-calculator-page .klima-mode-icon {
 display:block;flex:none;width:42px;height:48px;
 background:center/contain no-repeat url("../images/calc-snow.svg");
}
.klima-calculator-page .klima-choice-card:has(input[value="heating"]) .klima-mode-icon {
 background-image:url("../images/calc-flame.svg");
}
.klima-calculator-page .klima-choice-card:has(input[value="both"]) .klima-mode-icon {
 width:86px;background-image:url("../images/calc-snow.svg"),url("../images/calc-flame.svg");
 background-position:left center,right center;background-size:40px 46px;
}
@media(max-width:540px) {
 .klima-calculator-page [data-klima-step="1"] .klima-choice-card { flex-basis:100%;min-width:0; }
}
@media(max-width:1100px) { .klima-calculator-page .klima-calculator-layout { grid-template-columns:1fr; } }

/* 1.0.428: room first; compact numeric fields share the same fluid row. */
.klima-calculator-page .klima-field-grid--room-dimensions {
 display:flex;flex-wrap:wrap;gap:12px;align-items:end;
}
.klima-calculator-page .klima-field-grid--room-dimensions > .klima-field {
 flex:1 1 8em;min-width:0;
}
.klima-calculator-page .klima-field-grid--room-dimensions > .klima-field--room {
 flex:1.6 1 13em;width:auto;max-width:none;margin:0;
}
.klima-calculator-page .klima-field-grid--room-dimensions input { width:100%;min-width:0; }
.klima-calculator-page .klima-unit-input input { text-align:right;font-variant-numeric:tabular-nums; }
.klima-calculator-page .klima-field-grid--room-dimensions select { min-height:52px; }
.klima-calculator-page .klima-field--room:has(.klima-room-picker)::after { display:none; }
.klima-room-picker { position:relative;min-width:0; }
.klima-calculator-page .klima-room-picker button { display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 12px;border:1px solid #ccd4e2;border-radius:12px;background:#fff;color:#13213b;font:inherit;text-align:left;cursor:pointer; }
.klima-room-picker svg { width:28px;height:28px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#425f89; }
.klima-room-picker .klima-room-chevron { margin-left:auto; }
.klima-room-options { position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:calc(100vw - 48px);padding:6px;background:#fff;border:1px solid #ccd4e2;border-radius:14px;box-shadow:0 12px 28px #10244526; }
.klima-calculator-page .klima-room-options button { border:0;min-height:44px;border-radius:8px; }
.klima-calculator-page .klima-room-options button[aria-selected="true"] { background:#fff0f3;color:#e90035; }
.klima-calculator-page .klima-room-picker button:focus-visible { outline:2px solid #ff1644;outline-offset:2px; }
.klima-calculator-page .klima-room-options button:hover { background:#edf4fc; }
.klima-calculator-page .klima-field-grid--room-dimensions > label > span:first-child { font-size:13px; }
.klima-calculator-page .klima-field-grid--room-dimensions .klima-unit-input small { min-width:30px;padding-inline:8px; }
@media(max-width:540px) {
 .klima-calculator-page .klima-field-grid--room-dimensions > .klima-field--room { flex-basis:100%; }
}

/* 1.0.460: compact calculator hero, including the real WordPress body scope.
 * The old body-scoped rules outranked earlier compact styles. Keep the H1,
 * explanation and four-step navigation; let content wrap, never clip text. */
body.klima-has-calculator .klima-calculator-page .klima-calculator-hero {
	min-height: 0 !important;
	height: auto;
	grid-template-columns: minmax(0, 1fr) 240px;
	align-items: center;
	gap: 16px;
	padding: 8px 24px;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-eyebrow {
	display: none;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__copy {
	min-width: 0;
	max-width: none !important;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-hero h1 {
	font-size: clamp(24px, 2.3vw, 32px) !important;
	line-height: 1.15 !important;
	margin: 0 !important;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__copy > p {
	max-width: none !important;
	margin: 4px 0 0 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__note {
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	padding: 6px 10px !important;
	gap: 2px;
	border-radius: 10px;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__note strong {
	font-size: 14px;
	line-height: 1.3;
}

body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__note span {
	font-size: 12px;
	line-height: 1.35;
}

@media (max-width: 960px) {
	body.klima-has-calculator .klima-calculator-page .klima-calculator-hero {
		grid-template-columns: minmax(0, 1fr);
		padding: 8px 16px;
		gap: 0;
	}
	/* These hints already appear in the step navigation and live result panel. */
	body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__note {
		display: none;
	}
}

@media (max-width: 640px) {
	body.klima-has-calculator .klima-calculator-page .klima-calculator-hero__copy > p {
		font-size: 13px !important;
	}
}

/* 1.0.471: bring steps 2–4 into the compact first-step visual rhythm.
 * First step, result panel, calculation, DOM/tab order and all fields stay intact.
 * No fixed panel heights, hidden content or nested scroll areas. */
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) {
	gap: 12px;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-calculator-section-heading {
	padding-bottom: 10px;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-field-grid {
	gap: 10px 12px;
	align-items: end;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-field {
	gap: 6px;
	align-content: start;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-field > span:first-child {
	font-size: 14px;
	line-height: 1.3;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-field :is(input, select) {
	min-height: 44px;
	padding: 8px 10px;
	font-size: 16px;
	line-height: 1.35;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-unit-input {
	min-height: 44px;
	grid-template-columns: minmax(0, 1fr) 36px;
}
.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-unit-input input {
	min-height: 42px;
}
.klima-calculator-page [data-klima-step="2"] .klima-compact-group {
	gap: 8px;
}
.klima-calculator-page [data-klima-step="2"] .klima-compact-group > legend {
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 6px;
}
.klima-calculator-page [data-klima-step="2"] .klima-choice-grid--five {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.klima-calculator-page [data-klima-step="2"] .klima-choice-card > span {
	min-height: 48px;
	padding: 8px 24px 8px 10px;
	border-radius: 12px;
}
.klima-calculator-page [data-klima-step="2"] .klima-choice-card > span strong {
	font-size: 14px;
	line-height: 1.3;
}
.klima-calculator-page [data-klima-step="2"] .klima-choice-card:has(input:checked) > span::after {
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
}
.klima-calculator-page [data-klima-step="2"] .klima-toggle-grid {
	gap: 8px;
}
.klima-calculator-page [data-klima-step="2"] .klima-toggle {
	min-height: 44px;
	padding: 8px 10px;
	gap: 8px;
}
.klima-calculator-page [data-klima-step="2"] .klima-toggle span {
	font-size: 14px;
}
.klima-calculator-page [data-klima-step="2"] .klima-live-note {
	font-size: 13px;
	line-height: 1.4;
}
.klima-calculator-page [data-klima-step="3"] .klima-window-list {
	gap: 12px;
}
.klima-calculator-page [data-klima-step="3"] .klima-window-row,
.klima-calculator-page [data-klima-step="4"] .klima-mode-fields {
	gap: 12px;
	padding: 14px;
	border-radius: 14px;
	border-color: #d5e3f1;
}
.klima-calculator-page [data-klima-step="3"] .klima-window-row__head {
	gap: 12px;
	border-bottom: 1px solid var(--kc-line);
	padding-bottom: 10px;
}
.klima-calculator-page [data-klima-step="3"] .klima-window-row__head strong {
	font-size: 15px;
}
.klima-calculator-page [data-klima-step="3"] [data-klima-remove-window] {
	min-height: 44px;
	padding: 8px;
	font-size: 14px;
}
.klima-calculator-page [data-klima-step="3"] .klima-field-grid--window {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.klima-calculator-page [data-klima-step="3"] .klima-field-grid--window > .klima-field:where(:nth-child(n+5)) {
	grid-column: span 2;
}
.klima-calculator-page [data-klima-step="3"] .klima-window-area {
	border-top: 1px solid var(--kc-line);
	padding-top: 8px;
	font-size: 13px;
}
.klima-calculator-page [data-klima-step="3"] [data-klima-add-window] {
	justify-self: start;
	min-height: 44px;
	font-size: 14px;
}
.klima-calculator-page [data-klima-step="4"] .klima-mode-fields > h3 {
	margin: 0;
	padding-left: 10px;
	border-left: 3px solid var(--kc-heat-ink);
	font-size: 16px;
	line-height: 1.35;
}
.klima-calculator-page [data-klima-step="4"] [data-klima-mode-fields="cooling"] > h3 {
	border-color: var(--kc-cool-ink);
}
.klima-calculator-page [data-klima-step="4"] .klima-field-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}
.klima-calculator-page [data-klima-step="4"] .klima-field-grid > .klima-field {
	grid-column: span 2;
}
.klima-calculator-page [data-klima-step="4"] .klima-field-grid > .klima-field:where(:nth-child(n+4)) {
	grid-column: span 3;
}
.klima-calculator-page [data-klima-step="4"] .klima-review {
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.klima-calculator-page [data-klima-step="4"] .klima-review > div {
	padding: 8px 10px;
}
.klima-calculator-page [data-klima-step="4"] .klima-calculator-disclaimer {
	padding: 10px 12px;
}
@media (min-width: 1440px) {
	.klima-calculator-page [data-klima-step="2"] .klima-choice-grid--five {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
	.klima-calculator-page [data-klima-step="4"] .klima-review {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.klima-calculator-page [data-klima-step="4"] .klima-review {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.klima-calculator-page .klima-calculator-panel:is([data-klima-step="2"], [data-klima-step="3"], [data-klima-step="4"]) .klima-calculator-section-heading h2 {
		font-size: clamp(18px, 4.4vw, 22px) !important;
		line-height: 1.25;
		overflow-wrap: anywhere;
	}
	.klima-calculator-page [data-klima-step="2"] .klima-choice-grid--five,
	.klima-calculator-page [data-klima-step="2"] .klima-toggle-grid,
	.klima-calculator-page [data-klima-step="3"] .klima-field-grid--window,
	.klima-calculator-page [data-klima-step="4"] .klima-field-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.klima-calculator-page [data-klima-step="3"] .klima-field-grid--window > .klima-field,
	.klima-calculator-page [data-klima-step="4"] .klima-field-grid > .klima-field {
		grid-column: auto;
	}
	.klima-calculator-page [data-klima-step="3"] .klima-field-grid--window > .klima-field:nth-child(n+5),
	.klima-calculator-page [data-klima-step="4"] .klima-field:has([name="location"], [name="outdoor_temp"], [name="heating_role"], [name="heating_schedule"]) {
		grid-column: 1 / -1;
	}
	.klima-calculator-page [data-klima-step="3"] .klima-window-row,
	.klima-calculator-page [data-klima-step="4"] .klima-mode-fields {
		padding: 10px;
	}
}
@media (max-width: 480px) {
	.klima-calculator-page [data-klima-step="3"] .klima-field-grid--window,
	.klima-calculator-page [data-klima-step="4"] .klima-field-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 1.0.472: accessible model notes; no new responsive thresholds. */
.klima-calculator-model-help { min-width: 0; font-size: 14px; line-height: 1.45; color: #526481; }
.klima-calculator-model-help > summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 700; color: #152347; }
.klima-calculator-model-help > summary::before { content: '+'; flex: none; }
.klima-calculator-model-help[open] > summary::before { content: '−'; }
.klima-calculator-model-help > summary:focus-visible { outline: 2px solid #005dce; outline-offset: 2px; }
.klima-calculator-model-help p { margin: 6px 0 10px; overflow-wrap: anywhere; }
.klima-calculator-model-help .klima-field { max-width: 320px; margin: 6px 0; }
.klima-calculator-page .klima-toggle:has(input:disabled) { opacity: .65; }
.klima-calculator-page [aria-invalid="true"] { border-color: #ce1640; outline: 2px solid #ce1640; outline-offset: 1px; }
.klima-calculator-page .klima-calculator-actions [hidden] { display: none !important; }

/* 1.0.473: examples are visibly different from entered/default data.
 * Keep placeholders readable, use typography and an empty-state border as
 * additional cues; never apply opacity to the entire input or its value.
 */
.klima-calculator-page .klima-calculator-form input[placeholder]::placeholder {
	color: #667085;
	opacity: 1;
	font-size: 0.875rem;
	font-style: italic;
	font-weight: 400;
	letter-spacing: normal;
}
.klima-calculator-page .klima-calculator-form input[placeholder]:not(:placeholder-shown) {
	color: #13213b;
	font-style: normal;
}
.klima-calculator-page .klima-field > input[placeholder]:placeholder-shown,
.klima-calculator-page .klima-unit-input:has(> input[placeholder]:placeholder-shown) {
	background: #f8fafc;
	border-style: dashed;
}
.klima-calculator-page .klima-unit-input > input[placeholder]:placeholder-shown {
	background: transparent;
}

/* Explicit answers: an unanswered control is not a zero or a negative answer. */
.klima-calculator-page [data-klima-window-fields][hidden],
.klima-calculator-page [data-klima-recovery-field][hidden] {
	display: none !important;
}
.klima-calculator-page .klima-field > select:has(option[value=""]:checked) {
	color: #667085;
	background: #f8fafc;
	border-style: dashed;
}
.klima-calculator-page .klima-room-picker > button[data-placeholder] {
	color: #667085;
	background: #f8fafc;
	border-style: dashed;
	font-size: 1rem;
}
.klima-calculator-page .klima-no-exterior {
	margin-top: 8px;
	min-height: 44px;
}
.klima-calculator-page .klima-temperature-suggestion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 12px;
	color: #53627d;
	font-size: .875rem;
}
.klima-calculator-page .klima-temperature-suggestion .klima-secondary-button {
	max-width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	white-space: normal;
	font-size: .875rem;
}
.klima-calculator-page [data-klima-suggestion-status]:empty {
	display: none;
}
