/* Heating and pellet calculators: Zadom teal (#358983) and graphite (#474747) on top of the shared bathroom calculator styles. */
.hc {
    --blue: #358983;
    --navy: #1f4c49;
    --ink: #2b2f33;
    --muted: #5d6668;
    --line: #dbe5e3;
    --tint: #e9f4f2;
    --tint-strong: #d3e9e5;
}
.hc h1, .hc h2 { color: #474747; }
.hc .bc-estimate-main h2 { color: #fff; }
.hc h1 span { color: var(--blue); }
.hc .bc-button:hover { background: #2a6f6a; border-color: #2a6f6a; }
.hc .bc-step-links a { border-left-color: var(--tint-strong); }
.hc .bc-step-links a:first-child { border-color: var(--blue); }
.hc .bc-step-links a:hover { background: var(--tint); }
.hc .bc-draft { background: #f2f6f5; color: #4d5759; }
.hc .bc-form { background: #f3f7f6; }
.hc .bc-section { border-bottom-color: #d5e2df; }
.hc .bc-section-title > span { background: var(--tint-strong); }
.hc .bc-option > span, .hc .bc-segments span, .hc .bc-presets button { border-color: #c9d8d5; }
.hc .bc-area-input { border-color: #aec3bf; }
.hc .bc-option input:checked + span, .hc .bc-segments input:checked + span { background: var(--tint); }
.hc .bc-option input:checked + span::after { box-shadow: inset 0 0 0 3px var(--tint); }
.hc .bc-segments input:checked + span { color: #1f4c49; }
.hc .bc-segments small { display: block; font-size: 10px; font-weight: 400; color: var(--muted); line-height: 1.35; margin-top: 3px; }
.hc .bc-toggle { border-bottom-color: #d5e2df; }
.hc .bc-estimate-main .bc-eyebrow { color: #a9d8d2; }
.hc .bc-summary, .hc .bc-estimate-label, .hc .bc-result-explainer { color: #cfe4e1; }
.hc .bc-estimate-main .bc-button { color: #1f4c49 !important; }
.hc .bc-estimate-main .bc-button:hover { background: #e3f1ef; }
.hc .bc-products { background: var(--tint); }
.hc .bc-product-links, .hc .bc-product-link { border-color: #c3dbd7; }
.hc .bc-example:hover .bc-example-link { color: #1f4c49; }
.hc .bc-mobile-total { box-shadow: 0 -3px 15px #1f4c4910; }

.hc-house-svg { display: block; width: 100%; height: auto; border-radius: 10px; }
.hc-hero-figure .hc-house-svg { max-height: 430px; }
.hc-options-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc-options-two .bc-option > span { padding: 15px 30px 15px 13px; }
.hc-segments-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc-segments-four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.hc-segments-fuel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc .hc-after { margin-top: 25px; }
.hc-small-input input { width: 59px; }
.hc-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; padding: 16px 0 0; border-top: 1px solid #ffffff2b; }
.hc-stats dt { font-size: 11px; font-weight: 400; color: #cfe4e1; margin: 0 0 4px; }
.hc-stats dd { font-size: 19px; font-weight: 700; margin: 0; letter-spacing: -.02em; overflow-wrap: break-word; }
.hc-estimate-detail { background: #fff; padding: 23px 22px; min-width: 0; }
.hc-detail-title { font-size: 14px; font-weight: 700; margin: 0 0 4px; color: var(--ink); }
.hc-detail-note { font-size: 11px; color: var(--muted); margin: 0 0 8px; }
.hc-list { margin: 0 0 22px; border-top: 1px solid var(--line); }
.hc-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.hc-row strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.hc-row small { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.hc-row-current { background: #fdf3e2; margin: 0 -10px; padding: 11px 10px; }
.hc-saving { margin: -8px 0 18px; font-size: 12px; line-height: 1.6; color: #1f4c49; font-weight: 700; }
.hc-ac-plan { margin: 0 0 22px; padding: 15px; background: var(--tint); border-radius: 6px; font-size: 13px; }
.hc-ac-plan strong { display: block; margin-bottom: 5px; }
.hc-ac-plan p { margin: 0; line-height: 1.7; }
.hc-warning { margin: 0; padding: 11px 13px; border-radius: 6px; background: #fdf3e2; border: 1px solid #f0d29c; color: #5c3b00; font-size: 13px; line-height: 1.6; }
#hc-alerts:not(:empty), #pc-alerts:not(:empty) { display: grid; gap: 10px; margin-bottom: 22px; }
.hc-copy-status { color: #cfe4e1; font-size: 12px; margin: 10px 0 0; min-height: 1em; }
.hc-copy-fallback { width: 100%; margin-top: 10px; font: 12px/1.6 Menlo, Consolas, monospace; color: var(--ink); background: #fff; border: 0; border-radius: 6px; padding: 10px; }

.hc-product-grid { display: grid; gap: 12px; margin-bottom: 22px; }
.hc-product-grid:empty { display: none; }
.hc-product { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid #c3dbd7; border-radius: 8px; padding: 12px; text-decoration: none !important; color: var(--ink) !important; min-width: 0; }
.hc-product:hover { border-color: var(--blue); box-shadow: 0 4px 14px #1f4c4914; }
.hc-product img { width: 84px; height: 84px; object-fit: contain; flex-shrink: 0; background: #fff; border-radius: 5px; }
.hc-product > span { display: grid; gap: 3px; min-width: 0; }
.hc-product-kw { justify-self: start; font-size: 11px; font-weight: 700; color: #fff; background: var(--blue); border-radius: 4px; padding: 1px 7px; }
.hc-product strong { font-size: 13px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hc-product small { font-size: 11px; color: var(--muted); }
.hc-product-price { font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.hc-product-price s { font-size: 12px; font-weight: 400; color: var(--muted); }

.hc .bc-editorial > div, .hc .bc-photo-story > div { min-width: 0; }
.hc-table-wrap { overflow-x: auto; margin: 0 0 14px; -webkit-overflow-scrolling: touch; }
.hc-table { width: 100%; min-width: 440px; border-collapse: collapse; font-size: 13px; }
.hc-table th, .hc-table td { text-align: left; padding: 10px 10px 10px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.hc-table thead th { font-size: 11px; font-weight: 700; color: var(--muted); border-bottom-color: #b9cdc9; }
.hc-table tbody th { font-weight: 700; white-space: nowrap; }
.hc-table th small, .hc-table td small { display: block; font-size: 11px; font-weight: 400; color: var(--muted); white-space: normal; }
.hc-table tbody tr:target { background: #fdf3e2; }
.hc-checklist { margin: 0 0 18px; padding-left: 18px; font-size: 14px; line-height: 1.9; }
.hc-story dl > div:first-child { border-top: 1px solid var(--line); }

@media (min-width: 600px) {
    .hc-segments-fuel { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .hc-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hc-product { flex-direction: column; align-items: stretch; text-align: left; }
    .hc-product img { width: 100%; height: 150px; }
    .hc .bc-segments small { font-size: 11px; }
}
@media (min-width: 960px) {
    .hc-estimate-detail { padding: 36px; }
    .hc-stats dd { font-size: 22px; }
}
@media print {
    .hc-products, .hc-hero-figure { display: none !important; }
}
