/* ATS Closing Cost Estimator. All rules are scoped to .ats-cce so the site theme is not affected. */
.ats-cce{
  --bg:#f3f5f6; --surface:#ffffff; --ink:#14232b; --muted:#5a6a72; --line:#d7dee2;
  --accent:#b08d2f; --accent-ink:#ffffff; --gold:#9a7428; --warn-bg:#fff6e0; --warn-line:#e2c27a; --warn-ink:#5b4210;
  --display:"Newsreader", Georgia, "Times New Roman", serif;
  --body:"Outfit";
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  background:transparent;color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;color-scheme:light;
}
.ats-cce *,.ats-cce *::before,.ats-cce *::after{box-sizing:border-box}
.ats-cce [hidden]{display:none!important}
.ats-cce .wrap{max-width:1080px;margin:0 auto;padding:0;display:grid;gap:20px}
.ats-cce .print-disclaimer{display:none}
.ats-cce .mock{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.ats-cce h1{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,40px);line-height:1.1;margin:6px 0 4px;color:var(--ink);text-wrap:balance}
.ats-cce .sub{color:var(--muted);margin:0;max-width:62ch}

.ats-cce .disclaimer{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:6px;padding:14px 16px;font-size:14px}
.ats-cce .disclaimer strong{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}

.ats-cce .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.ats-cce .tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--muted);font:600 15px var(--body);padding:10px 16px;cursor:pointer;box-shadow:none}
.ats-cce .tab:hover{background:none;color:var(--ink)}
.ats-cce .tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.ats-cce .tab:focus-visible,.ats-cce select:focus-visible,.ats-cce input:focus-visible,.ats-cce button:focus-visible,.ats-cce a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.ats-cce .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
@media (max-width:820px){.ats-cce .grid{grid-template-columns:1fr}}
.ats-cce .panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;min-width:0}
.ats-cce .panel h2{font:600 13px var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}

.ats-cce form{display:grid;gap:14px;margin:0}
.ats-cce .field{display:grid;gap:5px;margin:0}
.ats-cce .field.stack{gap:14px}
.ats-cce .field label{font-weight:600;font-size:14px;color:var(--ink);margin:0}
.ats-cce .hint{font-size:12.5px;color:var(--muted)}
.ats-cce select,.ats-cce input[type=number],.ats-cce input[type=text]{width:100%;max-width:none;height:auto;margin:0;font:400 15px var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:9px 10px;box-shadow:none}
.ats-cce .money{position:relative}
.ats-cce .money span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted)}
.ats-cce .money input{padding-left:22px;font-family:var(--mono)}
.ats-cce .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:420px){.ats-cce .row2{grid-template-columns:1fr}}
.ats-cce fieldset{border:1px solid var(--line);border-radius:4px;padding:10px 12px;margin:0;display:grid;gap:8px}
.ats-cce legend{font-weight:600;font-size:14px;padding:0 4px;color:var(--ink)}
.ats-cce .check{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:400}
.ats-cce .check input{margin:3px 0 0;width:auto}

.ats-cce .est{width:100%;border-collapse:collapse;font-size:14px;margin:0;border:0}
.ats-cce .est td{padding:7px 0;border:0;border-bottom:1px solid var(--line);vertical-align:top;background:none;color:var(--ink)}
.ats-cce .est td.amt{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}
.ats-cce .est tr.group td{font:600 12px var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:16px;border-bottom:1px solid var(--ink)}
.ats-cce .est .note{display:block;font-size:12px;color:var(--muted)}
.ats-cce .total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;padding-top:14px;border-top:3px double var(--ink)}
.ats-cce .total span{font-weight:700}
.ats-cce .total b{font:500 26px var(--mono);font-variant-numeric:tabular-nums}
.ats-cce .excl{font-size:13px;color:var(--muted);margin-top:14px}
.ats-cce .excl ul{margin:6px 0 0;padding-left:18px}
.ats-cce .lead-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ats-cce .cta{display:inline-block;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:4px;font:600 15px var(--body);padding:11px 18px;cursor:pointer;text-decoration:none;line-height:1.3}
.ats-cce .cta:hover{opacity:.9;color:var(--accent-ink)}
.ats-cce .cta.ghost{background:transparent;color:var(--accent)}
.ats-cce .cta.ghost:hover{color:var(--accent)}
.ats-cce input:disabled{opacity:.5}
.ats-cce .print-only{display:none}
.ats-cce .devnote{font:400 12px var(--mono);color:var(--gold);margin-top:8px}

/* Print / Save as PDF: hide the rest of the website and print only the estimate. */
@media print{
  body.ats-cce-printing *{visibility:hidden}
  body.ats-cce-printing .ats-cce,body.ats-cce-printing .ats-cce *{visibility:visible}
  body.ats-cce-printing .ats-cce{position:absolute;left:0;top:0;width:100%}
  .ats-cce{--bg:#fff;--surface:#fff;--ink:#000;--muted:#444;--line:#bbb;--warn-bg:#fff;--warn-line:#000;--warn-ink:#000;font-size:11pt}
  .ats-cce .wrap{padding:0;gap:12px;max-width:none}
  .ats-cce .cce-header,.ats-cce .tabs,.ats-cce .panel.inputs,.ats-cce .lead-actions,.ats-cce #atscce-pdfMsg,.ats-cce .devnote,.ats-cce #atscce-est-h,.ats-cce .excl{display:none!important}
  .ats-cce .grid{display:block}
  .ats-cce .panel{border:0;padding:0}
  .ats-cce .print-only{display:block;margin-bottom:10px;border-bottom:2px solid #000;padding-bottom:8px}
  .ats-cce .ph-firm{font:600 10pt var(--body);letter-spacing:.08em;text-transform:uppercase}
  .ats-cce .ph-title{font:600 20pt var(--display)}
  .ats-cce .ph-meta{font-size:10pt;color:#444}
  .ats-cce .print-disclaimer{display:block}
  .ats-cce .disclaimer{font-size:9pt;padding:8px 10px;break-inside:avoid}
  .ats-cce .est tr{break-inside:avoid}
  .ats-cce .est td{padding:3px 0}
  .ats-cce .est tr.group td{padding-top:8px}
  .ats-cce .total{margin-top:8px;padding-top:8px}
  .ats-cce .total b{font-size:16pt}
}
