/* Scoped calculator styles; the shared brand and contact components stay in mmd-theme.css. */
.job-tool { padding-block:48px 72px; }
.job-tool .breadcrumbs { margin-bottom:30px; }
.job-intro { max-width:850px; margin-bottom:32px; }
.job-intro h1 { margin:12px 0 20px; max-width:800px; }
.job-intro .content-lead { margin:0 0 16px; }
.job-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:24px; align-items:start; }
.job-form,.job-results { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); padding:28px; min-width:0; }
.job-form fieldset { border:0; border-top:1px solid var(--border); margin:24px 0 0; padding:24px 0 0; min-width:0; }
.job-form legend { font-size:1.15rem; font-weight:750; color:var(--navy); padding:0 12px 0 0; }
.job-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:16px; }
.job-field label { display:block; font-weight:650; color:var(--navy); margin-bottom:6px; }
.job-field .form-input { width:100%; min-height:48px; font-size:16px; }
.job-field small { display:block; margin-top:5px; line-height:1.5; }
.job-form .job-field { margin-top:14px; }
.job-form .job-fields .job-field { margin-top:0; }
.job-field [aria-invalid="true"] { border:2px solid var(--red); }
.job-error { color:var(--red-hover); display:block; font-size:.9rem; margin-top:5px; }
.job-errors { border:2px solid var(--red); padding:16px; border-radius:10px; margin-bottom:20px; }
.job-errors p+p { margin-top:8px; }
.job-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 12px; }
.job-actions .button { min-height:46px; }
.job-results { background:var(--navy); color:#e2e8f0; }
.job-results h2,.job-results h3 { color:white; }
.job-results h2 { font-size:1.6rem; margin-bottom:16px; }
.job-results [data-job-price] { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.04em; color:white; font-weight:800; overflow-wrap:anywhere; }
.job-result-metrics { display:grid; grid-template-columns:1.5fr 1fr; gap:12px; margin:22px 0; }
.job-result-metrics p { color:#cbd5e1; font-size:.9rem; }
.job-result-metrics strong { display:block; font-size:1.5rem; color:white; overflow-wrap:anywhere; }
.job-results table { width:100%; border-collapse:collapse; margin:16px 0; font-size:.95rem; }
.job-results th,.job-results td { border-bottom:1px solid #334155; padding:12px 0; text-align:left; vertical-align:top; }
.job-results th { font-weight:500; padding-right:12px; }
.job-results td { text-align:right; white-space:nowrap; }
.job-results tr:last-child { font-weight:750; }
.job-results .helper { color:#cbd5e1; }
.job-results p+p { margin-top:12px; }
.job-results .job-warning { background:#fff7ed; color:#7c2d12; padding:14px; border-radius:10px; margin-top:16px; }
.job-loss [data-job-profit] { color:#fda4af; }
.job-results .button { margin-top:20px; border-color:#94a3b8; color:white; }
.job-results [data-job-overrun] { border-top:1px solid #334155; padding-top:18px; margin-top:20px; }
.job-result-placeholder { border:1px dashed #94a3b8; border-radius:var(--radius); padding:28px; }
.job-result-placeholder h2 { font-size:1.5rem; margin-bottom:14px; }
.job-result-placeholder p+p { margin-top:12px; }
.job-layout:has([data-job-result]:not([hidden])) .job-result-placeholder { display:none; }
.job-information { max-width:900px; margin-top:48px; }
.job-information section { margin-top:32px; }
.job-information h2 { font-size:1.8rem; margin-bottom:16px; }
.job-information p+p { margin-top:14px; }
.job-information li { margin-block:9px; }
.job-information .guide-callout { margin-top:32px; }
.job-print-heading { display:none; }
@media(max-width:900px) {
 .job-layout { grid-template-columns:1fr; }
 .job-tool~.whatsapp-contact { display:none; }
}
@media(max-width:500px) {
 .job-tool { padding-top:28px; } .job-form,.job-results { padding:20px; }
 .job-fields { grid-template-columns:1fr; gap:16px; }
 .job-actions .button { width:100%; } .job-result-metrics { grid-template-columns:1fr; }
 .job-results table { font-size:.85rem; }
 .job-results th { padding-right:8px; }
}
@media print {
 body { background:white; color:black; }
 body>*:not(main), .job-intro,.job-form,.job-result-placeholder,.job-information,.breadcrumbs,.job-results .button { display:none!important; }
 .job-tool,.job-results { padding:0; margin:0; }
 .job-tool .container { width:100%; }
 .job-layout { display:block; }
 .job-results,.job-results h2,.job-results h3,.job-results p,.job-results strong { background:white!important; color:black!important; }
 .job-results { border:0; }
 .job-results { font-size:11pt; line-height:1.35; }
 .job-results h2 { font-size:18pt; margin-bottom:10px; }
 .job-results [data-job-price] { font-size:26pt; }
 .job-results table { font-size:10pt; margin:12px 0; }
 .job-results th,.job-results td { padding:7px 0; }
 .job-result-metrics { margin:14px 0; }
 .job-results th,.job-results td { border-color:#aaa; }
 .job-print-heading { display:block; margin-bottom:24px; }
 .job-print-heading h1 { font-size:24pt; margin-bottom:10px; }
 .job-results [data-job-price] { color:black; }
 .job-results [data-job-overrun] { border-color:#aaa; }
 .job-results .job-warning { border:1px solid #aaa; }
 .job-results { break-inside:avoid; }
}
