/* Steady Purse Tools — self-contained calculator styling.
   Brand: green #1F4D3A, ochre #C9814B, cream #FDFDFB. Scoped under .sp-calc so
   it never leaks into the theme, and carries its own colours so it renders the
   same wherever it is embedded. */

.sp-calc{
	--spc-green:#1F4D3A;
	--spc-green-ink:#16382a;
	--spc-ochre:#C9814B;
	--spc-cream:#FDFDFB;
	--spc-ink:#22271f;
	--spc-soft:#5c6358;
	--spc-line:#e3e1d8;
	--spc-surface:#f6f5ef;
	max-width:44rem;
	margin:2rem auto;
	padding:1.5rem;
	background:var(--spc-cream);
	border:1px solid var(--spc-line);
	border-radius:16px;
	box-shadow:0 1px 2px rgba(31,77,58,.04),0 8px 24px rgba(31,77,58,.06);
	color:var(--spc-ink);
	font-family:inherit;
	line-height:1.5;
}
.sp-calc *{box-sizing:border-box}

.sp-calc__head{margin-bottom:1.25rem}
.sp-calc__title{
	margin:0 0 .4rem;
	font-size:clamp(1.3rem,3vw,1.6rem);
	line-height:1.2;
	color:var(--spc-green);
}
.sp-calc__intro{margin:0;color:var(--spc-soft);font-size:.98rem}

.sp-calc__months{border:0;margin:0 0 1.1rem;padding:0;min-width:0}
.sp-calc__months legend,
.sp-calc__options .sp-calc__label{font-weight:600}
.sp-calc__months legend{
	padding:0;margin:0 0 .7rem;
	font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--spc-green-ink);
}

.sp-calc__grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:.7rem .9rem;
}
@media(min-width:560px){.sp-calc__grid{grid-template-columns:repeat(3,1fr)}}

.sp-calc__field{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.sp-calc__label{font-size:.85rem;color:var(--spc-soft)}
.sp-calc__label em{font-style:normal;opacity:.75}

.sp-calc__money{position:relative;display:flex;align-items:center}
.sp-calc__cur{
	position:absolute;left:.7rem;color:var(--spc-soft);font-size:.95rem;pointer-events:none;
}
.sp-calc input[type=text]{
	width:100%;
	padding:.6rem .7rem .6rem 1.5rem;
	border:1px solid var(--spc-line);
	border-radius:9px;
	background:#fff;
	color:var(--spc-ink);
	font:inherit;font-size:1rem;
	-moz-appearance:textfield;
}
.sp-calc input[type=text]:focus{
	outline:2px solid var(--spc-ochre);outline-offset:1px;border-color:var(--spc-ochre);
}

.sp-calc__note{margin:.6rem 0 0;font-size:.82rem;color:var(--spc-soft)}

.sp-calc__options{
	display:grid;grid-template-columns:1fr;gap:.8rem;
	padding:1rem 0;margin:0 0 .4rem;border-top:1px solid var(--spc-line);
}
@media(min-width:560px){.sp-calc__options{grid-template-columns:2fr 1fr;align-items:end}}
.sp-calc__field--wide .sp-calc__label{color:var(--spc-ink)}
.sp-calc__select{
	padding:.6rem .7rem;border:1px solid var(--spc-line);border-radius:9px;
	background:#fff;color:var(--spc-ink);font:inherit;font-size:1rem;
}
.sp-calc__select:focus{outline:2px solid var(--spc-ochre);outline-offset:1px}

.sp-calc__hint{margin:.4rem 0 0;color:var(--spc-soft);font-size:.9rem}
.sp-calc__hint[hidden]{display:none}

/* Results */
.sp-calc__results[hidden]{display:none}
.sp-calc__results{margin-top:1.1rem}

.sp-calc__headline{
	background:var(--spc-green);color:var(--spc-cream);
	border-radius:12px;padding:1.1rem 1.2rem;text-align:center;
}
.sp-calc__headline-k{margin:0;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;opacity:.85}
.sp-calc__headline-v{margin:.15rem 0 0;font-size:clamp(2rem,7vw,2.9rem);font-weight:700;line-height:1}
.sp-calc__headline-sub{margin:.5rem 0 0;font-size:.9rem;opacity:.9}

.sp-calc__stats{
	display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:.8rem;
}
@media(min-width:560px){.sp-calc__stats{grid-template-columns:repeat(4,1fr)}}
.sp-calc__stat{
	background:var(--spc-surface);border:1px solid var(--spc-line);border-radius:10px;
	padding:.7rem .75rem;text-align:center;
}
.sp-calc__stat-v{display:block;font-size:1.15rem;font-weight:700;color:var(--spc-green-ink)}
.sp-calc__stat-k{display:block;font-size:.72rem;color:var(--spc-soft);margin-top:.15rem;line-height:1.3}

.sp-calc__explain{
	margin:.9rem 0 0;padding:.85rem 1rem;border-left:3px solid var(--spc-ochre);
	background:#fbf6f0;border-radius:0 8px 8px 0;font-size:.92rem;color:var(--spc-ink);
}
.sp-calc__explain strong{color:var(--spc-green-ink)}

.sp-calc__warn{
	margin:.7rem 0 0;padding:.75rem .9rem;border-radius:8px;
	background:#fbeee6;border:1px solid #e9cbb3;color:#7a4a24;font-size:.9rem;
}

.sp-calc__disclaimer{margin:1.1rem 0 0;font-size:.78rem;color:var(--spc-soft);font-style:italic}

/* Dark theme (if the host page sets a dark scheme) */
@media(prefers-color-scheme:dark){
	.sp-calc:not([data-force-light]){
		--spc-cream:#171a15;--spc-ink:#ececdf;--spc-soft:#a6ad9c;
		--spc-line:#2c3128;--spc-surface:#1f2319;--spc-green:#5fa383;--spc-green-ink:#bfe0cf;
		box-shadow:none;
	}
	.sp-calc:not([data-force-light]) input[type=text],
	.sp-calc:not([data-force-light]) .sp-calc__select{background:#12140f;color:#ececdf}
	.sp-calc:not([data-force-light]) .sp-calc__headline{background:#1f4d3a}
	.sp-calc:not([data-force-light]) .sp-calc__explain{background:#1c2118}
	.sp-calc:not([data-force-light]) .sp-calc__warn{background:#2a2016;border-color:#4a3a28;color:#e6c3a3}
}
