.loan-two-col-card {
	background: #eef0f5;
	border: 1px solid #dfe2e8;
	border-radius: 4px !important;
	padding: 20px;
	margin-bottom: 15px;
}

.loan-result-title {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}

.loan-muted-title {
	font-size: 16px;
	color: #555;
	line-height: 1.5;
	margin-bottom: 8px;
}

.loan-stat-value {
	font-size: 36px;
	font-weight: 700;
	margin: 8px 0 12px;
}

.loan-stat-box {
	margin-top: 18px;
}

.loan-label {
	color: #555;
	font-size: 14px;
}

.loan-value {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.2px;
}

.loan-sub-value {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
	margin-top: 6px;
}

.loan-primary-text {
	color: #4B8DF8;
	font-weight: bold;
}

.loan-primary-row {
	margin-bottom: 4px;
}

.loan-primary-col {
	margin-bottom: 16px;
}

@media (min-width: 768px) {
	.loan-primary-col {
		margin-bottom: 0;
	}
}

.loan-divider {
	border-top: 1px solid #cfd5e2;
	margin: 14px 0 6px;
}

.loan-pie-wrap {
	text-align: center;
	padding-top: 0;
	width: 100%;
	max-width: 260px;
	margin: 0 auto;
}

.loan-pie-chart-wrapper {
	position: relative;
	width: 240px;
	height: 280px;
	min-height: 280px;
	max-height: 280px;
	margin: 0 auto;
	overflow: hidden;
	box-sizing: border-box;
}

.loan-pie-canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.loan-pie-wrap {
		max-width: 100%;
	}

	.loan-pie-chart-wrapper {
		width: 100%;
		max-width: 210px;
		height: 230px;
		min-height: 230px;
		max-height: 230px;
	}
}

.amortization-head-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 15px;
}

.amortization-head-row h3,
.calc-app .calc-apr-schedule-heading {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #253047;
}

.amortization-download-actions {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.amortization-download-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid #2f6fd4;
	border-radius: 4px;
	color: #FFF;
	background: #4B8DF8;
	text-decoration: none;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}

.amortization-download-btn:hover,
.amortization-download-btn:focus {
	color: #FFF;
	border-color: #2f6fd4;
	background: #2f6fd4;
	text-decoration: none;
}

.amortization-download-btn.pdf-download-btn {
	background: #e02222 !important;
	border-color: #c61b1b !important;
	color: #fff !important;
}

.amortization-download-btn.pdf-download-btn:hover,
.amortization-download-btn.pdf-download-btn:focus {
	background: #c61b1b !important;
	border-color: #a71717 !important;
	color: #fff !important;
}

/* ── Calculator page: full-width calculate button ─────────────────────── */
.calc-btn-full {
	width: 100%;
	min-height: 38px;
	padding: 8px 12px;
	font-size: 16px;
	font-weight: 600;
}

@media (max-width: 767px) {
	.amortization-head-row {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.amortization-head-row h3 {
		flex: 0 0 100%;
	}

	.amortization-download-actions {
		flex: 0 0 100%;
		justify-content: flex-end;
	}
}

/* ── Feature intro section ─────────────────────────────────────────────── */
.calc-feature-intro {
	margin: 10px 0 14px;
	padding: 14px 16px;
	background: linear-gradient(180deg, #f8fbff 0%, #f1f6ff 100%);
	border: 1px solid #d9e5fb;
	border-left: 4px solid #4b8df8;
	border-radius: 6px;
	color: #3c4b64;
	font-size: 15px;
	line-height: 1.8;
}

/* ── Calculator sidebar active state ───────────────────────────────────── */
.calc-sidebar-nav li a {
	display: block;
	padding: 8px 10px;
	border-radius: 4px;
	color: #2f3b52;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.calc-sidebar-nav li a:hover,
.calc-sidebar-nav li a:focus {
	background: #eef4ff;
	color: #1f5ec4;
	text-decoration: none;
}

.calc-sidebar-nav li.active a {
	background: #4b8df8;
	color: #fff;
	font-weight: 600;
}

.calc-sidebar-nav li.active a i {
	color: #fff;
}

/* ── How to Use section ────────────────────────────────────────────────── */
.calc-how-to-use {
	margin-top: 40px;
	margin-bottom: 16px;
	padding: 18px 20px 14px;
	background: #f8f9fc;
	border: 1px solid #e3e8f2;
	/* border-left: 4px solid #f26d22; */
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(28, 39, 60, 0.06);
	text-align: left;
}

.calc-section-heading {
	margin-top: 0;
	margin-bottom: 14px;
	font-size: 18px;
	color: #253047;
	font-weight: 700;
	text-align: left;
}

.calc-how-to-list {
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.8;
	color: #3f495c;
	margin-bottom: 0;
	text-align: left;
}

.calc-how-to-list li {
	margin-bottom: 6px;
	font-size: 15px;
}

/* ── FAQ section ────────────────────────────────────────────────────────── */
.calc-faq {
	margin-top: 0;
	padding: 18px 20px 14px;
	background: #f8f9fc;
	border: 1px solid #e3e8f2;
	/* border-left: 4px solid #f26d22; */
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(28, 39, 60, 0.06);
	text-align: left;
}

.calc-faq-item {
	margin-bottom: 16px;
}

.calc-faq-item:last-child {
	margin-bottom: 0;
}

.calc-faq-q {
	font-size: 15px;
	font-weight: 700;
	color: #253047;
	margin-bottom: 4px;
	line-height: 1.7;
	text-align: left;
}

.calc-faq-a {
	font-size: 15px;
	color: #3f495c;
	line-height: 1.8;
	margin: 0;
	text-align: left;
}

#loan-amortization-table,
#mortgage-amortization-table,
#savings-schedule-table,
#compound-savings-schedule-table,
#savings-goal-schedule-table,
#cd-schedule-table {
	table-layout: fixed;
	width: 100%;
}

#loan-amortization-table th,
#loan-amortization-table td,
#mortgage-amortization-table th,
#mortgage-amortization-table td,
#savings-schedule-table th,
#savings-schedule-table td,
#compound-savings-schedule-table th,
#compound-savings-schedule-table td,
#savings-goal-schedule-table th,
#savings-goal-schedule-table td,
#cd-schedule-table th,
#cd-schedule-table td {
	text-align: center;
	vertical-align: middle;
}

#loan-amortization-table th:first-child,
#loan-amortization-table td:first-child,
#mortgage-amortization-table th:first-child,
#mortgage-amortization-table td:first-child,
#savings-schedule-table th:first-child,
#savings-schedule-table td:first-child,
#compound-savings-schedule-table th:first-child,
#compound-savings-schedule-table td:first-child,
#cd-schedule-table th:first-child,
#cd-schedule-table td:first-child {
	width: 8%;
}

#loan-amortization-table th:not(:first-child),
#loan-amortization-table td:not(:first-child),
#mortgage-amortization-table th:not(:first-child),
#mortgage-amortization-table td:not(:first-child),
#savings-schedule-table th:not(:first-child),
#savings-schedule-table td:not(:first-child),
#compound-savings-schedule-table th:not(:first-child),
#compound-savings-schedule-table td:not(:first-child),
#cd-schedule-table th:not(:first-child),
#cd-schedule-table td:not(:first-child) {
	width: calc(92% / 5);
}

#savings-goal-schedule-table th:first-child,
#savings-goal-schedule-table td:first-child {
	width: 8%;
	text-align: center;
}

#savings-goal-schedule-table th:nth-child(2),
#savings-goal-schedule-table td:nth-child(2) {
	width: 18%;
	text-align: left;
}

#savings-goal-schedule-table th:not(:first-child):not(:nth-child(2)),
#savings-goal-schedule-table td:not(:first-child):not(:nth-child(2)) {
	width: calc(74% / 4);
	text-align: right;
}

#savings-goal-schedule-table thead th {
	background: #f5f5f5;
	color: #333;
	font-weight: 600;
}

.calc-app #savings-goal-schedule-wrap {
	margin-bottom: 24px;
}

.calc-app #savings-goal-chart-wrap {
	margin-top: 32px;
	margin-bottom: 32px;
}

.calc-app #savings-goal-chart-wrap > .amortization-head-row {
	margin-bottom: 14px;
}

.calc-app #savings-goal-chart-wrap .calc-cd-chart-inner {
	position: relative;
	height: 280px;
	max-width: 100%;
}

.calc-app #savings-goal-results-section #savings-goal-chart-wrap + .amortization-head-row {
	margin-top: 0;
}

#cd-schedule-table th:not(:first-child),
#cd-schedule-table td:not(:first-child) {
	width: calc(92% / 4);
}

/* Consolidated feature styles (moved from individual calculator CSS files) */

/* Loan calculator form (shared across categories) */
.loan-calculator-form .control-label {
	text-align: left;
	font-size: 14px;
}

.loan-calculator-form .form-group-compact {
	margin-bottom: 10px;
}

.calc-app .va-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .va-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.va-term-or-wrap {
	margin-bottom: 0;
}

.va-term-or {
	font-size: 12px;
	color: #666;
	font-weight: normal;
}

.calc-app .ap-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .ap-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .dp-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .dp-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .dp-calculator-form .calc-dp-split-label .control-label {
	font-size: 14px;
	color: #666;
	font-weight: 600;
	margin-bottom: 4px;
}

.calc-app .dp-calculator-form .calc-dp-split-label .control-label small {
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
}

.calc-app .dp-calculator-form .calc-dp-split-label .controls {
	margin-left: 0;
}

.calc-app .dp-calculator-form .calc-dp-split-label .input-group {
	width: 100%;
}

.calc-app .amz-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .amz-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .calc-optional-panel {
	margin-bottom: 12px;
	border: 1px solid #dde3ea;
	border-radius: 4px;
	background: #fafbfc;
}

.calc-app .calc-optional-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	color: #337ab7;
	margin-bottom: 0;
	padding: 8px 12px;
	list-style: none;
	outline: none;
}

.calc-app .calc-optional-panel > summary::-webkit-details-marker {
	display: none;
}

.calc-app .calc-optional-panel > summary::-moz-list-bullet {
	list-style: none;
}

.calc-app .calc-optional-summary-text {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

.calc-app .calc-optional-chevron {
	flex: 0 0 auto;
	font-size: 12px;
	color: #337ab7;
	transition: transform 0.2s ease;
}

.calc-app .calc-optional-panel[open] .calc-optional-chevron {
	transform: rotate(180deg);
}

.calc-app .calc-optional-body {
	padding: 8px 12px 12px;
	border-top: 1px solid #e8ecf0;
}

.calc-app .calc-optional-note {
	font-size: 12px;
	color: #666;
	margin: 0 0 12px;
}

.amz-split-row {
	margin-left: -4px;
	margin-right: -4px;
}

.amz-split-col {
	padding-left: 4px;
	padding-right: 4px;
}

/* Amortization calculator: full-width stacked fields inside narrow optional panel */
.calc-app .amz-calculator-form .calc-optional-body .amz-split-row {
	display: flex;
	flex-direction: column;
	margin-left: 0;
	margin-right: 0;
}

.calc-app .amz-calculator-form .calc-optional-body .amz-split-col {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 8px;
}

.calc-app .amz-calculator-form .calc-optional-body .amz-split-col:last-child {
	margin-bottom: 0;
}

.calc-app .amz-calculator-form .calc-optional-body .calc-month-field .calc-month-display {
	overflow: visible;
	text-overflow: clip;
	white-space: nowrap;
	min-width: 0;
}

/* VA loan calculator: stack extra-payment controls in narrow form column */
.calc-app .va-calculator-form .calc-optional-body .amz-split-row {
	display: flex;
	flex-direction: column;
	margin-left: 0;
	margin-right: 0;
}

.calc-app .va-calculator-form .calc-optional-body .amz-split-col {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
	padding-left: 0;
	padding-right: 0;
}

.calc-app .va-calculator-form .calc-optional-body .va-extra-separator {
	border-top: 1px solid #e8ecf0;
	margin: 6px 0 12px;
}

.calc-app .calc-amz-payoff-months {
	margin: 4px 0 0;
	font-size: 12px;
	line-height: 1.3;
}

.calc-app .calc-month-field {
	position: relative;
	width: 100%;
}

.calc-app .calc-month-field .calc-month-display {
	background-color: #fff;
	min-height: 34px;
	cursor: pointer;
}

.calc-app .calc-month-field .calc-month-trigger {
	cursor: pointer;
	color: #337ab7;
}

.calc-app .calc-month-field .calc-month-trigger .fa {
	pointer-events: none;
}

.calc-app .calc-month-picker {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	z-index: 1060;
	width: 100%;
	min-width: 240px;
	padding: 10px;
	border: 1px solid #d9d9d9;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.calc-app .calc-month-picker-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.calc-app .calc-month-picker-year {
	font-weight: 600;
	font-size: 14px;
	color: #333;
}

.calc-app .calc-month-picker-nav {
	border: 0;
	background: transparent;
	color: #337ab7;
	padding: 4px 8px;
	line-height: 1;
}

.calc-app .calc-month-picker-nav:hover,
.calc-app .calc-month-picker-nav:focus {
	color: #23527c;
	outline: none;
}

.calc-app .calc-month-picker-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}

.calc-app .calc-month-picker-month {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: #fff;
	color: #333;
	font-size: 12px;
	line-height: 1.2;
	padding: 8px 4px;
}

.calc-app .calc-month-picker-month:hover,
.calc-app .calc-month-picker-month:focus {
	border-color: #337ab7;
	color: #337ab7;
	outline: none;
}

.calc-app .calc-month-picker-month.is-selected {
	border-color: #337ab7;
	background: #337ab7;
	color: #fff;
}

.mortgage-down-split-row {
	margin-left: -4px;
	margin-right: -4px;
}

.mortgage-down-split-col {
	padding-left: 4px;
	padding-right: 4px;
}

.mortgage-down-split-label {
	font-size: 12px;
	color: #666;
	margin-bottom: 4px;
}

