#painting-calculator { scroll-margin-top: 130px; padding: 3.5rem var(--page-gutter, 24px); background: #f2f5f8; color: #172033; font: 400 1rem/1.6 var(--font-body, Arial, sans-serif); }
#painting-calculator .budget-heading, #painting-calculator .budget-layout { max-width: 1180px; margin: 0 auto; }
#painting-calculator .budget-heading { margin-bottom: 2rem; }
#painting-calculator h2 { text-align: left; font-size: clamp(1.8rem, 3.4vw, 2.75rem); line-height: 1.15; margin: .5rem 0 1rem; }
#painting-calculator h3 { font-size: 1.25rem; margin: 1rem 0; }
#painting-calculator p { font-size: 1rem; color: inherit; margin: .7rem 0; }
#painting-calculator .budget-kicker { font-size: .875rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
#painting-calculator a { color: #183e69; text-decoration: underline; text-underline-offset: .2em; }
#painting-calculator .budget-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
#painting-calculator .budget-form, #painting-calculator .budget-result-panel { min-width: 0; padding: 1.5rem; background: #fff; border: 1px solid #b1bfce; border-radius: 12px; }
#painting-calculator .budget-result-panel { border-top: 5px solid #f59e0b; }
#painting-calculator .budget-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 1rem 0; border: 0; min-width: 0; }
#painting-calculator .budget-field { min-width: 0; }
#painting-calculator legend { padding: 0; font-size: .875rem; }
#painting-calculator label { display: block; font-size: 1rem; font-weight: 600; color: #172033; }
#painting-calculator input[type=number], #painting-calculator select { width: 100%; min-height: 48px; margin: .4rem 0 0; padding: .7rem; border: 1px solid #768499; border-radius: 6px; background: #fff; color: #172033; font: inherit; box-sizing: border-box; }
#painting-calculator .budget-choice { display: flex; align-items: center; gap: .8rem; min-height: 52px; cursor: pointer; }
#painting-calculator input[type=checkbox] { appearance: auto; -webkit-appearance: checkbox; width: 22px; height: 22px; flex: 0 0 22px; margin: 0; accent-color: #183e69; cursor: pointer; }
#painting-calculator .budget-choice { padding: .5rem .6rem; border: 1px solid transparent; border-radius: 6px; }
#painting-calculator .budget-choice:has(input:checked) { background: #e8eff7; border-color: #183e69; }
#painting-calculator .budget-choice:focus-within { outline: 3px solid #2563eb; outline-offset: 2px; }
#painting-calculator .budget-scope { border-bottom: 1px solid #ccd5df; padding: .35rem 0; }
#painting-calculator .budget-hint, #painting-calculator .budget-note { font-size: .875rem; line-height: 1.55; color: #46566b; }
#painting-calculator .budget-buttons { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.2rem; }
#painting-calculator button { min-height: 48px; padding: .8rem 1rem; background: #183e69; color: #fff; border: 2px solid #183e69; border-radius: 7px; font: 600 1rem/1.4 var(--font-body, Arial, sans-serif); text-transform: none; cursor: pointer; }
#painting-calculator button.budget-secondary { background: #fff; color: #183e69; }
#painting-calculator #budget-attach { background: #f59e0b; color: #172033; border-color: #f59e0b; width: 100%; margin: 1rem 0; }
#painting-calculator button:disabled { cursor: not-allowed; opacity: .6; }
#painting-calculator :focus-visible, #budget-results:focus { outline: 3px solid #2563eb; outline-offset: 3px; }
#painting-calculator #budget-results { border-radius: 4px; }
#painting-calculator .budget-price { font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1.2; overflow-wrap: anywhere; }
#painting-calculator .budget-breakdown { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem 1rem; font-size: .875rem; }
#painting-calculator dd { margin: 0; text-align: right; }
#painting-calculator details { border-top: 1px solid #ccd5df; margin-top: 1.2rem; padding-top: 1rem; }
#painting-calculator summary { cursor: pointer; font-weight: 600; min-height: 44px; }
#painting-calculator .budget-table-wrap { overflow-x: auto; }
#painting-calculator table { border-collapse: collapse; width: 100%; font-size: .875rem; }
#painting-calculator th, #painting-calculator td { padding: .6rem; border-bottom: 1px solid #ccd5df; text-align: left; }
#painting-calculator caption { text-align: left; padding-bottom: .6rem; }
#painting-calculator .budget-alert { padding: 1rem; border-left: 4px solid #b42318; background: #fff1ef; color: #781b14; }
#painting-calculator [hidden], .quote-section .budget-attachment[hidden] { display: none !important; }
.quote-section .budget-attachment { padding: 1rem; margin: 1rem 0; border: 1px solid #b6c6dc; border-left: 4px solid #f59e0b; border-radius: 5px; color: #fff; }
.quote-section .budget-attachment p { color: #e1e7ef; font-size: 1rem; }
.homepage .quote-section .contact-form .budget-remove { width: auto; min-height: 44px; margin: .5rem 0 0; background: transparent; border: 1px solid #b6c6dc; color: #fff; padding: .5rem .8rem; }
@media (max-width: 1000px) { #painting-calculator .budget-layout { grid-template-columns: 1fr; } }
@media (max-width: 600px) { #painting-calculator .budget-fields { grid-template-columns: 1fr; } #painting-calculator .budget-form, #painting-calculator .budget-result-panel { padding: 1rem; } #painting-calculator .budget-breakdown { grid-template-columns: 1fr; gap: .2rem; } #painting-calculator dd { text-align: left; margin-bottom: .6rem; } }

#painting-calculator #budget-assess { width: 100%; margin: 1rem 0; background: #f59e0b; border-color: #f59e0b; color: #172033; }
#painting-calculator .budget-room-helper { grid-column: 1 / -1; margin: 0 0 .5rem; padding: 1rem; border: 1px solid #b1bfce; border-radius: 8px; background: #f4f7fa; }
#painting-calculator .budget-room-helper summary { min-height: 0; padding: .3rem 0; }
#painting-calculator .budget-room-helper input[type=text] { width: 100%; box-sizing: border-box; min-height: 48px; margin: .4rem 0 0; padding: .7rem; border: 1px solid #768499; border-radius: 6px; background: #fff; color: #172033; font: inherit; }
#painting-calculator .budget-room-helper input:disabled { background: #e6ebf0; color: #536172; }
#painting-calculator #budget-export { border-top: 1px solid #ccd5df; padding-top: .3rem; }
#budget-print-summary { display: none; }
@media (max-width: 600px) { #painting-calculator #budget-export .budget-buttons { flex-direction: column; } }
@media print {
  @page { margin: 16mm; }
  body.printing-budget { background: #fff !important; color: #172033 !important; margin: 0; padding: 0; }
  body.printing-budget > :not(#budget-print-summary) { display: none !important; }
  body.printing-budget #budget-print-summary { display: block !important; margin: 0; padding: 0; }
  #budget-print-text { margin: 0; padding: 0; background: #fff; color: #172033; white-space: pre-wrap; overflow-wrap: anywhere; font: 10pt/1.5 Arial, sans-serif; }
}
