/* Calculator rules stay inside main; shared site chrome uses style.css. */
.page-affordability { background: #f4f7f8; }
.calculator-content { max-width: 60rem; margin: auto; padding: 2rem 1.25rem 3rem; color: #18333e; }
.calculator-content h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; margin: 1rem 0; }
.calculator-content h2 { line-height: 1.3; margin: 1rem 0; }
.calculator-content h3, .calculator-content p { margin: 1rem 0; }
.calculator-content .eyebrow { font-weight: 700; color: #075e67; }
.calculator-content .intro { font-size: 1.2rem; }
.calculator-content a { color: #07576e; text-decoration: underline; text-underline-offset: .2em; }
.calculator-content fieldset, .calculator-content aside, #result { border: 1px solid #bbcbd1; border-radius: .6rem; background: white; padding: 1.3rem; margin: 1.5rem 0; min-width: 0; }
.calculator-content legend { font-size: 1.15rem; font-weight: 700; padding: 0 .4rem; }
.calculator-content .privacy { border-left: 6px solid #087568; }
.calculator-content .warning { border-left: 6px solid #985000; background: #fff5e6; }
.calculator-content .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.calculator-content label { display: block; font-weight: 600; }
.calculator-content input, .calculator-content select, .calculator-content button { font: inherit; max-width: 100%; min-height: 48px; }
.calculator-content input, .calculator-content select { display: block; width: 100%; padding: .6rem; border: 1px solid #617781; border-radius: .3rem; background: white; color: #18333e; margin-top: .3rem; }
.calculator-content button { border: 2px solid #07576e; border-radius: .35rem; padding: .6rem 1rem; color: #07576e; background: #fff; cursor: pointer; }
.calculator-content button.primary { background: #07576e; color: white; }
.calculator-content .actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.calculator-content .entry { display: grid; grid-template-columns: 2fr 1fr 1fr auto; align-items: end; gap: .75rem; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #d5dfe3; }
.calculator-content .entry button { margin-bottom: 0; }
#error { color: #8a240e; font-weight: 700; }
.calculator-content :focus-visible, #result:focus { outline: 3px solid #b34c00; outline-offset: 3px; }
#result { scroll-margin-top: 11rem; }
.calculator-content dt { font-weight: 600; }
.calculator-content dd { margin: 0 0 .65rem; font-size: 1.15rem; }
.calculator-content [hidden] { display: none !important; }
.calculator-content .ack { margin: 1.25rem 0; font-weight: 400; }
.calculator-content .ack input { display: inline-block; width: 24px; height: 24px; min-height: 24px; vertical-align: middle; margin-right: .6rem; }
.calculator-content button:disabled { opacity: .6; cursor: not-allowed; }
@media (max-width: 640px) {
  .calculator-content { padding: 1rem; }
  .calculator-content .entry { grid-template-columns: 1fr 1fr; }
  .calculator-content .entry label:first-child, .calculator-content .entry button { grid-column: 1/-1; }
  .calculator-content fieldset, .calculator-content aside, #result { padding: 1rem; }
}