.mortgage-pie-wrap {
	text-align: center;
	padding-top: 0;
	width: 100%;
	max-width: 280px;
	margin: 0 auto;
}

.mortgage-pie-chart-wrapper {
	position: relative;
	width: 240px;
	height: 280px;
	min-height: 280px;
	max-height: 280px;
	margin: 0 auto;
	overflow: hidden;
	box-sizing: border-box;
}

.mortgage-pie-canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.mortgage-pie-wrap {
		max-width: 100%;
	}

	.mortgage-pie-chart-wrapper {
		width: 100%;
		max-width: 210px;
		height: 230px;
		min-height: 230px;
		max-height: 230px;
	}
}

.mortgage-piti-line {
	font-size: 15px;
	color: #555;
	margin-top: 6px;
	min-height: 24px;
}

.mortgage-piti-line strong {
	color: #333;
}

.mortgage-primary-row {
	display: flex;
	flex-wrap: wrap;
}

.mortgage-primary-col {
	display: flex;
	flex-direction: column;
}

.mortgage-primary-col .loan-muted-title {
	min-height: 25px;
	margin-bottom: 6px;
}

.mortgage-primary-col .loan-value {
	min-height: 42px;
}

.mortgage-stat-row {
	display: flex;
	flex-wrap: wrap;
}

.mortgage-stat-pair-row {
	margin-bottom: 10px;
}

.mortgage-stat-pair-row:last-child {
	margin-bottom: 0;
}

.mortgage-stat-col {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
}

.mortgage-stat-col .loan-label {
	min-height: 20px;
}

.mortgage-stat-col .loan-sub-value {
	min-height: 40px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.mortgage-primary-col .loan-muted-title,
	.mortgage-stat-col .loan-label,
	.mortgage-primary-col .loan-value,
	.mortgage-stat-col .loan-sub-value,
	.mortgage-piti-line {
		min-height: 0;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	/* iPad/tablet: keep 2-column layout (results left, chart right) */
	.calc-app .calc-results-section .loan-two-col-card > .row,
	#mortgage-results-section .loan-two-col-card > .row,
	#pnw-results-section .loan-two-col-card > .row {
		display: flex;
		flex-wrap: nowrap;
	}

	.calc-app .calc-results-section .loan-two-col-card > .row > .col-sm-7,
	#mortgage-results-section .loan-two-col-card > .row > .col-sm-7,
	#pnw-results-section .loan-two-col-card > .row > .col-sm-7 {
		width: 58%;
	}

	.calc-app .calc-results-section .loan-two-col-card > .row > .col-sm-5,
	#mortgage-results-section .loan-two-col-card > .row > .col-sm-5,
	#pnw-results-section .loan-two-col-card > .row > .col-sm-5 {
		width: 42%;
		padding-left: 10px;
	}

	/* Results should display one-by-one in the left column */
	.calc-app .calc-results-section .mortgage-primary-row,
	.calc-app .calc-results-section .mortgage-stat-row,
	.calc-app .calc-results-section .loan-primary-row,
	.calc-app .calc-results-section .loan-stat-box .row,
	#mortgage-results-section .mortgage-primary-row,
	#mortgage-results-section .mortgage-stat-row,
	#pnw-results-section .mortgage-primary-row,
	#pnw-results-section .mortgage-stat-row,
	#r401k-results-section .mortgage-primary-row,
	#r401k-results-section .mortgage-stat-row,
	#calc72t-results-section .mortgage-primary-row,
	#calc72t-results-section .mortgage-stat-row,
	#borrow401k-results-section .mortgage-primary-row,
	#borrow401k-results-section .mortgage-stat-row,
	#plan403b-results-section .mortgage-primary-row,
	#plan403b-results-section .mortgage-stat-row,
	#tey-results-section .mortgage-primary-row,
	#tey-results-section .mortgage-stat-row,
	#roi-results-section .mortgage-primary-row,
	#roi-results-section .mortgage-stat-row {
		display: block;
	}

	.calc-app .calc-results-section .mortgage-primary-col,
	.calc-app .calc-results-section .mortgage-stat-col,
	.calc-app .calc-results-section .loan-primary-row > [class*="col-"],
	.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"],
	#mortgage-results-section .mortgage-primary-col,
	#mortgage-results-section .mortgage-stat-col,
	#pnw-results-section .mortgage-primary-col,
	#pnw-results-section .mortgage-stat-col,
	#r401k-results-section .mortgage-primary-col,
	#r401k-results-section .mortgage-stat-col,
	#calc72t-results-section .mortgage-primary-col,
	#calc72t-results-section .mortgage-stat-col,
	#borrow401k-results-section .mortgage-primary-col,
	#borrow401k-results-section .mortgage-stat-col,
	#plan403b-results-section .mortgage-primary-col,
	#plan403b-results-section .mortgage-stat-col,
	#tey-results-section .mortgage-primary-col,
	#tey-results-section .mortgage-stat-col,
	#roi-results-section .mortgage-primary-col,
	#roi-results-section .mortgage-stat-col {
		width: 100%;
		float: none;
		margin-bottom: 8px;
	}

	.calc-app .calc-results-section .mortgage-stat-col .loan-sub-value,
	.calc-app .calc-results-section .mortgage-primary-col .loan-value,
	.calc-app .calc-results-section .loan-primary-row .loan-value,
	.calc-app .calc-results-section .loan-stat-box .loan-sub-value,
	#mortgage-results-section .mortgage-stat-col .loan-sub-value,
	#mortgage-results-section .mortgage-primary-col .loan-value,
	#mortgage-results-section .mortgage-piti-line,
	#r401k-results-section .mortgage-stat-col .loan-sub-value,
	#r401k-results-section .mortgage-primary-col .loan-value,
	#calc72t-results-section .mortgage-stat-col .loan-sub-value,
	#calc72t-results-section .mortgage-primary-col .loan-value,
	#borrow401k-results-section .mortgage-stat-col .loan-sub-value,
	#borrow401k-results-section .mortgage-primary-col .loan-value,
	#plan403b-results-section .mortgage-stat-col .loan-sub-value,
	#plan403b-results-section .mortgage-primary-col .loan-value,
	#tey-results-section .mortgage-stat-col .loan-sub-value,
	#tey-results-section .mortgage-primary-col .loan-value,
	#roi-results-section .mortgage-stat-col .loan-sub-value,
	#roi-results-section .mortgage-primary-col .loan-value,
	#pnw-results-section .mortgage-stat-col .loan-sub-value,
	#pnw-results-section .mortgage-primary-col .loan-value {
		white-space: normal;
		text-overflow: clip;
		overflow: visible;
	}

	.calc-app .calc-results-section .mortgage-primary-col:last-child,
	.calc-app .calc-results-section .mortgage-stat-col:last-child,
	.calc-app .calc-results-section .loan-primary-row > [class*="col-"]:last-child,
	.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"]:last-child,
	#mortgage-results-section .mortgage-primary-col:last-child,
	#mortgage-results-section .mortgage-stat-col:last-child,
	#r401k-results-section .mortgage-primary-col:last-child,
	#r401k-results-section .mortgage-stat-col:last-child,
	#calc72t-results-section .mortgage-primary-col:last-child,
	#calc72t-results-section .mortgage-stat-col:last-child,
	#borrow401k-results-section .mortgage-primary-col:last-child,
	#borrow401k-results-section .mortgage-stat-col:last-child,
	#plan403b-results-section .mortgage-primary-col:last-child,
	#plan403b-results-section .mortgage-stat-col:last-child,
	#tey-results-section .mortgage-primary-col:last-child,
	#tey-results-section .mortgage-stat-col:last-child,
	#roi-results-section .mortgage-primary-col:last-child,
	#roi-results-section .mortgage-stat-col:last-child,
	#pnw-results-section .mortgage-primary-col:last-child,
	#pnw-results-section .mortgage-stat-col:last-child {
		margin-bottom: 0;
	}
}

/* Personal net worth: projection line chart */
.calc-app .pnw-projection-chart-wrap {
	position: relative;
	width: 100%;
	height: 300px;
	max-width: 100%;
	margin-top: 8px;
}

.calc-app .pnw-calculator-form .calc-form-section-label {
	display: block;
	margin: 16px 0 10px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
}

.calc-app .pnw-calculator-form .calc-form-section-label:first-of-type {
	margin-top: 0;
}

.calc-app .pnw-calculator-form .form-control,
.calc-app .pnw-calculator-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app .pnw-calculator-form .input-group {
	width: 100%;
}

.calc-app .pnw-calculator-form .input-group .form-control {
	min-height: 34px;
}

.calc-app .pnw-calculator-form .input-group-addon {
	font-size: 14px;
}

/* CD calculator */
.cd-calculator-form .control-label {
	text-align: left;
}

/* Simple savings calculator */
.savings-calculator-form .control-label {
	text-align: left;
}

.savings-feature-intro {
	float: left;
	width: 100%;
	margin: 0 0 12px;
	padding: 8px 10px;
	background: #f7f9fc;
	border-left: 3px solid #f26d22;
	color: #4a4a4a;
	line-height: 1.55;
	font-size: 13px;
}

.savings-calc-btn {
	width: 100%;
	padding: 8px 12px;
}

#savings-results-section,
#savings-results-section .loan-two-col-card,
#savings-results-section .row {
	overflow: hidden;
}

.savings-pie-wrap {
	text-align: center;
	padding-top: 0;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.savings-pie-chart-wrapper {
	position: relative;
	width: 100%;
	max-width: 240px;
	height: 280px;
	min-height: 280px;
	max-height: 280px;
	margin: 0 auto;
	overflow: hidden;
	box-sizing: border-box;
}

.savings-pie-canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.savings-bar-wrap {
	margin-top: 40px;
}

#savings-results-section .amortization-head-row {
	margin-top: 40px;
}

#savings-results-section .table-responsive {
	margin-bottom: 40px;
}

.savings-bar-chart-wrapper {
	position: relative;
	width: 100%;
	height: 260px;
	min-height: 260px;
	max-width: 100%;
	overflow: hidden;
}

.savings-bar-chart-wrapper canvas,
.savings-pie-chart-wrapper canvas {
	max-width: 100% !important;
}

@media (max-width: 1024px) {
	.savings-pie-chart-wrapper {
		height: 240px;
		min-height: 240px;
		max-height: 240px;
	}

	.savings-bar-chart-wrapper {
		height: 220px;
		min-height: 220px;
	}
}

@media (max-width: 767px) {
	.savings-feature-intro {
		font-size: 12px;
		line-height: 1.5;
		padding: 8px;
	}

	#savings-results-section .amortization-head-row {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	#savings-results-section .amortization-head-row h3 {
		width: 100%;
	}

	#savings-results-section .amortization-download-actions {
		width: 100%;
		justify-content: flex-end;
	}

	.savings-pie-wrap {
		margin-top: 12px;
	}

	.savings-pie-chart-wrapper {
		height: 210px;
		min-height: 210px;
		max-height: 210px;
	}

	.savings-bar-chart-wrapper {
		height: 200px;
		min-height: 200px;
	}

	/* All calculator schedules: prevent overlap on small screens */
	.calc-app .calc-schedule-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.calc-app .calc-schedule-scroll table {
		table-layout: auto;
		min-width: 760px;
	}

	.calc-app .calc-schedule-scroll table th,
	.calc-app .calc-schedule-scroll table td {
		white-space: nowrap;
		font-size: 14px;
		padding: 6px 5px;
	}
}

/* Compound savings calculator */
.calc-app .compound-savings-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .compound-savings-form.form-horizontal .controls {
	margin-left: 0;
}

.compound-savings-chart-wrap {
	margin-top: 12px;
}

.compound-savings-chart-wrapper {
	position: relative;
	width: 100%;
	height: 280px;
	min-height: 280px;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.compound-savings-chart-wrapper {
		height: 230px;
		min-height: 230px;
	}
}

/* Savings goal calculator */
.calc-app .savings-goal-form.form-horizontal .control-label,
.calc-app .savings-goal-form .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.calc-app .savings-goal-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .savings-goal-form .form-control,
.calc-app .savings-goal-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app .savings-goal-form .input-group {
	width: 100%;
}

.calc-app .savings-goal-form .input-group-addon {
	font-size: 14px;
}

.calc-app .savings-goal-form .controls > .calc-field-hint {
	display: block;
	margin-top: 6px;
	margin-bottom: 0;
}


.calc-app a.calc-inline-link {
	color: #1976d2;
}

/* Save money calculator */

.calc-app #savings-goal-results-section .amortization-head-row {
	margin-top: 20px;
}

/* Save money calculator */
.save-money-form .control-label {
	text-align: left;
}

.save-money-time-label {
	font-size: 14px;
	color: #666;
	margin-bottom: 4px;
}

/* Save a million calculator */
.calc-app .save-million-form.form-horizontal .control-label,
.calc-app .save-million-form .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.calc-app .save-million-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .save-million-form .form-control,
.calc-app .save-million-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app .save-million-form .input-group {
	width: 100%;
}

.calc-app .save-million-form .input-group-addon {
	font-size: 14px;
}

.calc-app .save-million-inflation-callout {
	background: #e3f2fd;
	border: 1px solid #90caf9;
	border-radius: 4px;
	padding: 10px 12px;
	margin-bottom: 12px;
	font-size: 13px;
	line-height: 1.45;
	color: #333;
}

.calc-app .save-million-inflation-callout .fa {
	color: #1976d2;
	margin-right: 8px;
}

.calc-app .save-million-total-at-target {
	font-size: 14px;
	margin-bottom: 12px;
	color: #333;
}

/* College savings calculator */
.calc-app .college-savings-form.form-horizontal .control-label,
.calc-app .college-savings-form .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.calc-app .college-savings-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .college-savings-form .form-control,
.calc-app .college-savings-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app .college-savings-form .input-group {
	width: 100%;
}

.calc-app .college-savings-form .input-group-addon {
	font-size: 14px;
}

.calc-app .college-savings-form .cs-child-panel .control-label {
	font-size: 14px;
	font-weight: 600;
}

.calc-app .cs-total-expense-row {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #eee;
	color: #333;
}

