/* Button Real Estate calculators. Brand: dark green #1C5633, medium #4B8B40, light #6DBE4B, text #3F3535, gray #F6F6F6. */
.bcalc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 32px; align-items: start; font-family: "Inter", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #3F3535; margin: 0 0 24px; }
.bcalc * { box-sizing: border-box; }
.bcalc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.bcalc-field { min-width: 0; }
.bcalc-field--price, .bcalc-field--income, .bcalc-field--tax_rate, .bcalc-field--pmi_rate, .bcalc-field--front, .bcalc-field--back,
.bcalc-field--commission, .bcalc-field--transfer_tax, .bcalc-field--closing, .bcalc-field--concessions, .bcalc-field--other, .bcalc-field--payoff { grid-column: 1 / -1; }
.bcalc-label { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; margin: 0 0 6px; }
.bcalc-control { display: flex; align-items: center; background: #fff; border: 1px solid #d9dee3; border-radius: 12px; overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease; }
.bcalc-control:focus-within { border-color: #6DBE4B; box-shadow: 0 0 0 3px rgba(109, 190, 75, .2); }
.bcalc-prefix, .bcalc-unit { padding: 0 12px; font-size: 14px; color: #6b7280; white-space: nowrap; }
.bcalc-prefix { padding-right: 0; }
.bcalc-input { flex: 1 1 auto; min-width: 0; width: 100%; font: inherit; font-size: 17px; color: inherit; background: transparent; border: 0; outline: none; padding: 11px 12px; margin: 0; -moz-appearance: textfield; }
.bcalc-input::-webkit-outer-spin-button, .bcalc-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
select.bcalc-input { background: #fff; border: 1px solid #d9dee3; border-radius: 12px; padding: 11px 12px; }
select.bcalc-input:focus { border-color: #6DBE4B; box-shadow: 0 0 0 3px rgba(109, 190, 75, .2); }
.bcalc-help { font-size: 13px; line-height: 1.45; color: #6b7280; margin: 6px 0 0; }
.bcalc-results { position: sticky; top: 24px; background: #F6F6F6; border-radius: 16px; padding: 24px; }
.bcalc-total { background: #1C5633; color: #fff; border-radius: 12px; padding: 18px 20px; margin: 0 0 16px; }
.bcalc-total-label { display: block; font-size: 14px; opacity: .85; margin-bottom: 4px; }
.bcalc-total-value { display: block; font-size: 34px; font-weight: 700; line-height: 1.1; letter-spacing: -.01em; }
.bcalc-results--negative .bcalc-total { background: #8a2a1f; }
.bcalc-row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; padding: 8px 0; border-bottom: 1px solid #e3e6e9; }
.bcalc-row > span:last-child { font-weight: 600; text-align: right; }
.bcalc-row[hidden] { display: none; }
.bcalc-note { font-size: 13px; color: #3F3535; margin: 12px 0 0; }
.bcalc-note:empty { display: none; }
.bcalc-cta { margin: 18px 0 0; }
.bcalc-button { display: inline-block; background: #4B8B40; color: #fff !important; text-decoration: none; font-weight: 600; font-size: 15px; padding: 12px 20px; border-radius: 10px; transition: background .15s ease; }
.bcalc-button:hover { background: #1C5633; }
.bcalc-disclaimer { font-size: 12px; line-height: 1.5; color: #6b7280; margin: 14px 0 0; }
.bcalc-disclaimer a { color: inherit; text-decoration: underline; }
/* Link cards */
.bcalc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 16px 0 28px; }
.bcalc-card { display: block; background: #F6F6F6; border: 1px solid #e3e6e9; border-left: 5px solid #4B8B40; border-radius: 12px; padding: 18px 20px; color: #3F3535 !important; text-decoration: none !important; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.bcalc-card:hover { border-color: #4B8B40; box-shadow: 0 6px 18px rgba(28, 86, 51, .12); transform: translateY(-2px); }
.bcalc-card strong { display: block; color: #1C5633; font-size: 17px; margin: 0 0 6px; }
.bcalc-card span { font-size: 14px; line-height: 1.45; }
@media (max-width: 900px) {
	.bcalc { grid-template-columns: 1fr; }
	.bcalc-results { position: static; }
}
@media (max-width: 480px) {
	.bcalc-form { grid-template-columns: 1fr; }
	.bcalc-total-value { font-size: 28px; }
}
