/*
 * Calculator Core owns the calculator markup and behavior.
 * This stylesheet is the theme integration boundary: it maps Core's
 * published visual variables to the Property Deal Math design tokens.
 */

.calculator-page,
.calculator-archive {
	--calculator-ink: var(--pdm-ink);
	--calculator-muted: var(--pdm-muted);
	--calculator-line: var(--pdm-line);
	--calculator-surface: var(--pdm-surface);
	--calculator-soft: var(--pdm-tint);
	--calculator-accent: var(--pdm-accent);
	--calculator-accent-dark: var(--pdm-navy);
	--calculator-danger: var(--pdm-negative);
	--calculator-danger-surface: #fff4f2;
	--calculator-on-accent: var(--pdm-surface);
	--calculator-input-surface: var(--pdm-surface);
	--calculator-control-height: 2.75rem;
	--calculator-radius: var(--pdm-radius-sm);
	color: var(--pdm-ink);
	font-family: var(--pdm-font);
}

.pdm-calculator-shell {
	max-width: var(--pdm-content);
	margin: 0 auto;
	padding-bottom: 80px;
}

.pdm-calculator-intro {
	padding-bottom: 28px;
}

.pdm-calculator-content {
	max-width: var(--pdm-content);
	margin: 0 auto;
	padding: 0 24px;
}

.calculator-page .calculator-tool-shell {
	border-color: var(--pdm-line);
	border-radius: var(--pdm-radius-md);
	background: var(--pdm-surface);
}

.calculator-page .calculator-tool-panel--results {
	border-left-color: var(--pdm-line);
}

.calculator-page .calculator-results .calculator-output,
.calculator-page .calculator-result-details-list .calculator-output {
	border-color: var(--pdm-line);
	background: var(--pdm-surface);
}

.calculator-page .calculator-results .calculator-output[data-output-visibility="primary"] {
	border-top-color: var(--pdm-accent);
}

.calculator-page .calculator-formula-panel {
	border-top-color: var(--pdm-line);
	background: var(--pdm-tint);
}

.calculator-page .calculator-formula-item {
	border-inline-start-color: var(--pdm-accent);
	background: var(--pdm-surface);
}

.calculator-page .calculator-action,
.calculator-page .calculator-step-button--next,
.calculator-page .calculator-tab.is-active {
	border-color: var(--pdm-navy);
	background: var(--pdm-navy);
	color: var(--pdm-surface);
}

.calculator-page .calculator-action:hover,
.calculator-page .calculator-step-button--next:hover,
.calculator-page .calculator-tab.is-active:hover {
	background: var(--pdm-ink);
}

.calculator-page .calculator-field input,
.calculator-page .calculator-field select,
.calculator-page .calculator-feedback-panel select,
.calculator-page .calculator-feedback-panel textarea,
.calculator-page .calculator-pdf-lead-panel input[type="email"],
.calculator-page .calculator-pdf-lead-panel input[type="text"] {
	border-color: var(--pdm-line);
	border-radius: var(--pdm-radius-sm);
	background: var(--pdm-surface);
}

.calculator-page .calculator-field input:focus,
.calculator-page .calculator-field select:focus,
.calculator-page .calculator-feedback-panel select:focus,
.calculator-page .calculator-feedback-panel textarea:focus,
.calculator-page .calculator-pdf-lead-panel input[type="email"]:focus,
.calculator-page .calculator-pdf-lead-panel input[type="text"]:focus {
	border-color: var(--pdm-focus);
	outline-color: var(--pdm-focus);
}

.calculator-page .calculator-output[data-output-visibility="primary"] .calculator-output-value,
.calculator-page .calculator-panel-title,
.calculator-page .calculator-pdf-lead-kicker {
	color: var(--pdm-accent);
}

.calculator-page .calculator-warnings,
.calculator-page .calculator-status.is-error,
.calculator-page .calculator-feedback-status.is-error,
.calculator-page .calculator-pdf-lead-status.is-error {
	color: var(--pdm-negative);
}

@media (max-width: 760px) {
	.pdm-calculator-shell {
		padding-bottom: 56px;
	}

	.pdm-calculator-content {
		padding-right: 20px;
		padding-left: 20px;
	}

	.calculator-page .calculator-tool-panel--results {
		border-top-color: var(--pdm-line);
	}
}