.calc-app .cs-child-panel {
	margin-bottom: 10px;
}

.calc-app .cs-child-panel .panel-heading {
	cursor: pointer;
	padding: 8px 12px;
	font-size: 14px;
}

.calc-app .cs-child-panel .panel-body {
	padding: 10px 12px 8px;
}

.calc-app .cs-child-cost-line {
	font-size: 13px;
	margin-bottom: 10px;
	color: #555;
}

.calc-app .cs-remove-child {
	font-size: 12px;
	margin-top: 4px;
	display: inline-block;
}

.calc-app .cs-add-child-btn {
	margin-bottom: 12px;
}

.calc-app #cs-results-section .amortization-head-row,
.calc-app #cs-results-section .amortization-head-row.calc-cs-chart-head {
	margin-top: 20px;
	margin-bottom: 0;
}

.calc-app #cs-results-section .calc-cs-balance-chart,
.calc-app #cs-results-section .calc-cs-costs-chart {
	height: 280px;
	margin-bottom: 8px;
}

.calc-app #cs-results-section .cs-status-line {
	font-weight: 600;
	margin-top: 12px;
	margin-bottom: 0;
	color: #333;
}

.calc-app #cs-results-section #cs_subline_contribution {
	margin-top: 6px;
	color: #333;
}

.calc-app #cs-results-section #cs_subline_contribution strong {
	font-weight: 700;
	color: #333;
}

.calc-app #cs-results-section .cs-goal-status {
	margin-top: 6px;
	font-weight: 600;
}

.calc-app #cs-results-section .cs-goal-status.cs-goal-meets {
	color: #1f7a3a;
}

.calc-app #cs-results-section .cs-goal-status.cs-goal-shortfall {
	color: #c0392b;
}

.calc-app #save-million-results-section .amortization-head-row {
	margin-top: 20px;
	margin-bottom: 0;
}

.calc-app #save-million-results-section .sam-chart-subtitle {
	margin-top: 6px;
	margin-bottom: 8px;
}

.calc-app #save-million-results-section .save-million-chart-inner {
	height: 300px;
	margin-bottom: 8px;
}

.calc-app #save-million-results-section .sam-status-line {
	font-weight: 600;
	margin-top: 8px;
	margin-bottom: 0;
	color: #333;
}

.calc-app #save-million-results-section #million_subline_required {
	margin-top: 6px;
}

.calc-app #save-million-results-section .sam-goal-status {
	margin-top: 6px;
	font-weight: 600;
}

.calc-app #save-million-results-section .sam-goal-status.sam-goal-meets {
	color: #1f7a3a;
}

.calc-app #save-million-results-section .sam-goal-status.sam-goal-shortfall {
	color: #c0392b;
}

