/* Cardinal HVAC — Unit Lookup tool styles (loaded only on the tool page) */

.tool-hero {
  background-color: #0d3b66;
  color: #fff;
  padding: 2.2rem 0 1.6rem;
}
.tool-hero h1 { margin: 0 0 .4rem; font-size: 1.9rem; }
.tool-hero p { margin: 0; max-width: 720px; opacity: .92; line-height: 1.5; }

.lookup-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem;
  padding: 2rem 0 1rem;
}
@media (max-width: 820px) { .lookup-wrap { grid-template-columns: 1fr; } }

.lookup-card, .result-card {
  background: #fff;
  border: 1px solid #e1e5ee;
  border-radius: 10px;
  padding: 1.4rem 1.4rem 1.6rem;
  box-shadow: 0 1px 3px rgba(13,59,102,.06);
}
.lookup-card h2, .result-card h2 {
  margin: 0 0 1rem; color: #0d3b66; font-size: 1.15rem;
}

.field { margin-bottom: 1rem; }
.field label {
  display: block; font-weight: bold; color: #0d3b66;
  margin-bottom: .35rem; font-size: .92rem;
}
.field select, .field input[type="text"] {
  width: 100%; padding: .6rem .7rem; border: 1px solid #ccc;
  border-radius: 6px; font-size: 1rem; box-sizing: border-box; background: #fff;
}
.field select:focus, .field input:focus {
  outline: 2px solid #0d3b66; border-color: #0d3b66;
}