.save-million-chart-wrap {
	margin-top: 16px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* ── Calculator layout shell (add .calc-app to root .main.ecommerce in views) ─ */
.calc-app.main.ecommerce,
.main.ecommerce.calc-app {
	margin-top: 0 !important;
}

.calc-app .calc-page-container {
	min-height: 400px;
	padding-top: 0;
}

.calc-app .calc-page-row {
	background: #eee;
	margin-top: 0;
}

.calc-app .calc-breadcrumb-gap,
.calc-app .calc-breadcrumb-row {
	margin-top: 0;
	padding-top: 0;
}

.calc-app .calc-page-row > .calc-breadcrumb-gap:first-child,
.calc-app .calc-page-row > .calc-breadcrumb-row:first-child {
	margin-bottom: 0;
}

.calc-app .breadcrumb {
	margin-top: 0;
	margin-bottom: 8px;
}

.calc-app .control-label .required,
.calc-app span.required {
	color: #c9302c;
	display: inline !important;
	float: none !important;
	clear: none !important;
	margin-left: 0.12em;
	padding: 0;
	white-space: nowrap;
	vertical-align: baseline;
	position: static;
	width: auto;
	font-weight: 700;
	line-height: inherit;
}

/* Keep last word + asterisk on one line in narrow form columns */
.calc-app .calc-label-required-tail,
.calc-app .calc-rpi-required-tail {
	display: inline;
	white-space: nowrap;
}

.calc-app .calc-site-brand {
	float: left;
}

.calc-app .calc-page-title {
	text-transform: none !important;
}

/* Calculators index listing (matches articles/categories layout) */
.calc-app.calc-index-page .page_title {
	text-transform: none !important;
}

.calc-app.calc-index-page .widget {
	margin-top: 0 !important;
}

.calc-app.calc-index-page .calc-index-title {
	font-size: 24px;
	font-weight: 600;
	color: #e02222;
	margin-top: 0;
	margin-bottom: 14px;
}

.calc-app.calc-index-page .calc-index-panel {
	border: 1px solid #aaa;
	padding: 10px 12px;
	background: transparent;
	border-radius: 0;
}

.calc-app.calc-index-page .calc-index-group {
	margin-bottom: 24px;
}

.calc-app.calc-index-page .calc-index-group:last-child {
	margin-bottom: 0;
}

.calc-app.calc-index-page .calc-index-group-head {
	background-color: transparent;
	margin-bottom: 10px;
}

.calc-app.calc-index-page .calc-index-group-title {
	text-align: left;
	font-size: 18px;
	font-weight: 600;
	color: #333;
}

.calc-app.calc-index-page .calc-index-list {
	display: none;
	margin: 0;
	padding: 0;
	border: 1px solid #ddd;
	background: #fff;
}

.calc-app.calc-index-page .calc-index-list-item {
	border-bottom: 1px solid #eee;
}

.calc-app.calc-index-page .calc-index-list-item:last-child {
	border-bottom: none;
}

.calc-app.calc-index-page .calc-index-list-item a {
	display: block;
	padding: 12px 14px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
	text-decoration: none;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

.calc-app.calc-index-page .calc-index-list-item a:hover,
.calc-app.calc-index-page .calc-index-list-item a:focus {
	color: #e02222;
}

.calc-app.calc-index-page .calc-index-grid {
	margin-left: -8px;
	margin-right: -8px;
}

.calc-app.calc-index-page .calc-index-link-col {
	padding-bottom: 12px;
	padding-left: 8px;
	padding-right: 8px;
}

.calc-app.calc-index-page .calc-index-link {
	display: block;
	font-size: 15px;
	line-height: 1.45;
	padding-left: 1.1em;
	text-indent: -1.1em;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	color: #333;
}

.calc-app.calc-index-page .calc-index-link:before {
	content: "\2022";
	display: inline-block;
	width: 1.1em;
	text-indent: 0;
}

.calc-app.calc-index-page .calc-index-link:hover,
.calc-app.calc-index-page .calc-index-link:focus {
	color: #e02222;
	font-weight: 600;
}

@media (max-width: 1024px) {
	/* Match /hotdeals/categories on mobile + iPad only */
	.calc-app.calc-index-page .calc-index-panel {
		padding: 10px;
		background: transparent;
	}

	.calc-app.calc-index-page .calc-index-list {
		display: none !important;
	}

	.calc-app.calc-index-page .calc-index-grid {
		display: block !important;
		margin-left: 0;
		margin-right: 0;
	}

	.calc-app.calc-index-page .calc-index-group {
		margin-bottom: 30px;
	}

	.calc-app.calc-index-page .calc-index-group-head {
		margin-bottom: 15px;
	}

	.calc-app.calc-index-page .calc-index-group-title {
		font-size: 18px;
		font-weight: 600;
	}

	.calc-app.calc-index-page .calc-index-link-col {
		float: none;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 12px;
	}

	.calc-app.calc-index-page .calc-index-link {
		font-size: 15px;
		font-weight: 400;
		line-height: 1.4;
		padding-left: 14px;
		text-indent: 0;
		position: relative;
	}

	.calc-app.calc-index-page .calc-index-link:before {
		content: "\2022";
		display: block;
		width: auto;
		text-indent: 0;
		position: absolute;
		left: 0;
		top: 0;
	}
}

/* iPad/tablet: adapt columns by available resolution */
@media (min-width: 740px) and (max-width: 899px) {
	.calc-app.calc-index-page .calc-index-link-col {
		float: left;
		width: 50%;
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media (min-width: 900px) and (max-width: 1024px) {
	.calc-app.calc-index-page .calc-index-link-col {
		float: left;
		width: 33.33333333%;
		padding-left: 8px;
		padding-right: 8px;
	}
}

.calc-app .layout_post_2.calc-card,
.calc-app .layout_post_2.post.calc-card {
	background: #fff;
	border: 1px solid #fff !important;
	box-shadow: rgba(17, 17, 26, 0.05) 0 1px 0, rgba(17, 17, 26, 0.1) 0 0 8px;
	border-radius: 5px !important;
	padding: 15px;
	margin-bottom: 15px;
}

.calc-help-hidden {
	display: none;
}

.calc-app .calc-field-stack {
	margin-bottom: 8px;
}

.calc-app .calc-alert-flush {
	margin-bottom: 0;
}

.calc-app .calc-schedule-scroll {
	max-height: 320px;
	overflow: auto;
	border: 1px solid #e5e5e5;
	margin-top: 10px;
	background: #fff;
}

/* ── Retirement plan report (aligned with standard calc layout) ──────────── */
.calc-app .calc-nripage-savings-stat-row {
	margin-bottom: 12px;
}

.calc-app .calc-nripage-savings-stat-row-last {
	margin-bottom: 0;
}

.calc-app .calc-nripage-report-taxes-text {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.55;
}

.calc-app .calc-export-only-summary {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.calc-app .calc-retirement-schedule-table th,
.calc-app .calc-retirement-schedule-table td {
	text-align: right;
}

.calc-app .calc-retirement-schedule-table th:first-child,
.calc-app .calc-retirement-schedule-table td:first-child {
	text-align: left;
}

.calc-app .calc-status-badge {
	display: inline-block;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	margin-top: 8px !important;
	padding: 4px 12px;
	border-radius: 999px;
	width: fit-content;
	max-width: 100%;
}

.calc-app .calc-status-on-track {
	color: #1b5e20 !important;
	background: #e8f5e9;
}

.calc-app .calc-status-shortfall {
	color: #b71c1c !important;
	background: #ffebee;
}

.calc-app .adv-holder {
	margin-top: -20px;
}

/* Right rail as a direct column in .calc-page-row (not nested in .col-md-8) */
.calc-app .calc-page-row > .adv-holder {
	margin-top: 0;
}

/* Home affordability (new house) calculator */
.calc-app .nh-afford-layout {
	margin-left: 0;
	margin-right: 0;
}

.calc-app .nh-afford-form .form-group {
	margin-bottom: 12px;
}

.calc-app .nh-afford-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 8px;
	align-items: stretch;
}

@media (max-width: 767px) {
	.calc-app .nh-afford-cards {
		grid-template-columns: 1fr;
	}
}

.calc-app .nh-afford-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 18px 16px 14px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	min-width: 0;
}

/* Same vertical slot for pill vs title so stat rows line up side by side */
.calc-app .nh-afford-card-heading {
	min-height: 40px;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.calc-app .nh-afford-badge {
	display: inline-block;
	background: #1b5e20;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
	margin-bottom: 0;
}

.calc-app .nh-afford-title-max {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #222;
	margin-bottom: 0;
	line-height: 1.35;
	padding: 6px 0;
}

.calc-app .nh-afford-stat {
	margin-top: 12px;
}

.calc-app .nh-afford-card-heading + .nh-afford-stat {
	margin-top: 0;
}

.calc-app .nh-afford-card-heading + .nh-afford-stat + .nh-afford-stat,
.calc-app .nh-afford-stat + .nh-afford-stat {
	margin-top: 12px;
}

.calc-app .nh-afford-stat-label {
	font-size: 13px;
	color: #666;
	margin-bottom: 2px;
}

.calc-app .nh-afford-stat-value {
	font-size: 22px;
	font-weight: 700;
	color: #111;
	line-height: 1.2;
}

.calc-app .nh-afford-hint {
	font-size: 11px;
	color: #888;
	font-weight: 400;
}

.calc-app .nh-afford-copy {
	font-size: 13px;
	color: #555;
	line-height: 1.45;
	margin: 14px 0 0;
}

.calc-app .nh-afford-cta {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid #e5e5e5;
}

.calc-app .nh-afford-cta-text {
	float: left;
	max-width: calc(100% - 200px);
	font-size: 14px;
	color: #444;
	line-height: 1.45;
	margin: 0 0 12px;
}

.calc-app .nh-afford-cta-btn {
	float: right;
	margin-top: 2px;
	padding-left: 22px;
	padding-right: 22px;
}

@media (max-width: 767px) {
	.calc-app .nh-afford-cta-text {
		float: none;
		max-width: none;
	}
	.calc-app .nh-afford-cta-btn {
		float: none;
		width: 100%;
	}
}

.calc-app .compound-savings-chart-wrap > h3,
.calc-app .savings-bar-wrap > h3 {
	font-size: 18px;
}

/* Biweekly mortgage calculator */
.calc-app .calc-bw-chart-wrap {
	margin-top: 18px;
	margin-bottom: 8px;
}

.calc-app .calc-bw-chart-wrap .calc-bw-chart-inner {
	position: relative;
	height: 320px;
	max-width: 100%;
	overflow: hidden;
}

.calc-app .calc-bw-chart-wrap .calc-bw-chart-inner canvas {
	display: block;
	max-width: 100%;
}

.calc-app .calc-bw-amortization-head {
	position: relative;
	z-index: 3;
}

.calc-app .calc-bw-amortization-head .amortization-download-actions {
	position: relative;
	z-index: 4;
}

.calc-app .calc-bw-amortization-head .amortization-download-btn {
	-webkit-appearance: none;
	appearance: none;
}

.calc-app .calc-bw-chart-note {
	margin-top: 0;
	margin-bottom: 10px;
}

/* Mortgage down payment calculator */
.calc-app .calc-dp-results-note {
	margin: 4px 0 0;
}
.calc-app .dp-chart-wrap {
	height: 260px;
	max-width: 100%;
	position: relative;
}

/* Sidebar partial (_sidebar_nav.php) */
.list-sidebar-categories.filters_col.calc-sidebar-module {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.calc-sidebar-nav-title {
	font-size: 15px;
	font-weight: 600;
	padding: 10px 14px;
	background: #2d2d2d;
	margin-bottom: 0;
	color: #fff;
	border-radius: 6px 6px 0 0;
}

.calc-sidebar-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.calc-sidebar-toggle-icon {
	display: none;
	font-size: 20px;
	line-height: 1;
}

/* Prevent duplicate bottom divider lines when sidebar is collapsed */
.calc-sidebar-module .calc-sidebar-toggle[aria-expanded='false'] {
	margin-bottom: 0 !important;
	border-bottom: 0 !important;
}

.calc-sidebar-module .calc-sidebar-toggle[aria-expanded='false'] + .calc-sidebar-nav-body {
	border-top: 0 !important;
}

.calc-sidebar-nav-body {
	background: #fff;
	padding: 0;
	border: 1px solid #e4e7ee;
	border-top: 0;
	border-radius: 0 0 6px 6px;
}

.calc-app .calc-mobile-top-sidebar {
	display: none;
}

.list-sidebar-categories .calc-sidebar-nav {
	margin: 0;
	padding: 8px 10px;
}

.list-sidebar-categories .calc-sidebar-nav > li {
	margin-bottom: 6px;
}

.list-sidebar-categories .calc-sidebar-search-item {
	margin-bottom: 8px;
}

.list-sidebar-categories .calc-sidebar-search-input {
	width: 100%;
	height: 34px;
	padding: 6px 10px;
	font-size: 13px;
	border-radius: 4px;
	border: 1px solid #d8dee8;
	box-shadow: none;
}

.list-sidebar-categories .calc-sidebar-no-results {
	color: #777;
	font-size: 13px;
	padding: 4px 2px;
}

.list-sidebar-categories .calc-sidebar-group {
	margin-top: 4px;
	margin-bottom: 0;
}

.list-sidebar-categories .calc-sidebar-nav > li.calc-sidebar-group {
	margin-bottom: 0;
	padding: 4px 0;
	border-bottom: 1px solid #e5e5e5;
}

.list-sidebar-categories .calc-sidebar-group-title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #4a5568;
	padding: 8px 4px;
	border-bottom: 0 !important;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	user-select: none;
}

.list-sidebar-categories .calc-sidebar-group.is-open .calc-sidebar-group-title {
	margin-bottom: 6px;
	color: #2f6fd4;
}

.list-sidebar-categories .calc-sidebar-group-toggle-icon {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: #7b8798;
	margin-left: 8px;
}

.list-sidebar-categories .calc-sidebar-nav-sub {
	margin: 0;
	padding: 0 0 4px 0;
}

.list-sidebar-categories .calc-sidebar-nav-sub > li {
	margin-bottom: 4px;
}

.calc-sidebar-nav li a {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 6px 8px;
	font-size: 13px;
	line-height: 1.35;
	color: #475467;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.calc-sidebar-nav li a i {
	min-width: 14px;
	text-align: center;
	color: #8892a6;
}

.calc-sidebar-nav li a:hover,
.calc-sidebar-nav li a:focus {
	background: #f3f6fb;
	color: #1f2937;
}

.calc-sidebar-nav li.active > a {
	background: #e9f1ff;
	color: #1d4fa3;
	font-weight: 600;
}

.calc-sidebar-nav li.active > a i {
	color: #1d4fa3;
}

@media (max-width: 1024px) {
	.calc-app.main.ecommerce,
	.main.ecommerce.calc-app,
	.calc-app {
		margin-top: 0 !important;
	}

	.calc-app .calc-page-container {
		width: 100%;
		max-width: 100%;
		padding-top: 12px;
		padding-left: 12px;
		padding-right: 12px;
		overflow: visible;
	}

	.calc-app .calc-page-row {
		margin-left: 0;
		margin-right: 0;
		overflow: visible;
	}

	.calc-app .calc-page-row > [class*="col-"] {
		padding-left: 10px;
		padding-right: 10px;
		max-width: 100%;
	}

	.calc-app .calc-page-row > .col-md-8.calc-main-col,
	.calc-app .calc-page-row > .col-md-10.calc-index-main {
		width: 100% !important;
		float: none !important;
		clear: both !important;
	}

	.calc-app .calc-breadcrumb-gap,
	.calc-app .calc-breadcrumb-row {
		display: none !important;
	}

	.calc-app .calc-site-brand {
		float: none;
		width: 100%;
		clear: both;
		margin-bottom: 8px;
	}

	.calc-app .calc-page-title,
	.calc-app .page_title.calc-page-title {
		font-size: 22px;
		line-height: 1.25;
		word-wrap: break-word;
		overflow-wrap: anywhere;
		margin-top: 0 !important;
		margin-bottom: 10px;
	}

	.calc-app .filters_col {
		margin-bottom: 0 !important;
	}

	.calc-app .calc-sidebar-slot {
		display: none !important;
		margin-bottom: 12px;
	}

	.calc-app .public_sidebar_listing {
		padding: 0 !important;
	}

	.calc-app .calc-mobile-top-sidebar.public_sidebar_listing {
		display: block !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		float: none !important;
		clear: both !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		box-sizing: border-box;
		margin-top: 4px;
	}

	.calc-app .calc-mobile-top-sidebar {
		margin-bottom: 14px;
		overflow: visible;
	}

	.calc-app .calc-mobile-top-sidebar .list-sidebar-categories.filters_col,
	.calc-app .calc-mobile-top-sidebar .calc-sidebar-module {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		float: none !important;
		display: block !important;
		box-sizing: border-box;
	}

	.calc-app .calc-sidebar-module .calc-sidebar-nav-title,
	.calc-app .calc-sidebar-module .calc-sidebar-toggle {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.calc-app .calc-sidebar-module {
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible;
		box-sizing: border-box;
	}

	.calc-sidebar-nav-title {
		font-size: 14px;
		padding: 10px 12px;
		word-wrap: break-word;
		overflow-wrap: anywhere;
		gap: 8px;
	}

	.calc-sidebar-nav-body.is-expanded-mobile {
		max-height: min(70vh, 520px);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.list-sidebar-categories .calc-sidebar-search-input {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.calc-app .calc-feature-intro {
		font-size: 14px;
		line-height: 1.55;
		padding: 12px;
	}

	.calc-app .calc-sidebar-legacy-mobile {
		display: none !important;
	}

	.calc-sidebar-toggle-icon {
		display: inline-block;
		flex: 0 0 auto;
	}

	.calc-sidebar-toggle-mobile {
		cursor: pointer;
	}

	.calc-app .calc-sidebar-slot.calc-sidebar-inline-mobile {
		width: 100%;
		float: none;
		padding-left: 0;
		padding-right: 0;
		margin-bottom: 14px;
		position: relative;
		z-index: 2;
	}

	.calc-app .calc-sidebar-nav-body a {
		pointer-events: auto;
	}
}

@media (max-width: 767px) {
	.calc-app.main.ecommerce,
	.main.ecommerce.calc-app,
	.calc-app {
		margin-top: 0 !important;
	}

	.calc-app .calc-page-container {
		padding-top: 14px;
	}

	.calc-app.calc-index-page .calc-index-main {
		padding-top: 4px;
	}

	.calc-app .calc-page-title,
	.calc-app .page_title.calc-page-title {
		font-size: 20px;
		margin-top: 0 !important;
	}

	.calc-app.calc-index-page .calc-index-title {
		font-size: 20px;
		line-height: 1.3;
		padding-top: 2px;
		color: #e02222;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.calc-app .calc-main-col {
		width: 100%;
		float: left;
	}
}

/* Save money calculator: tight row + table header */
.calc-app .calc-row-flush {
	margin: 0;
}

.calc-app .calc-col-tight-left {
	padding-left: 0;
}

.calc-app .calc-col-tight-right {
	padding-right: 0;
}

.calc-app #save-money-schedule-table th {
	text-align: center;
}

.calc-app #save-money-schedule-table th:first-child {
	width: 6%;
}

.calc-app .loan-calculator-form .control-label {
	text-align: left;
}

/* 401(k) retirement calculator: left-aligned stacked labels */
.calc-app .r401k-calc-form.form-horizontal .control-label,
.calc-app .calc72t-calc-form.form-horizontal .control-label,
.calc-app .borrow401k-calc-form.form-horizontal .control-label,
.calc-app .roi-calc-form.form-horizontal .control-label,
.calc-app .tey-calc-form.form-horizontal .control-label,
.calc-app .plan403b-calc-form.form-horizontal .control-label,
.calc-app .rpi-calc-form.form-horizontal .control-label,
.calc-app .rp-calc-form.form-horizontal .control-label,
.calc-app .rmd-calc-form.form-horizontal .control-label,
.calc-app .roth-calc-form.form-horizontal .control-label,
.calc-app .trad-calc-form.form-horizontal .control-label,
.calc-app .ss-calc-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .r401k-calc-form.form-horizontal .controls,
.calc-app .calc72t-calc-form.form-horizontal .controls,
.calc-app .borrow401k-calc-form.form-horizontal .controls,
.calc-app .roi-calc-form.form-horizontal .controls,
.calc-app .tey-calc-form.form-horizontal .controls,
.calc-app .plan403b-calc-form.form-horizontal .controls,
.calc-app .rpi-calc-form.form-horizontal .controls,
.calc-app .rp-calc-form.form-horizontal .controls,
.calc-app .rmd-calc-form.form-horizontal .controls,
.calc-app .roth-calc-form.form-horizontal .controls,
.calc-app .trad-calc-form.form-horizontal .controls,
.calc-app .ss-calc-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .borrow401k-calc-form .input-group,
.calc-app .borrow401k-calc-form .controls .form-control {
	width: 100%;
	max-width: none;
}

.calc-app .borrow401k-calc-form .calc-borrow401k-amount-group,
.calc-app .borrow401k-calc-form .calc-borrow401k-amount-input {
	width: 100%;
	max-width: none;
}

.calc-app .borrow401k-calc-form .calc-borrow401k-amount-input {
	min-height: 42px;
	padding: 10px 12px;
	font-size: 16px;
	line-height: 1.4;
}

@media (min-width: 992px) {
	.calc-app .calc-borrow401k-layout > .row > .col-md-4.col-sm-12:first-child {
		width: 33.33333333%;
	}

	.calc-app .calc-borrow401k-layout > .row > .col-md-8.col-sm-12 {
		width: 66.66666667%;
	}
}

/* All retirement calculators: stacked left-aligned labels */
.calc-app .calc-retirement.calc-card .form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .calc-retirement.calc-card .input-group,
.calc-app .calc-retirement.calc-card .controls .form-control {
	width: 100%;
	max-width: none;
}

.calc-app .calc-retirement.calc-card .form-horizontal .controls {
	margin-left: 0;
}

.loan-interest-results p {
	font-size: 16px;
}

/* Auto lease calculator: breakdown rows (label left, amount right) */
.calc-app .calc-auto-lease-breakdown {
	margin-top: 16px;
}

.calc-app .calc-auto-lease-breakdown .calc-lease-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid #e8e8e8;
	font-size: 14px;
}

.calc-app .calc-auto-lease-breakdown .calc-lease-row:last-child {
	border-bottom: none;
}

.calc-app .calc-auto-lease-breakdown .calc-lease-label {
	font-weight: 600;
	color: #333;
}

.calc-app .calc-auto-lease-breakdown .calc-lease-value {
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.calc-app .calc-epp-shortened-note {
	margin-top: 4px;
	margin-bottom: 12px;
}

.loan-epp-chart-wrap {
	position: relative;
	width: 100%;
	height: 320px;
	max-height: 360px;
	margin-top: 18px;
	margin-bottom: 8px;
}

.calc-app .rfx-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .rfx-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .loan-calculator-form .rfx-balance-options,
.calc-app .rfx-calculator-form .rfx-balance-options {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	overflow: visible;
}

.calc-app .loan-calculator-form .rfx-balance-option,
.calc-app .rfx-calculator-form .rfx-balance-option {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	column-gap: 8px;
	align-items: start;
	margin: 0;
	width: 100%;
	max-width: 100%;
}

.calc-app .loan-calculator-form .rfx-balance-option input[type="radio"],
.calc-app .rfx-calculator-form .rfx-balance-option input[type="radio"] {
	float: none;
	position: static;
	margin: 2px 0 0;
	width: 16px;
	height: 16px;
}

.calc-app .loan-calculator-form .rfx-balance-option label,
.calc-app .rfx-calculator-form .rfx-balance-option label {
	margin: 0;
	padding: 0;
	font-weight: normal;
	text-align: left;
	width: auto;
	float: none;
	line-height: 1.4;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	cursor: pointer;
}

.calc-app .rfx-calculator-form .calc-rfx-optional-field .control-label {
	font-size: 14px;
	color: #666;
	font-weight: 600;
}

.calc-app .mtd-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .mtd-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .mtd-calculator-form .calc-optional-body .form-group {
	margin-bottom: 10px;
}

.calc-app .mtd-calculator-form .calc-optional-body .form-group:last-child {
	margin-bottom: 0;
}

.calc-app .ltv-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .ltv-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .ltv-calculator-form .calc-ltv-form-note {
	font-weight: 700;
	margin: 0 0 12px;
}

.calc-app .ltv-calculator-form .calc-ltv-secondary-heading {
	font-weight: 700;
	margin: 16px 0 12px;
}

.calc-app .col-calculator-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
}

.calc-app .col-calculator-form.form-horizontal .controls {
	margin-left: 0;
}

.col-category-chart-wrap {
	position: relative;
	width: 100%;
	height: 320px;
	min-height: 280px;
	max-height: 380px;
	margin-top: 16px;
	margin-bottom: 8px;
	overflow: hidden;
}

.col-category-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.calc-col-result-headline {
	font-size: 28px;
	font-weight: 700;
	margin: 10px 0 6px;
	line-height: 1.2;
}

.calc-col-pct-note {
	font-size: 15px;
	margin-bottom: 14px;
	color: #333;
}

.calc-col-data-source {
	font-size: 12px;
	color: #666;
	margin-bottom: 8px;
	text-align: right;
}

.calc-col-breakdown-table {
	margin-top: 8px;
}

.calc-col-detail-block {
	margin-top: 22px;
}

.calc-col-detail-block .calc-col-detail-heading {
	margin: 0 0 8px;
	font-size: 16px;
}

.calc-mtd-headline-value {
	font-size: 34px;
	line-height: 1.15;
}

.mtd-payment-chart-wrap {
	position: relative;
	width: 100%;
	height: 320px;
	min-height: 320px;
	max-height: 360px;
	margin-top: 18px;
	margin-bottom: 8px;
	overflow: hidden;
}

.mtd-payment-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.nh-afford-chart-wrap {
	position: relative;
	width: 100%;
	height: 300px;
	min-height: 280px;
	max-height: 340px;
	margin-top: 12px;
	margin-bottom: 8px;
	overflow: hidden;
}

.nh-afford-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.nh-taxes-fees-wrap {
	margin-bottom: 12px;
}

.nh-taxes-toggle {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 8px;
}

.nh-taxes-toggle .nh-taxes-chevron {
	margin-left: 4px;
	font-size: 11px;
}

.nh-taxes-collapse-body {
	padding-top: 4px;
	padding-bottom: 4px;
}

.calc-rfx-message {
	margin-bottom: 12px;
	font-size: 14px;
	color: #333;
}

.calc-rfx-headline-label {
	margin-bottom: 4px;
}

.calc-rfx-headline-value {
	font-size: 34px;
	line-height: 1.15;
}

.calc-rfx-positive {
	color: #1f7a3a;
}

.calc-rfx-negative {
	color: #c0392b;
}

.rfx-comparison-chart-wrap {
	position: relative;
	width: 100%;
	height: 320px;
	min-height: 320px;
	max-height: 360px;
	margin-top: 18px;
	margin-bottom: 8px;
	overflow: hidden;
}

.rfx-comparison-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.amz-timeline-chart-wrap {
	position: relative;
	width: 100%;
	height: 320px;
	min-height: 320px;
	max-height: 360px;
	margin-top: 18px;
	margin-bottom: 8px;
	overflow: hidden;
}

.amz-timeline-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.calc-app .calc-dp-payment-row {
	padding: 4px 0;
	font-size: 15px;
}

.calc-app .calc-dp-payment-label {
	float: left;
	color: #333;
	font-weight: 600;
}

.calc-app .calc-dp-payment-value {
	float: right;
	font-weight: 700;
	color: #4B8DF8;
	font-variant-numeric: tabular-nums;
}

/* Balance transfer calculator */
.calc-app .calc-bt-section-label {
	display: block;
	margin: 16px 0 10px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
}

.calc-app .loan-calculator-form .calc-bt-section-label:first-of-type {
	margin-top: 0;
}

/* Car insurance — nripage-style two-column tool */
.calc-app .calc-car-nripage-wrap {
	border-top: 3px solid #4B8DF8;
	padding-top: 16px;
}
.calc-app .calc-car-nripage-row {
	margin-left: -10px;
	margin-right: -10px;
}
.calc-app .calc-car-nripage-form,
.calc-app .calc-car-nripage-results {
	padding-left: 10px;
	padding-right: 10px;
}
.calc-app .calc-car-insurance-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
}
.calc-app .calc-car-insurance-form.form-horizontal .controls {
	margin-left: 0;
	width: 100%;
}
.calc-app .calc-car-insurance-form .controls .form-control {
	width: 100%;
	max-width: 100%;
	font-size: 14px;
	min-height: 34px;
}
.calc-app .calc-car-insurance-form .form-group {
	margin-bottom: 14px;
}
.calc-app .calc-car-insurance-form .control-label .fa-info-circle,
.calc-app .calc-car-insurance-form .control-label .icomoon-info5,
.calc-app .calc-car-insurance-form .control-label .tooltip-info,
.calc-app .calc-car-insurance-form .control-label .tooltips {
	display: none !important;
}
.calc-app .calc-car-field-row .form-group {
	margin-bottom: 14px;
}
.calc-app .calc-car-optional-block {
	margin-top: 6px;
	margin-bottom: 12px;
}
.calc-app .calc-car-optional-toggle {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #4B8DF8;
	margin-bottom: 10px;
	text-decoration: none;
}
.calc-app .calc-car-optional-toggle:hover,
.calc-app .calc-car-optional-toggle:focus {
	color: #357bd8;
	text-decoration: none;
}
.calc-app .calc-car-optional-body {
	padding-top: 4px;
}
.calc-app .calc-car-checkbox-stack .checkbox {
	margin-top: 6px;
	margin-bottom: 4px;
}
.calc-app .calc-car-checkbox-stack .checkbox:first-child {
	margin-top: 0;
}
/* Car insurance — optional panel checkboxes (flush left inside details / narrow column) */
.calc-app .calc-car-insurance-form .calc-car-incidents-group .control-label,
.calc-app .calc-car-insurance-form .calc-car-optional-body .calc-car-incidents-group .control-label {
	float: none;
	width: 100%;
	max-width: none;
	text-align: left;
	padding-top: 0;
	margin-bottom: 6px;
}
.calc-app .calc-car-insurance-form .calc-car-optional-body .controls,
.calc-app .calc-car-insurance-form .calc-car-incidents-group .controls {
	margin-left: 0 !important;
	padding-left: 0;
	text-align: left;
}
.calc-app .calc-car-insurance-form .calc-car-checkbox-stack {
	padding-left: 0;
	margin-left: 0;
}
.calc-app .calc-car-insurance-form .calc-car-checkbox-stack .checkbox {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	float: none;
	min-height: 0;
	padding-left: 0;
	padding-top: 0;
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: 100%;
	text-align: left;
	font-weight: normal;
}
.calc-app .calc-car-insurance-form .calc-car-checkbox-stack .checkbox input[type="checkbox"] {
	float: none;
	position: static;
	flex: 0 0 auto;
	margin: 3px 8px 0 0;
	width: 16px;
	height: 16px;
	min-width: 16px;
}
.calc-app .calc-car-insurance-form .calc-car-optional-body .form-group {
	margin-bottom: 14px;
}
.calc-app .calc-car-insurance-form .calc-car-optional-body .control-label {
	float: none;
	width: 100%;
	text-align: left;
}
.calc-app .calc-car-calc-btn {
	font-size: 15px;
	font-weight: 600;
	padding: 10px 16px;
	border-radius: 4px;
}
.calc-app .calc-car-monthly-value {
	font-size: 36px;
	line-height: 1.15;
	font-weight: 700;
	color: #333;
	font-variant-numeric: tabular-nums;
}
.calc-app .calc-car-chart-wrap {
	margin-top: 16px;
	max-width: 520px;
}
.calc-app #ci-results .calc-car-results-split {
	margin-left: 0;
	margin-right: 0;
}
.calc-app #ci-results .calc-car-results-split > [class*="col-"] {
	padding-left: 12px;
	padding-right: 12px;
}
.calc-app #ci-results .calc-car-chart-wrap {
	margin-top: 0;
	max-width: none;
}
.calc-app #ci-results .mortgage-pie-wrap {
	margin-top: 0;
	max-width: 260px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 767px) {
	.calc-app #ci-results .mortgage-pie-wrap {
		margin-top: 16px;
		max-width: 100%;
	}
}
.calc-app .calc-car-results-footnote {
	margin-top: 12px;
	margin-bottom: 0;
}
.calc-app .text-dark {
	color: #333;
}

/* Home insurance — nripage-style (matches car insurance shell) */
.calc-app .calc-hi-nripage-wrap {
	border-top: 3px solid #4B8DF8;
	padding-top: 16px;
}
.calc-app .calc-hi-nripage-row {
	margin-left: -10px;
	margin-right: -10px;
}
.calc-app .calc-hi-nripage-form,
.calc-app .calc-hi-nripage-results {
	padding-left: 10px;
	padding-right: 10px;
}
.calc-app .calc-hi-insurance-form .form-group {
	margin-bottom: 14px;
}
.calc-app .calc-hi-insurance-form.form-horizontal .controls {
	margin-left: 0;
	width: 100%;
}
.calc-app .calc-hi-insurance-form .controls .form-control {
	width: 100%;
	max-width: 100%;
	font-size: 14px;
	min-height: 34px;
}
.calc-app .calc-hi-insurance-form .control-label .fa-info-circle,
.calc-app .calc-hi-insurance-form .control-label .icomoon-info5,
.calc-app .calc-hi-insurance-form .control-label .tooltip-info,
.calc-app .calc-hi-insurance-form .control-label .tooltips {
	display: none !important;
}
.calc-app .calc-hi-optional-block {
	margin-top: 6px;
	margin-bottom: 12px;
}
.calc-app .calc-hi-optional-toggle {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #4B8DF8;
	margin-bottom: 10px;
	text-decoration: none;
}
.calc-app .calc-hi-optional-toggle:hover,
.calc-app .calc-hi-optional-toggle:focus {
	color: #357bd8;
	text-decoration: none;
}
.calc-app .calc-hi-optional-body {
	padding-top: 4px;
}
/* Home insurance — claim Yes/No radios (left-aligned, tight) */
.calc-app .calc-hi-insurance-form .calc-hi-claim-radios.calc-apr-term-units {
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 8px;
	margin-top: 0;
}

.calc-app .calc-hi-insurance-form .calc-hi-claim-radios .calc-apr-radio {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	min-height: 0 !important;
	width: 100%;
	font-size: 14px !important;
	font-weight: normal !important;
	line-height: 1.35 !important;
}

.calc-app .calc-hi-insurance-form .calc-hi-claim-radios .calc-apr-radio input[type="radio"] {
	flex: 0 0 16px;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	margin: 0 !important;
	float: none !important;
	position: static !important;
}

.calc-app .calc-hi-insurance-form .calc-hi-claim-radios .calc-apr-radio span {
	white-space: nowrap;
	line-height: 1.35;
}
.calc-app .calc-hi-calc-btn {
	font-size: 15px;
	font-weight: 600;
	padding: 10px 16px;
	border-radius: 4px;
}
.calc-app .calc-hi-monthly-value {
	font-size: 36px;
	line-height: 1.15;
	font-weight: 700;
	color: #333;
	font-variant-numeric: tabular-nums;
}
.calc-app #hi-results .calc-hi-results-split {
	margin-left: 0;
	margin-right: 0;
}

.calc-app #hi-results .calc-hi-results-split > [class*="col-"] {
	padding-left: 12px;
	padding-right: 12px;
}

.calc-app #hi-results .calc-hi-chart-wrap {
	margin-top: 0;
	max-width: none;
}

.calc-app #hi-results .mortgage-pie-wrap {
	margin-top: 0;
	max-width: 260px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	.calc-app #hi-results .mortgage-pie-wrap {
		margin-top: 16px;
		max-width: 100%;
	}
}
.calc-app .calc-hi-results-footnote {
	margin-top: 12px;
	margin-bottom: 0;
}

/* Personal loan APR / annual percentage rate — nripage-style layout */
.calc-app .calc-apr-nripage-wrap {
	border-top: 3px solid #4B8DF8;
	padding-top: 16px;
}
.calc-app .calc-apr-nripage-row {
	margin-left: -10px;
	margin-right: -10px;
}
.calc-app .calc-apr-nripage-form,
.calc-app .calc-apr-nripage-results {
	padding-left: 10px;
	padding-right: 10px;
}
.calc-app .calc-apr-results-panel {
	background: #f4f9ff;
	border: 1px solid #e0ecf9;
	border-radius: 6px;
	padding: 18px 16px 20px;
}
.calc-app .calc-apr-monthly-value {
	font-size: 34px;
	line-height: 1.15;
	font-weight: 700;
	color: #333;
	font-variant-numeric: tabular-nums;
}
.calc-app .calc-apr-chart-wrap {
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}
.calc-app .calc-apr-optional-block {
	margin-top: 4px;
	margin-bottom: 8px;
}
.calc-app .calc-apr-optional-toggle,
.calc-app .calc-pl-optional-toggle {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #4B8DF8;
	margin-bottom: 8px;
	text-decoration: none;
}
.calc-app .calc-apr-optional-toggle:hover,
.calc-app .calc-apr-optional-toggle:focus,
.calc-app .calc-pl-optional-toggle:hover,
.calc-app .calc-pl-optional-toggle:focus {
	color: #357bd8;
	text-decoration: none;
}
.calc-app .calc-apr-optional-body {
	padding-top: 4px;
}
.calc-app .calc-pnw-details-body {
	padding-top: 4px;
}
.calc-app .calc-apr-term-units {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-top: 10px;
}
.calc-app .calc-apr-term-units .calc-apr-radio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: normal;
	margin: 0;
	cursor: pointer;
}
.calc-app .calc-apr-term-units .calc-apr-radio input[type="radio"] {
	float: none;
	margin: 0;
	position: static;
	vertical-align: middle;
}

/* Business loan — rate type radios: stacked rows, left-aligned (default for narrow form column) */
.calc-app .loan-calculator-form .calc-bl-rate-type-units.calc-apr-term-units {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 8px;
	width: 100%;
	margin-top: 10px;
}

.calc-app .loan-calculator-form .calc-bl-rate-type-units .calc-apr-radio {
	display: flex !important;
	flex-direction: row;
	align-items: center !important;
	justify-content: flex-start;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	width: 100% !important;
	max-width: 100%;
	min-height: 0 !important;
	font-size: 14px !important;
	font-weight: normal !important;
	line-height: 1.35 !important;
	cursor: pointer;
}

.calc-app .loan-calculator-form .calc-bl-rate-type-units .calc-apr-radio input[type="radio"] {
	flex: 0 0 16px;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	margin: 0 !important;
	float: none !important;
	position: static !important;
}

.calc-app .loan-calculator-form .calc-bl-rate-type-units .calc-apr-radio span {
	flex: 0 1 auto;
	white-space: nowrap;
	line-height: 1.35;
	text-align: left;
}