/* input + copy button row */
.input-copy { display: flex; gap: .5rem; }
.input-copy input { flex: 1; }
.copy-btn {
  flex: 0 0 auto; border: 1px solid #0d3b66; background: #f0f2f7;
  color: #0d3b66; border-radius: 6px; padding: 0 .8rem; cursor: pointer;
  font-size: .85rem; font-weight: bold; transition: background .15s, color .15s;
}
.copy-btn:hover { background: #0d3b66; color: #fff; }
.copy-btn.copied { background: #2e7d32; border-color: #2e7d32; color: #fff; }

/* optional-label hint */
.opt { font-weight: normal; color: #888; font-size: .82rem; }

/* brand autocorrect suggestions */
.brand-suggest { display: none; margin-top: .45rem; flex-wrap: wrap; gap: .4rem; }
.brand-suggest.show { display: flex; }
.suggest-chip {
  border: 1px solid #0d3b66; background: #f0f2f7; color: #0d3b66;
  border-radius: 999px; padding: .32rem .8rem; cursor: pointer;
  font-size: .88rem; font-weight: bold; transition: background .15s, color .15s;
}
.suggest-chip:hover, .suggest-chip:focus { background: #0d3b66; color: #fff; outline: none; }

/* auto-detect best-match banner */
.autodetect-banner {
  background: #eef4fb; border: 1px solid #cdddf0; color: #0d3b66;
  border-radius: 8px; padding: .7rem .9rem; margin-bottom: 1rem; font-size: 1rem;
}
.autodetect-banner strong { font-size: 1.05rem; }
.autodetect-banner .ad-sub { color: #5a6b80; font-weight: normal; font-size: .84rem;
  margin-top: .3rem; line-height: 1.4; }

/* best-match + other-reads, side by side (stacks on narrow screens) */
.match-row {
  display: flex; gap: 1rem; align-items: stretch;
  margin-bottom: 1rem; flex-wrap: wrap;
}
.match-primary, .match-alts {
  flex: 1 1 240px; min-width: 0; border-radius: 8px;
  padding: .7rem .9rem;
}
.match-primary {
  background: #eef4fb; border: 1px solid #cdddf0; color: #0d3b66;
}
.match-alts {
  background: #fff8f2; border: 1px solid #f2d79b;
}
.mp-k, .ma-k {
  font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
  font-weight: bold; margin-bottom: .15rem;
}
.mp-k { color: #5a6b80; }
.ma-k { color: #8a5a00; }
.mp-brand { font-size: 1.25rem; font-weight: bold; color: #0d3b66; line-height: 1.1; }
.mp-sub { color: #5a6b80; font-size: .82rem; margin-top: .3rem; line-height: 1.4; }
.ma-sub { color: #8a6a2f; font-size: .8rem; margin: 0 0 .5rem; line-height: 1.4; }

.ma-count { color: #b06f00; font-weight: bold; }

/* dropdown listing every other possible match (shown when 2+ exist) */
.alt-select {
  width: 100%; margin-top: .2rem; padding: .5rem .6rem; font-size: .92rem;
  border: 1px solid #e0b866; border-radius: 6px; background: #fff; color: #333;
  box-sizing: border-box; cursor: pointer;
}
.alt-select:focus { outline: 2px solid #b06f00; border-color: #b06f00; }

/* alternative-brand chips in result */
.alt-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .2rem; }
.alt-chip {
  border: 1px solid #d32f2f; background: #fff; color: #d32f2f;
  border-radius: 999px; padding: .34rem .8rem; cursor: pointer;
  font-size: .88rem; font-weight: bold; transition: background .15s, color .15s;
}
.alt-chip:hover, .alt-chip:focus { background: #d32f2f; color: #fff; outline: none; }
.alt-chip .alt-date { font-weight: normal; opacity: .8; font-size: .82rem; }

/* US-format detected alert banner */
.result-alert {
  background: #fff4e0; border: 1px solid #f2d79b; color: #8a5a00;
  border-radius: 8px; padding: .7rem .9rem; margin-bottom: 1rem;
  font-size: .9rem; line-height: 1.45; font-weight: 600;
}

.btn-row { display: flex; gap: .6rem; }
.decode-btn {
  flex: 1; background-color: #d32f2f; color: #fff; border: none;
  padding: .8rem; border-radius: 6px; font-size: 1.05rem; font-weight: bold;
  cursor: pointer; transition: background-color .3s;
}
.decode-btn:hover { background-color: #a72121; }
.clear-btn {
  flex: 0 0 auto; background: #fff; color: #0d3b66; border: 1px solid #ccd4e0;
  padding: .8rem 1.1rem; border-radius: 6px; font-size: 1rem; font-weight: bold;
  cursor: pointer; transition: background-color .15s, color .15s, border-color .15s;
}
.clear-btn:hover { background: #eef0f5; border-color: #0d3b66; }

/* result card */
.result-card { display: none; }
.result-card.show { display: block; }
.result-empty { color: #888; font-style: italic; }

.age-line { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.age-number { font-size: 2.6rem; font-weight: bold; color: #0d3b66; line-height: 1; }
.age-label { font-size: 1rem; color: #555; }
.made-date { margin: .3rem 0 1rem; font-size: 1.05rem; color: #333; }
.made-date strong { color: #0d3b66; }

.badge {
  display: inline-block; padding: .18rem .6rem; border-radius: 999px;
  font-size: .74rem; font-weight: bold; text-transform: uppercase;
  letter-spacing: .03em; vertical-align: middle;
}
.badge.high   { background: #e6f4ea; color: #1e7e34; border: 1px solid #b7dfc2; }
.badge.medium { background: #fff4e0; color: #b06f00; border: 1px solid #f2d79b; }
.badge.low    { background: #fde8e8; color: #b32020; border: 1px solid #f2b8b8; }

.result-row {
  padding: .7rem 0; border-top: 1px solid #eef0f5; font-size: .95rem;
  color: #333; line-height: 1.45;
}
.result-row .k { color: #0d3b66; font-weight: bold; display: block;
  font-size: .8rem; text-transform: uppercase; letter-spacing: .03em;
  margin-bottom: .15rem; }

/* tonnage data point */
.tonnage-val { font-size: 1.25rem; font-weight: bold; color: #0d3b66; }
.tonnage-btu { color: #555; }
.tonnage-sub { color: #777; font-size: .84rem; margin-top: .2rem; }
.result-row .k .badge { margin-left: .35rem; vertical-align: middle; }

.warranty-cta {
  display: inline-block; margin-top: .5rem; background-color: #0d3b66;
  color: #fff; padding: .6rem 1rem; border-radius: 6px; text-decoration: none;
  font-weight: bold;
}
.warranty-cta:hover { background-color: #09284a; }

/* official manufacturer website link */
.mfr-link { color: #0d3b66; font-weight: bold; text-decoration: none; border-bottom: 1px solid #cdddf0; }
.mfr-link:hover { color: #d32f2f; border-bottom-color: #d32f2f; }

.notes-list { margin: .4rem 0 0; padding-left: 1.1rem; color: #6a5300; font-size: .88rem; }
.notes-list li { margin-bottom: .25rem; }

.disclaimer {
  font-size: .82rem; color: #777; margin-top: 1.2rem; line-height: 1.5;
  border-top: 1px dashed #d9dee8; padding-top: .9rem;
}

/* warranty hub note under the form */
.warranty-note {
  background: #f5f7fb; border: 1px solid #e1e5ee; border-radius: 8px;
  padding: .9rem 1.1rem; margin: 1rem 0 0; font-size: .92rem; color: #444;
}
.warranty-note a { color: #d32f2f; font-weight: bold; }

/* ── Nomenclature breakdown (serial & model) ─────────────────────────── */
.nomen-raw {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.15rem; font-weight: bold; letter-spacing: .12em;
  color: #0d3b66; background: #f0f2f7; border: 1px solid #dde3ef;
  border-radius: 6px; padding: .5rem .7rem; margin: .3rem 0 .6rem;
  display: inline-block; word-break: break-all;
}
.nomen-table { width: 100%; border-collapse: collapse; margin-top: .2rem; }
.nomen-table td {
  padding: .4rem .5rem; border-top: 1px solid #eef0f5;
  vertical-align: top; font-size: .9rem;
}
.nomen-chars {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: bold; color: #d32f2f; white-space: nowrap;
  background: #fff4f4; border-radius: 4px; text-align: center;
  width: 1%; letter-spacing: .06em;
}
.nomen-label { font-weight: bold; color: #0d3b66; white-space: nowrap; }
.nomen-mean { color: #444; line-height: 1.4; }
.nomen-guide {
  margin-top: .55rem; font-size: .82rem; color: #6a7688; line-height: 1.5;
  border-top: 1px dashed #dde3ef; padding-top: .5rem;
}

/* sub-line under the "other possible reads/matches" heading */
.alt-sub { color: #5a6b80; font-size: .84rem; line-height: 1.4; margin: 0 0 .5rem; }

/* ── Brand directory (hub) ───────────────────────────────────────────── */
.brand-directory { padding: 2rem 0 1rem; }
.brand-directory h2 { color: #0d3b66; margin: 0 0 .3rem; }
.brand-directory > .container > p { color: #555; max-width: 720px; margin: 0 0 1.2rem; }
.brand-dir-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .9rem;
}
/* umbrella-manufacturer cards (major families only) */
.bd-umbrella {
  display: flex; flex-direction: column; justify-content: center;
  border: 1px solid #e1e5ee; border-radius: 10px; padding: .9rem 1.1rem;
  text-decoration: none; background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.bd-umbrella:hover { border-color: #0d3b66; box-shadow: 0 2px 8px rgba(13,59,102,.1); }
.bd-name { color: #0d3b66; font-weight: bold; font-size: 1.05rem; }
.bd-count { color: #777; font-size: .8rem; margin-top: .15rem; }
.bd-family h3 {
  color: #0d3b66; font-size: 1rem; margin: 0 0 .5rem;
  border-bottom: 2px solid #eef0f5; padding-bottom: .3rem;
}
.bd-family ul { list-style: none; margin: 0; padding: 0; }
.bd-family li { margin: 0 0 .3rem; }
.bd-family a { color: #0d3b66; text-decoration: none; font-size: .92rem; }
.bd-family a:hover { color: #d32f2f; text-decoration: underline; }

/* ── Generated per-brand page content ────────────────────────────────── */
.crumbs { font-size: .82rem; margin-bottom: .6rem; opacity: .85; }
.crumbs a { color: #fff; text-decoration: underline; }
.ul-content { padding: 1.6rem 0 2rem; }
.ul-content h2 {
  color: #0d3b66; margin: 1.6rem 0 .5rem; font-size: 1.3rem;
  border-top: 1px solid #eef0f5; padding-top: 1.2rem;
}
.ul-content h2:first-of-type { border-top: none; padding-top: 0; margin-top: .5rem; }
.ul-content h3 { color: #0d3b66; margin: 1rem 0 .3rem; font-size: 1.02rem; }
.ul-content h4 { color: #555; margin: .8rem 0 .3rem; font-size: .9rem; }
.ul-content p { color: #333; line-height: 1.6; max-width: 760px; }
.ul-guide { margin: .3rem 0 .6rem; padding-left: 1.2rem; color: #333; line-height: 1.5; }
.ul-guide li { margin-bottom: .25rem; }
.chart-table { border-collapse: collapse; margin: .3rem 0 1rem; font-size: .88rem; }
.chart-table td { border: 1px solid #e1e5ee; padding: .25rem .7rem; }
.ct-code {
  font-family: ui-monospace, Menlo, Consolas, monospace; font-weight: bold;
  color: #d32f2f; text-align: center; background: #fff4f4;
}
.sib-links {
  list-style: none; margin: .3rem 0 .6rem; padding: 0;
  display: flex; flex-wrap: wrap; gap: .4rem .9rem;
}
.sib-links li { font-size: .92rem; }
.sib-links a { color: #0d3b66; }
.faq-item {
  border: 1px solid #e1e5ee; border-radius: 8px; margin: .5rem 0;
  padding: .2rem .9rem; background: #fff; max-width: 760px;
}
.faq-item summary {
  cursor: pointer; font-weight: bold; color: #0d3b66; padding: .6rem 0;
}
.faq-item p { margin: 0 0 .7rem; }
.ul-cta {
  margin-top: 1.6rem; background: #eef4fb; border: 1px solid #cdddf0;
  border-radius: 10px; padding: 1.2rem 1.4rem; max-width: 760px;
}
.ul-cta p { margin: 0 0 .8rem; }

/* ── Unverified (imported, pending review) markers ───────────────────── */
.result-alert.unverified { background:#fdecea; border-color:#f5b3ab; color:#7a1f16; }
.unverified-banner {
  background:#fdecea; border:1px solid #f5b3ab; color:#7a1f16; border-radius:8px;
  padding:.7rem .9rem; margin:0 0 1rem; font-size:.9rem; line-height:1.45;
}

/* ── Report / suggest-an-edit ────────────────────────────────────────── */
.report-link { text-align:center; margin:1.1rem 0 0; font-size:.9rem; }
.report-link a { color:#0d3b66; }
.report-link a:hover { color:#d32f2f; }

/* inline report card — sits in the left column, below Unit details */
.report-card {
  grid-column: 1;
  background:#fff; border:1px solid #e1e5ee; border-radius:10px;
  padding:1.4rem 1.4rem 1.6rem; box-shadow:0 1px 3px rgba(13,59,102,.06);
}
.report-card[hidden] { display:none; }
.report-card h2 { margin:0 0 .3rem; color:#0d3b66; font-size:1.15rem; }
.rpt-sub { color:#555; font-size:.9rem; margin:0 0 1rem; line-height:1.45; }
.rpt-hp { position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.report-card .cf-turnstile { margin:.6rem 0; }
.rpt-msg { font-size:.88rem; min-height:1.2em; margin:.35rem 0; }
.rpt-msg.ok { color:#1e7e34; } .rpt-msg.err { color:#b32020; }
.report-card .clear-btn { flex:0 0 auto; }

/* sources */
.sources { background: #f9f9f9; padding: 1.4rem 0 2rem; margin-top: 1.5rem; }
.sources h3 { color: #0d3b66; margin: 0 0 .5rem; font-size: 1rem; }
.sources ul { margin: 0; padding-left: 1.2rem; color: #555; font-size: .88rem; }
.sources li { margin-bottom: .3rem; }
.sources a { color: #0d3b66; }