/* Wide form column: all three rate types on one line */
@media (min-width: 1400px) {
	.calc-app .loan-calculator-form .calc-bl-rate-type-units.calc-apr-term-units {
		flex-direction: row;
		align-items: center;
		flex-wrap: nowrap;
		gap: 12px 16px;
	}

	.calc-app .loan-calculator-form .calc-bl-rate-type-units .calc-apr-radio {
		width: auto !important;
		flex: 0 0 auto;
	}
}

.calc-app .calc-apr-schedule-toggle {
	color: #4B8DF8;
	text-decoration: none;
}
.calc-app .calc-apr-schedule-toggle:hover,
.calc-app .calc-apr-schedule-toggle:focus {
	color: #357bd8;
	text-decoration: none;
}

/* Retirement plan income calculator — years label + compact checkbox rows (narrow column) */
.calc-app .calc-retirement .calc-rpi-years-label .calc-rpi-required-tail,
.calc-app .rpi-calc-form .calc-rpi-years-label .calc-rpi-required-tail {
	white-space: nowrap;
}
.calc-app .calc-retirement .calc-rpi-checkbox-group,
.calc-app .rpi-calc-form .calc-rpi-checkbox-group {
	margin-bottom: 8px;
}
.calc-app .calc-retirement .calc-rpi-checkbox-group .calc-rpi-checkbox-controls,
.calc-app .rpi-calc-form .calc-rpi-checkbox-group .calc-rpi-checkbox-controls {
	margin-left: 0 !important;
	padding-left: 0;
	text-align: left;
}
.calc-app .calc-retirement .calc-rpi-checkbox-group .calc-rpi-checkbox-item,
.calc-app .rpi-calc-form .calc-rpi-checkbox-group .calc-rpi-checkbox-item {
	margin: 0;
	padding: 0;
}
.calc-app .calc-retirement .calc-rpi-checkbox-group .calc-rpi-checkbox-label,
.calc-app .rpi-calc-form .calc-rpi-checkbox-group .calc-rpi-checkbox-label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	column-gap: 8px;
	row-gap: 2px;
	margin: 0;
	padding: 0;
	font-weight: normal;
	cursor: pointer;
	width: 100%;
	max-width: 100%;
	text-align: left;
}
.calc-app .calc-retirement .calc-rpi-checkbox-group .calc-rpi-checkbox-input,
.calc-app .rpi-calc-form .calc-rpi-checkbox-group .calc-rpi-checkbox-input {
	float: none;
	position: static;
	flex: 0 0 auto;
	margin: 2px 0 0 0;
	width: 16px;
	height: 16px;
	min-width: 16px;
}
.calc-app .calc-retirement .calc-rpi-checkbox-group .calc-rpi-checkbox-text,
.calc-app .rpi-calc-form .calc-rpi-checkbox-group .calc-rpi-checkbox-text {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
	text-align: left;
}

/* Retirement plan — unified results card (savings summary nested in stat box) */
.calc-app #rp-results .calc-rp-savings-summary .loan-divider {
	margin-top: 12px;
	margin-bottom: 12px;
}

/* Retirement plan income — income projection copy (match loan-label body typography) */
.calc-app #rpi-results .calc-rpi-projection-row {
	margin-top: 12px;
}
.calc-app #rpi-results .calc-rpi-projection-text {
	margin-top: 6px;
}
.calc-app #rpi-results .calc-rpi-projection-line {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: #555;
}
.calc-app #rpi-results .calc-rpi-projection-line + .calc-rpi-projection-line {
	margin-top: 6px;
}

/* IRA minimum distribution — spouse checkbox (sibling layout avoids Bootstrap .checkbox float overlap) */
.calc-app .loan-calculator-form .calc-rmd-spouse-block,
.calc-app .calc-retirement .calc-rmd-spouse-block {
	margin-bottom: 0;
}
.calc-app .loan-calculator-form .calc-rmd-spouse-field-title,
.calc-app .calc-retirement .calc-rmd-spouse-field-title {
	font-weight: 700;
	font-size: 14px;
	color: #333;
	margin: 0 0 10px 0;
	padding: 0;
	line-height: 1.3;
	text-align: left;
}
.calc-app .loan-calculator-form .calc-rmd-spouse-row,
.calc-app .calc-retirement .calc-rmd-spouse-row {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
}
.calc-app .loan-calculator-form .calc-rmd-spouse-row .calc-rmd-spouse-check,
.calc-app .calc-retirement .calc-rmd-spouse-row .calc-rmd-spouse-check {
	float: none !important;
	position: static !important;
	margin: 5px 14px 0 0 !important;
	width: 18px;
	height: 18px;
	min-width: 18px;
	max-width: 18px;
	flex: 0 0 18px;
	cursor: pointer;
}
.calc-app .loan-calculator-form .calc-rmd-spouse-row .calc-rmd-spouse-label,
.calc-app .calc-retirement .calc-rmd-spouse-row .calc-rmd-spouse-label {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 3px 0 0 0;
	font-weight: normal;
	line-height: 1.45;
	cursor: pointer;
}

/* Retirement / loan calculators — stacked Yes/No radios (flush left) */
.calc-app .loan-calculator-form .calc-rp-radio-block .controls,
.calc-app .calc-retirement .calc-rp-radio-block .controls,
.calc-app .roi-calc-form .calc-rp-radio-block .controls,
.calc-app .plan403b-calc-form .calc-rp-radio-block .controls {
	margin-left: 0 !important;
	padding-left: 0 !important;
	text-align: left;
}

.calc-app .loan-calculator-form .calc-rp-radio-block .calc-rp-radio-row,
.calc-app .calc-retirement .calc-rp-radio-block .calc-rp-radio-row,
.calc-app .roi-calc-form .calc-rp-radio-block .calc-rp-radio-row,
.calc-app .plan403b-calc-form .calc-rp-radio-block .calc-rp-radio-row {
	margin-top: 0;
	margin-bottom: 6px;
	padding-left: 0;
}

.calc-app .loan-calculator-form .calc-rp-radio-block .calc-rp-radio-row:last-child,
.calc-app .calc-retirement .calc-rp-radio-block .calc-rp-radio-row:last-child,
.calc-app .roi-calc-form .calc-rp-radio-block .calc-rp-radio-row:last-child,
.calc-app .plan403b-calc-form .calc-rp-radio-block .calc-rp-radio-row:last-child {
	margin-bottom: 0;
}

.calc-app .loan-calculator-form .calc-rp-radio-block .calc-rp-radio-row label,
.calc-app .calc-retirement .calc-rp-radio-block .calc-rp-radio-row label,
.calc-app .roi-calc-form .calc-rp-radio-block .calc-rp-radio-row label,
.calc-app .plan403b-calc-form .calc-rp-radio-block .calc-rp-radio-row label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: normal;
	cursor: pointer;
	margin-bottom: 0;
	padding-left: 0 !important;
	text-align: left;
	float: none;
	line-height: 1.35;
}

.calc-app .loan-calculator-form .calc-rp-radio-block .calc-rp-radio-row input[type="radio"],
.calc-app .calc-retirement .calc-rp-radio-block .calc-rp-radio-row input[type="radio"],
.calc-app .roi-calc-form .calc-rp-radio-block .calc-rp-radio-row input[type="radio"],
.calc-app .plan403b-calc-form .calc-rp-radio-block .calc-rp-radio-row input[type="radio"] {
	float: none;
	margin: 0 !important;
	margin-left: 0 !important;
	vertical-align: middle;
	position: static;
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
}

/* Bootstrap .radio inside calculator forms — align with labels (no indent) */
.calc-app .loan-calculator-form .controls .radio,
.calc-app .calc-retirement .controls .radio {
	padding-left: 0;
	margin-left: 0;
}

.calc-app .loan-calculator-form .controls .radio label,
.calc-app .calc-retirement .controls .radio label {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* Savings income / withdrawal calculator */
.calc-app .calc-si-form.form-horizontal .control-label,
.calc-app .calc-si-form .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.calc-app .calc-si-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .calc-si-form .form-control,
.calc-app .calc-si-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app .calc-si-form .input-group {
	width: 100%;
}

.calc-app .calc-si-form .input-group-addon {
	font-size: 14px;
}

.calc-app .calc-si-form .controls > .calc-field-hint {
	display: block;
	margin-top: 6px;
	margin-bottom: 0;
}

.calc-app .calc-si-horizon-row .calc-field-hint {
	margin-top: 4px;
	font-size: 12px;
	color: #666;
}

.calc-app #si-results-section .amortization-head-row {
	margin-top: 20px;
	margin-bottom: 0;
}

.calc-app #si-results-section .calc-si-chart-inner {
	height: 280px;
	margin-bottom: 8px;
}

.calc-app #si-results-section .si-result-note {
	margin-top: 6px;
	margin-bottom: 0;
}

/* Business debt-to-assets ratio calculator */
.calc-app .bda-form.form-horizontal .control-label,
.calc-app .bda-form .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.calc-app .bda-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .bda-form .form-control,
.calc-app .bda-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app #bda-results-section .amortization-head-row {
	margin-top: 20px;
	margin-bottom: 0;
}

.calc-app #bda-results-section .bda-chart-note {
	margin-top: 6px;
	margin-bottom: 8px;
}

.calc-app #bda-results-section .bda-doughnut-chart-wrap {
	margin-top: 0;
}

.calc-app #bda-results-section .bda-doughnut-chart-wrap .calc-results-chart-title {
	text-align: left;
	margin-bottom: 8px;
}

.calc-app #bda-results-section .bda-doughnut-chart {
	height: 260px;
	margin-bottom: 0;
}

.calc-app #bda-results-section .bda-bar-chart {
	height: 280px;
	margin-bottom: 8px;
}

.calc-app #bda-results-section #bda_explain {
	margin-top: 12px;
	margin-bottom: 0;
}

.calc-app #bda-results-section #bda_out_equity.calc-rfx-negative {
	color: #c0392b;
}

/* Taxes category calculators — shared form + charts */
.calc-app .calc-tax-form.form-horizontal .control-label,
.calc-app .calc-tax-form .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.calc-app .calc-tax-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .calc-tax-form .form-control,
.calc-app .calc-tax-form select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
}

.calc-app .calc-tax-form .input-group {
	width: 100%;
}

.calc-app .calc-tax-form .input-group-addon {
	font-size: 14px;
}

.calc-app .calc-results-section .calc-tax-doughnut-chart-wrap {
	margin-top: 0;
}

.calc-app .calc-results-section .calc-tax-doughnut-chart-wrap .calc-results-chart-title,
.calc-app .calc-results-section .calc-tax-bar-chart-wrap .calc-results-chart-title {
	text-align: left;
	margin-bottom: 8px;
}

.calc-app .calc-results-section .calc-tax-doughnut-chart {
	height: 260px;
	margin-bottom: 0;
}

.calc-app .calc-results-section .calc-tax-bar-chart-wrap {
	margin-top: 20px;
}

.calc-app .calc-results-section .calc-tax-bar-chart-wrap .amortization-head-row {
	margin-bottom: 0;
}

.calc-app .calc-results-section .calc-tax-bar-chart {
	height: 280px;
	margin-bottom: 8px;
}

/* CD calculator — balance chart */
.calc-app .calc-cd-chart-wrap {
	margin-bottom: 18px;
}
.calc-app .calc-cd-chart-inner {
	position: relative;
	height: 280px;
	max-width: 100%;
}

/* Debt paydown calculator — match mortgage calc-card form typography */
.calc-app .calc-debt-paydown-form {
	margin-bottom: 0;
}
.calc-app .calc-debt-paydown-form.form-horizontal .control-label,
.calc-app .calc-debt-subcard .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}
.calc-app .calc-debt-paydown-form .controls,
.calc-app .calc-debt-subcard .controls {
	margin-left: 0;
	width: 100%;
}
.calc-app .calc-debt-paydown-form .form-control,
.calc-app .calc-debt-subcard .form-control,
.calc-app .calc-debt-paydown-form select.form-control,
.calc-app .calc-debt-subcard select.form-control {
	font-size: 14px;
	font-family: inherit;
	line-height: 1.42857143;
	color: #333;
	min-height: 34px;
	padding: 6px 12px;
}
.calc-app .calc-debt-paydown-form .form-group,
.calc-app .calc-debt-subcard .form-group {
	margin-bottom: 10px;
}
.calc-app .calc-debt-paydown-form .controls > .calc-field-hint {
	display: block;
	margin-top: 6px;
	margin-bottom: 0;
}
.calc-app .calc-stepper-row {
	display: flex;
	align-items: stretch;
	gap: 0;
	max-width: 100%;
}
.calc-app .calc-stepper-btn {
	flex: 0 0 44px;
	min-width: 44px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	border-radius: 0;
	background: #e8eef8;
	border: 1px solid #c5d4e8;
	color: #2c5282;
}
.calc-app .calc-stepper-btn.calc-stepper-plus {
	background: #4B8DF8;
	border-color: #3a7bdf;
	color: #fff;
}
.calc-app .calc-stepper-input {
	flex: 1 1 auto;
	text-align: center;
	font-weight: 600;
	font-size: 16px;
	border-radius: 0;
	border-left: 0;
	border-right: 0;
}
.calc-app .calc-debt-paydown-divider {
	margin: 16px 0 12px;
	border-top-color: #dde3ea;
}
.calc-app .calc-debt-paydown-subhead {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #555;
	margin: 0 0 10px;
}
.calc-app .calc-debt-paydown-submit {
	background: #6eb5f9;
	border-color: #4a9eeb;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding-top: 10px;
	padding-bottom: 10px;
}
.calc-app .calc-debt-paydown-submit:hover,
.calc-app .calc-debt-paydown-submit:focus {
	background: #4a9eeb;
	border-color: #3589d9;
	color: #fff;
}
.calc-app .calc-debt-results-card {
	margin-bottom: 16px;
}

.calc-app .calc-debt-results-card .loan-pie-wrap {
	max-width: 100%;
	margin: 0 auto;
}

.calc-app .calc-debt-results-card .loan-pie-wrap .calc-pie-chart-title {
	text-align: center;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
}

.calc-app .calc-debt-results-card .loan-pie-chart-wrapper {
	width: 100%;
	max-width: 240px;
	height: 280px;
	min-height: 280px;
	max-height: none;
	overflow: visible;
}

.calc-app .calc-debt-section-title {
	font-size: 14px;
	font-weight: 700;
	color: #333;
	margin: 18px 0 10px;
	padding-top: 4px;
	border-top: 1px solid #dde3ea;
}
.calc-app .calc-debt-section-title:first-of-type {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}
.calc-app .calc-debt-subcard {
	background: #fff;
	border: 1px solid #e1e6ed;
	border-radius: 4px;
	padding: 12px 12px 4px;
	margin-bottom: 12px;
}
.calc-app .calc-debt-chart-row {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 20px;
}
@media (min-width: 992px) {
	.calc-app .calc-debt-chart-row {
		flex-direction: row;
		align-items: flex-start;
	}
	.calc-app .calc-debt-chart-row .calc-cd-chart-wrap {
		flex: 1 1 52%;
		margin-bottom: 0;
	}
	.calc-app .calc-debt-chart-row .loan-pie-chart-wrapper {
		flex: 1 1 44%;
		margin-bottom: 0;
	}
}

/* Investment goal calculator — compact form, left labels, disclosure + radios */
.calc-app .calc-ig-form.form-horizontal .form-group {
	clear: both;
}
.calc-app .calc-ig-form.form-horizontal .control-label,
.calc-app .calc-ig-form .control-label {
	text-align: left !important;
	float: none !important;
	width: 100% !important;
	max-width: 100%;
	padding-top: 0 !important;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
}
.calc-app .calc-ig-form.form-horizontal .controls,
.calc-app .calc-ig-form .controls {
	float: none;
	width: 100%;
	margin-left: 0 !important;
	padding-left: 0;
}
.calc-app .calc-ig-form .form-group {
	margin-bottom: 10px;
}
.calc-app .calc-ig-form .form-control {
	font-size: 14px;
	line-height: 1.35;
	height: 34px;
	padding-top: 6px;
	padding-bottom: 6px;
}
.calc-app .calc-ig-form select.form-control {
	height: 34px;
}
.calc-app .calc-ig-form .controls > .calc-field-hint {
	display: block;
	margin-top: 6px;
	margin-bottom: 0;
	font-size: 12px;
	font-weight: normal;
	font-family: inherit;
	color: #666;
	line-height: 1.45;
}
.calc-app .calc-ig-form .calc-ig-form-group-submit {
	margin-top: 8px;
	margin-bottom: 0;
}
.calc-app .calc-ig-form .calc-ig-details {
	margin-top: 6px;
	border: 1px solid #dde3ea;
	border-radius: 4px;
	background: #fafbfc;
}
.calc-app .calc-ig-form .calc-ig-details-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #337ab7;
	cursor: pointer;
	outline: none;
	list-style: none;
}
.calc-app .calc-ig-form .calc-ig-details-summary::-webkit-details-marker {
	display: none;
}
.calc-app .calc-ig-form .calc-ig-details > summary::-moz-list-bullet {
	list-style: none;
}
.calc-app .calc-ig-form .calc-ig-details-summary-text {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}
.calc-app .calc-ig-form .calc-ig-details-chevron {
	flex: 0 0 auto;
	font-size: 12px;
	color: #337ab7;
	transition: transform 0.2s ease;
}
.calc-app .calc-ig-form .calc-ig-details[open] .calc-ig-details-chevron {
	transform: rotate(180deg);
}
.calc-app .calc-ig-form .calc-ig-details-body {
	padding: 2px 12px 8px;
	border-top: 1px solid #e8ecf0;
}
.calc-app .calc-ig-form .calc-ig-details-body .form-group {
	margin-bottom: 8px;
}
.calc-app .calc-ig-form .calc-ig-details-body .form-group:last-child {
	margin-bottom: 0;
}
.calc-app .calc-ig-form .calc-ig-form-group-radio .controls {
	padding-top: 2px;
}
.calc-app .calc-ig-form .calc-ig-radio-legend {
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
}
.calc-app .calc-ig-form .calc-ig-radio-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
}
.calc-app .calc-ig-form .calc-ig-radio-option {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	cursor: pointer;
	line-height: 1;
}
.calc-app .calc-ig-form .calc-ig-radio-option input[type="radio"] {
	margin: 0;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	vertical-align: middle;
	position: relative;
	top: 0;
}
.calc-app .calc-ig-form .calc-ig-radio-option span {
	line-height: 1.2;
}
.calc-app .calc-ig-summary {
	margin-bottom: 16px;
	padding: 12px 14px;
	background: #f4f6f9;
	border: 1px solid #e1e6ed;
	border-radius: 6px;
}
.calc-app .calc-ig-summary-headline {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	line-height: 1.35;
}
.calc-app .calc-ig-summary-detail {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
}
.calc-app .calc-ig-summary-table {
	margin: 0;
	background: #fff;
}
.calc-app .calc-ig-summary-table th {
	width: 58%;
	font-weight: 600;
	color: #444;
	vertical-align: middle;
}
.calc-app .calc-ig-summary-table td {
	font-weight: 700;
	color: #222;
	text-align: right;
	white-space: nowrap;
}
.calc-app .calc-ig-summary-note {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.45;
}
.calc-app .calc-ig-total-fund {
	margin-bottom: 14px;
	padding: 14px 16px;
	background: #e8f4fc;
	border: 1px solid #c5e3f7;
	border-radius: 8px;
	text-align: center;
}
.calc-app .calc-ig-total-fund-label {
	font-size: 15px;
	font-weight: 700;
	color: #222;
	margin-bottom: 4px;
}
.calc-app .calc-ig-total-fund-value {
	font-size: 28px;
	font-weight: 700;
	color: #111;
	line-height: 1.2;
}
.calc-app .calc-ig-results {
	margin-bottom: 8px;
}
.calc-app .calc-ig-results .calc-ig-summary-headline {
	margin: 0 0 6px;
	padding: 0;
	background: none;
	border: none;
}
.calc-app .calc-ig-results .calc-ig-summary-detail {
	margin: 0 0 18px;
	color: #333;
}
.calc-app .calc-ig-chart-wrap {
	position: relative;
	height: 320px;
	max-width: 100%;
	margin-top: 4px;
}

/* ── Unified form labels & hints (loan-calculator-form reference) ─────── */
.calc-app .calc-card .control-label,
.calc-app .calc-card .calc-form-section-label,
.calc-app .calc-card .form-horizontal .control-label,
.calc-app .loan-calculator-form.form-horizontal .control-label,
.calc-app .calc-car-insurance-form.form-horizontal .control-label,
.calc-app .calc-hi-insurance-form.form-horizontal .control-label,
.calc-app .calc-debt-paydown-form.form-horizontal .control-label,
.calc-app .college-savings-form.form-horizontal .control-label,
.calc-app .save-million-form.form-horizontal .control-label,
.calc-app .calc-si-form.form-horizontal .control-label,
.calc-app .bda-form.form-horizontal .control-label,
.calc-app .savings-goal-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	white-space: normal;
	line-height: 1.4;
}

/* Keep required asterisk attached to label text (see .calc-label-required-tail) */
.calc-app .control-label .required {
	white-space: nowrap;
}

.calc-app .loan-calculator-form .control-label,
.calc-app .calc-card .form-horizontal .control-label {
	line-height: 1.35;
}

/* Optional form block heading (uses .control-label typography + section spacing) */
.calc-app .loan-calculator-form .control-label.calc-form-section-label,
.calc-app .calc-card .form-horizontal .control-label.calc-form-section-label {
	display: block;
	float: none;
	width: 100%;
	margin-top: 16px;
	margin-bottom: 10px;
}

/* Auto loan — stacked interest rate with "or" between fields */
.calc-app .calc-al-rate-stack .calc-rate-or {
	margin: 8px 0;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: #666;
	line-height: 1.2;
}

.calc-app .calc-al-rate-stack .input-group,
.calc-app .calc-al-rate-stack > .form-control {
	width: 100%;
}

.calc-app .calc-card .form-horizontal .controls,
.calc-app .loan-calculator-form.form-horizontal .controls,
.calc-app .calc-car-insurance-form.form-horizontal .controls,
.calc-app .calc-hi-insurance-form.form-horizontal .controls {
	margin-left: 0;
}

.calc-app .calc-card .form-horizontal .form-group,
.calc-app .loan-calculator-form .form-group {
	margin-bottom: 10px;
}

.calc-app .loan-calculator-form .form-group-compact,
.calc-app .calc-card .form-group-compact {
	margin-bottom: 10px;
}

/* Down-payment / split-label rows: full-width inputs aligned with labels */
.calc-app .loan-calculator-form .calc-dp-split-label .control-label,
.calc-app .dp-calculator-form .calc-dp-split-label .control-label {
	width: 100%;
	float: none;
	text-align: left;
}

.calc-app .loan-calculator-form .calc-dp-split-label .controls,
.calc-app .dp-calculator-form .calc-dp-split-label .controls {
	margin-left: 0;
	width: 100%;
}

.calc-app .loan-calculator-form .calc-dp-split-label .input-group,
.calc-app .dp-calculator-form .calc-dp-split-label .input-group {
	width: 100%;
	max-width: none;
}

/* Auto loan refinance — nripage-style form and results */
.calc-app .calc-alr-nripage-wrap.calc-apr-nripage-wrap {
	border-top: 3px solid #4B8DF8;
	padding-top: 16px;
}
.calc-app .calc-alr-form.form-horizontal .control-label {
	text-align: left;
	float: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 4px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
}
.calc-app .calc-alr-form.form-horizontal .controls {
	margin-left: 0;
	width: 100%;
}
.calc-app .calc-alr-form .input-group {
	width: 100%;
}
.calc-app .calc-alr-field-pair-row {
	margin-left: -6px;
	margin-right: -6px;
}
.calc-app .calc-alr-field-pair-col {
	padding-left: 6px;
	padding-right: 6px;
}
.calc-app .calc-alr-field-pair-col .form-group {
	margin-bottom: 14px;
}
.calc-app .calc-alr-results-panel {
	min-height: 280px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.calc-app .calc-alr-results-headline {
	text-align: center;
	margin-bottom: 22px;
}
.calc-app .calc-alr-results-headline .loan-muted-title {
	margin-bottom: 8px;
}
.calc-app .calc-alr-monthly-value {
	text-align: center;
}
.calc-app .calc-alr-stat-list {
	margin-top: 4px;
}
.calc-app .calc-alr-stat-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #dce8f5;
	font-size: 14px;
	line-height: 1.35;
}
.calc-app .calc-alr-stat-row-last {
	padding-bottom: 0;
}
.calc-app .calc-alr-stat-label {
	color: #333;
	font-weight: 600;
}
.calc-app .calc-alr-stat-value {
	color: #333;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.calc-app .calc-alr-nripage-results .calc-how-to-use {
	margin-top: 24px;
}

/* Refinance comparison bar charts */
.calc-app .calc-alr-chart-wrap {
	margin-top: 16px;
}

.calc-app .calc-chart-kicker {
	font-size: 13px;
	margin-bottom: 6px;
}

.calc-app .calc-chart-canvas-box {
	position: relative;
	height: 220px;
	max-width: 100%;
}

.calc-app .calc-chart-footnote {
	margin-top: 10px;
}

.calc-app .calc-field-hint,
.calc-app .calc-card .form-horizontal .help-block.text-muted:not(.validation-error):not(.calc-help-hidden),
.calc-app .calc-apr-optional-body > p,
.calc-app .calc-card p.text-muted.small {
	font-size: 12px;
	font-weight: normal;
	color: #666;
	line-height: 1.45;
	margin: 0 0 10px;
}

.calc-app .loan-calculator-form .controls > .calc-field-hint {
	margin-top: 6px;
	margin-bottom: 0;
}

.calc-app .help-block.calc-field-hint {
	display: block;
	margin-top: 6px;
	margin-bottom: 0;
}

/* Loan / mortgage / savings goal — inline radio fields */
.calc-app .loan-calculator-form.form-horizontal .calc-inline-radios,
.calc-app .savings-goal-form.form-horizontal .calc-inline-radios {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.calc-app .loan-calculator-form.form-horizontal .calc-inline-radios .control-label,
.calc-app .savings-goal-form.form-horizontal .calc-inline-radios .control-label {
	margin-left: 0 !important;
	padding-left: 0 !important;
	margin-bottom: 6px;
}

.calc-app .loan-calculator-form .calc-inline-radios .calc-inline-radio-row,
.calc-app .savings-goal-form .calc-inline-radios .calc-inline-radio-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

.calc-app .loan-calculator-form .calc-inline-radios label.calc-inline-radio-option,
.calc-app .savings-goal-form .calc-inline-radios label.calc-inline-radio-option {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	min-height: 0 !important;
	width: 100%;
	max-width: 100%;
	font-size: 14px !important;
	font-weight: normal !important;
	color: #333;
	cursor: pointer;
	line-height: 1.35 !important;
	text-align: left;
	float: none !important;
}

.calc-app .loan-calculator-form .calc-inline-radios .calc-inline-radio-option input[type="radio"],
.calc-app .savings-goal-form .calc-inline-radios .calc-inline-radio-option input[type="radio"] {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	position: static !important;
	flex: 0 0 16px;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	vertical-align: middle;
}

.calc-app .loan-calculator-form .calc-inline-radios .calc-inline-radio-option span,
.calc-app .savings-goal-form .calc-inline-radios .calc-inline-radio-option span {
	display: inline !important;
	line-height: 1.35;
	flex: 1 1 auto;
	min-width: 0;
}

/* Minimum payment — payment schedule radios (stacked, tight alignment) */
.calc-app .loan-calculator-form .calc-mp-schedule-radios.calc-apr-term-units {
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 8px;
	margin-top: 0;
}

.calc-app .loan-calculator-form .calc-mp-schedule-radios .calc-apr-radio {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	min-height: 0 !important;
	width: 100%;
	font-size: 14px !important;
	font-weight: normal !important;
	line-height: 1.35 !important;
}

.calc-app .loan-calculator-form .calc-mp-schedule-radios .calc-apr-radio input[type="radio"] {
	flex: 0 0 16px;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	margin: 0 !important;
	float: none !important;
	position: static !important;
}

.calc-app .loan-calculator-form .calc-mp-schedule-radios .calc-apr-radio span {
	white-space: nowrap;
	line-height: 1.35;
}

/* Minimum payment calculator — percent input full width like other fields */
.calc-app .loan-calculator-form .calc-mp-pct-group {
	width: 100%;
	max-width: none;
}

.calc-app .loan-calculator-form #mp-minimum-options .calc-field-hint,
.calc-app .loan-calculator-form #mp-minimum-options .calc-field-hint strong {
	font-size: 12px;
	font-weight: normal;
	font-family: inherit;
	color: #666;
	line-height: 1.45;
}

.calc-app .loan-calculator-form .form-group {
	margin-bottom: 12px;
}

.calc-app .loan-calculator-form .control-label {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	line-height: 1.35;
	margin-bottom: 6px;
}

/* Calculator validation & form-level errors (unified with calc-field-hint size) */
.calc-app .help-block.validation-error,
.calc-app .calc-form-alert,
.calc-app .calc-card .alert.alert-danger,
.calc-app .loan-calculator-form .alert.alert-danger {
	font-size: 12px !important;
	font-weight: normal;
	line-height: 1.45;
}

.calc-app .help-block.validation-error {
	color: #c9302c;
	margin-top: 6px;
	margin-bottom: 0;
}

.calc-app .form-group.has-error .help-block.validation-error,
.calc-app .form-group.has-error .help-block[id$="_error"],
.calc-app .help-block.validation-error.calc-error-visible {
	display: block !important;
}

.calc-app .calc-form-alert,
.calc-app .calc-form-alert-top,
.calc-app .calc-card .alert.alert-danger,
.calc-app .loan-calculator-form .alert.alert-danger {
	margin: 0 0 12px;
	padding: 8px 12px;
}

/* Field-level validation message appears directly under the input */
.calc-app .form-group.has-error .help-block.validation-error,
.calc-app .form-group.has-error .help-block[id$="_error"],
.calc-app .help-block.validation-error.calc-error-visible {
	display: block !important;
}

.calc-app .calc-apr-form-heading {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
}

/* Primary headline results — blue like mortgage */
.calc-app .calc-apr-monthly-value,
.calc-app .calc-hi-monthly-value,
.calc-app .loan-stat-value.loan-primary-text {
	color: #4B8DF8;
	font-weight: 700;
}

/* Secondary stats: 2-column pairs inside result cards */
.calc-app .loan-two-col-card .mortgage-stat-pair-row {
	margin-bottom: 4px;
}

.calc-app .loan-two-col-card .mortgage-stat-col {
	margin-bottom: 12px;
}

@media (min-width: 768px) {
	.calc-app .loan-two-col-card .mortgage-stat-col {
		margin-bottom: 0;
	}
}

/* ── Standard calc-card layout (mortgage/loan: col-md-3 form + col-md-9 results) ── */
@media (min-width: 992px) {
	.calc-app .calc-card > .row > .col-md-3.col-sm-12,
	.calc-app .calc-card > .row > .col-md-4.col-sm-12:first-child {
		width: 25%;
	}

	.calc-app .calc-card > .row > .col-md-9.col-sm-12,
	.calc-app .calc-card > .row > .col-md-8.col-sm-12 {
		width: 75%;
	}
}

@media (max-width: 1024px) {
	.calc-app .calc-card > .row > .col-md-3.col-sm-12,
	.calc-app .calc-card > .row > .col-md-4.col-sm-12,
	.calc-app .calc-card > .row > .col-md-8.col-sm-12,
	.calc-app .calc-card > .row > .col-md-9.col-sm-12,
	.calc-app .calc-car-nripage-form,
	.calc-app .calc-hi-nripage-form,
	.calc-app .calc-car-nripage-results,
	.calc-app .calc-hi-nripage-results {
		width: 100% !important;
		float: none !important;
		max-width: 100%;
	}

	.calc-app .calc-car-nripage-row,
	.calc-app .calc-hi-nripage-row {
		margin-left: 0;
		margin-right: 0;
	}

	.calc-app .calc-car-nripage-form,
	.calc-app .calc-hi-nripage-form,
	.calc-app .calc-car-nripage-results,
	.calc-app .calc-hi-nripage-results {
		padding-left: 0;
		padding-right: 0;
	}

	.calc-app .calc-car-insurance-form.form-horizontal .control-label,
	.calc-app .calc-hi-insurance-form.form-horizontal .control-label {
		float: none;
		width: 100%;
		text-align: left;
	}

	.calc-app .calc-car-insurance-form.form-horizontal .controls,
	.calc-app .calc-hi-insurance-form.form-horizontal .controls {
		margin-left: 0;
		width: 100%;
	}

	.calc-app .calc-car-insurance-form .controls .form-control,
	.calc-app .calc-hi-insurance-form .controls .form-control {
		width: 100%;
		max-width: 100%;
	}
}

/* Pie chart beside results (not stacked below) */
.calc-app .loan-two-col-card .loan-pie-wrap,
.calc-app .loan-two-col-card .mortgage-pie-wrap {
	text-align: center;
	padding-top: 0;
}

.calc-app .calc-card > .row > .col-md-9 > .loan-pie-chart-wrapper:first-child,
.calc-app .calc-card > .row > .col-md-8 > .loan-pie-chart-wrapper:only-of-type {
	max-width: 260px;
	margin: 0 auto;
}

/* Normalize oversized inline result values */
.calc-app .loan-two-col-card .loan-value.loan-primary-text {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
}

.calc-app .loan-two-col-card .loan-sub-value {
	font-size: 22px;
	font-weight: 700;
}

/* Savings & banking results — match mortgage calculator card layout and typography */
.calc-app .calc-results-section .loan-two-col-card .loan-primary-row,
.calc-app .calc-results-section .loan-two-col-card .mortgage-primary-row {
	display: flex;
	flex-wrap: wrap;
}

.calc-app .calc-results-section .loan-two-col-card .loan-primary-row > [class*="col-"],
.calc-app .calc-results-section .loan-two-col-card .mortgage-primary-col {
	display: flex;
	flex-direction: column;
}

.calc-app .calc-results-section .loan-two-col-card .loan-primary-row > [class*="col-"] .loan-muted-title,
.calc-app .calc-results-section .loan-two-col-card .mortgage-primary-col .loan-muted-title {
	min-height: 25px;
	margin-bottom: 6px;
}

.calc-app .calc-results-section .loan-two-col-card .loan-primary-row > [class*="col-"] .loan-value,
.calc-app .calc-results-section .loan-two-col-card .mortgage-primary-col .loan-value {
	min-height: 42px;
}

.calc-app .calc-results-section .loan-stat-box .row,
.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-row {
	display: flex;
	flex-wrap: wrap;
}

.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"],
.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-col {
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
}

.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"] .loan-label,
.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-col .loan-label {
	min-height: 20px;
}

.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"] .loan-sub-value,
.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-col .loan-sub-value {
	min-height: 40px;
	line-height: 1.2;
}

@media (min-width: 768px) {
	.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"],
	.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-col {
		margin-bottom: 0;
	}
}

@media (max-width: 767px) {
	.calc-app .calc-results-section .loan-two-col-card .loan-primary-row > [class*="col-"] .loan-muted-title,
	.calc-app .calc-results-section .loan-two-col-card .mortgage-primary-col .loan-muted-title,
	.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"] .loan-label,
	.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-col .loan-label,
	.calc-app .calc-results-section .loan-two-col-card .loan-primary-row > [class*="col-"] .loan-value,
	.calc-app .calc-results-section .loan-two-col-card .mortgage-primary-col .loan-value,
	.calc-app .calc-results-section .loan-stat-box .row > [class*="col-"] .loan-sub-value,
	.calc-app .calc-results-section .loan-two-col-card .mortgage-stat-col .loan-sub-value {
		min-height: 0;
	}
}

.calc-app .calc-results-section .calc-results-note {
	font-size: 14px;
	color: #444;
	line-height: 1.5;
	margin: 8px 0 0;
}

.calc-app .calc-results-section .calc-results-chart-title {
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin-bottom: 10px;
	text-align: center;
}

.calc-app .calc-results-section .calc-results-schedule-toggle {
	margin-top: 12px;
	text-align: center;
}

.calc-app .calc-results-section .calc-save-money-pie {
	height: 260px;
}

.calc-app .calc-results-section .calc-save-money-bar {
	height: 260px;
	margin-top: 16px;
}

/* Cost of living — same-city comparison message (nripage-style results panel) */
.calc-app .loan-two-col-card .col-results-error {
	display: none;
	margin: 0;
	padding: 20px 16px;
	font-size: 14px;
	line-height: 1.5;
	color: #333;
}

.calc-app .loan-two-col-card .col-results-error.col-results-error-visible {
	display: block !important;
}

/* All calculator form labels: 14px (catch-all; wins over per-calculator overrides) */
.calc-app .calc-card .control-label,
.calc-app .calc-card .calc-form-section-label,
.calc-app .calc-card label.control-label,
.calc-app .calc-card .calc-dp-split-label .control-label,
.calc-app .calc-card .save-money-time-label {
	font-size: 14px;
}

/* Loan-calculator-form: all labels at 14px */
.calc-app .loan-calculator-form .control-label,
.calc-app .loan-calculator-form label.control-label,
.calc-app .loan-calculator-form .calc-form-section-label,
.calc-app .loan-calculator-form .calc-dp-split-label .control-label,
.calc-app .loan-calculator-form .calc-inline-radios .control-label,
.calc-app .loan-calculator-form .calc-inline-radios label,
.calc-app .loan-calculator-form .calc-optional-summary,
.calc-app .loan-calculator-form .calc-optional-summary-text {
	font-size: 14px !important;
}

/* =============================================================================
   Retirement calculators — graph, results, forms, validation, responsive
   ============================================================================= */

/* Retirement Calculator Graph Styles */
.calc-app .calc-apr-chart-wrap.calc-retirement-chart-wrap,
.calc-app .calc-apr-chart-wrap.calc-alr-chart-wrap.calc-retirement-chart-wrap {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}
.calc-app .calc-retirement-chart-wrap.calc-retirement-chart-mt-20 {
	margin: 20px 0 0;
}
.calc-app .calc-retirement-chart-wrap.calc-retirement-chart-mt-24 {
	margin: 24px 0 0;
}
.calc-app .calc-chart-wrap.calc-retirement-results-chart {
	margin-top: 18px;
}
.calc-app #rpi-chart-wrap.calc-retirement-results-chart {
	background: #fff;
}
.calc-app .calc-retirement-chart-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 4px;
	color: #253047;
}
.calc-app .calc-retirement-chart-heading-600 {
	font-weight: 600;
	margin-bottom: 4px;
}
.calc-app .calc-retirement-chart-title--borrow {
	font-weight: 600;
	margin-bottom: 12px;
}
.calc-app .calc-retirement-chart-subtitle.loan-muted-title {
	margin-bottom: 12px;
	font-size: 13px;
}
.calc-app .calc-chart-kicker.calc-retirement-chart-kicker-tight {
	margin-bottom: 4px;
}
.calc-app .calc-chart-kicker.calc-retirement-chart-kicker-headline {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 4px;
}
.calc-app .calc-chart-kicker.calc-retirement-chart-kicker-ira {
	margin-bottom: 4px;
	font-size: 18px;
	line-height: 1.25;
	font-weight: 600;
}
.calc-app .calc-chart-kicker.calc-retirement-chart-kicker-rmd {
	margin-bottom: 12px;
}
.calc-app .calc-retirement-chart-kicker-ira {
	font-size: 18px;
	line-height: 1.25;
	font-weight: 600;
	margin-bottom: 4px;
}
.calc-app .calc-cd-chart-inner.calc-retirement-chart-h-260 {
	height: 260px;
}
.calc-app .calc-chart-canvas-box.calc-retirement-chart-h-280 {
	width: 100%;
	max-width: 100%;
	height: 280px;
}
.calc-app canvas.calc-retirement-chart-canvas {
	display: block;
	width: 100%;
}

/* Retirement Calculator Result Styles */
.calc-app .calc-retirement-js-hidden {
	display: none;
}
.calc-app .tey-results-summary.calc-faq-a {
	margin: 10px 0 14px;
}
.calc-app .calc-nripage-report-taxes-block {
	display: none;
	margin-top: 18px;
}

/* Retirement Calculator Form Styles */
.calc-app .calc-retirement-submit-btn {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.calc-app .calc-retirement-per-year-muted.loan-muted-title {
	margin-top: 4px;
}
.calc-app .calc-retirement-rmd-hint.calc-field-hint {
	margin-top: 10px;
}
.calc-app .calc-retirement-conditional-field {
	display: none;
}

/* Retirement Calculator Validation Styles */
.calc-app .calc-retirement-calc-error {
	display: none;
}
.calc-app .calc-retirement-calc-error.calc-retirement-calc-error--spaced {
	margin-top: 10px;
	padding: 8px 12px;
	font-size: 13px;
}

/* Retirement Calculator Responsive Styles */
@media (max-width: 767px) {
	.calc-app .calc-retirement-chart-wrap,
	.calc-app .calc-retirement-results-chart .calc-cd-chart-inner {
		max-width: 100%;
	}
}

/* CD Ladder Calculator */
.calc-app .calc-cdl-sub-stat {
	margin-top: 6px;
	font-size: 13px;
}
.calc-app .calc-cdl-horizon-note,
.calc-app .calc-cdl-strategy-note {
	margin: 0 0 12px;
	font-size: 13px;
	color: #555;
}
.calc-app .calc-cdl-second-schedule-head {
	margin-top: 24px;
}
