/* CalcAtlas — Home & Construction: Heating Cost Calculator */
.heating-cost-page{padding-bottom:3rem}.heating-cost-intro{max-width:820px;margin:0 0 2rem}.heating-cost-intro h1{margin-bottom:.75rem}.heating-cost-intro p{max-width:760px;line-height:1.7}.heating-cost-calculator{max-width:920px;margin:0 0 3rem}.heating-cost-card,.heating-cost-results{background:#fff;border:1px solid #dfe7eb;border-radius:14px;box-shadow:0 8px 24px rgba(24,55,70,.06)}.heating-cost-card{padding:1.5rem}.heating-cost-card h2{margin-top:0;margin-bottom:1.25rem}.heating-cost-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.25rem}.heating-cost-field{min-width:0}.heating-cost-field-wide{grid-column:1/-1}.heating-cost-field label{display:block;margin-bottom:.45rem;font-weight:700;line-height:1.35}.heating-cost-field input,.heating-cost-field select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:.78rem .85rem;border:1px solid #bdcbd2;border-radius:8px;background:#fff;color:#183746;font:inherit;line-height:1.25}.heating-cost-field input:focus,.heating-cost-field select:focus{outline:2px solid rgba(51,123,152,.22);outline-offset:1px;border-color:#337b98}.heating-cost-help{margin:.4rem 0 0;color:#5c6f78;font-size:.9rem;line-height:1.5}.heating-cost-input-unit{display:flex;align-items:stretch;min-width:0}.heating-cost-input-unit input{border-radius:8px 0 0 8px}.heating-cost-input-unit span{display:flex;align-items:center;padding:0 .85rem;border:1px solid #bdcbd2;border-left:0;border-radius:0 8px 8px 0;background:#f5f8f9;color:#4b616b;white-space:nowrap}.heating-cost-error{margin-bottom:0;margin-top: 1.2rem;padding:.85rem 1rem;border:1px solid #c77b7b;border-radius:8px;background:#fff7f7;color:#7a2424;line-height:1.5}.heating-cost-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.heating-cost-primary-btn,.heating-cost-secondary-btn{min-width:130px;padding:.8rem 1.1rem;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.heating-cost-primary-btn{border:1px solid #2d6e89;background:#337b98;color:#fff}.heating-cost-primary-btn:hover,.heating-cost-primary-btn:focus-visible{background:#2d6e89}.heating-cost-secondary-btn{border:1px solid #bdcbd2;background:#fff;color:#294b5a}.heating-cost-secondary-btn:hover,.heating-cost-secondary-btn:focus-visible{background:#f3f6f7}.heating-cost-results{margin-top:1.5rem;overflow:hidden}.heating-cost-result-hero{padding:1.5rem;border-bottom:1px solid #dfe7eb;text-align:center}.heating-cost-result-label{display:block;margin-bottom:.35rem;color:#526b76;font-size:.95rem;font-weight:700}.heating-cost-result-hero strong{display:block;color:#245d75;font-size:clamp(2rem,6vw,3rem);line-height:1.1}.heating-cost-result-hero>span:last-child{display:block;margin-top:.4rem;color:#5c6f78}.heating-cost-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #dfe7eb}.heating-cost-summary-card{padding:1.1rem;border-right:1px solid #dfe7eb;text-align:center}.heating-cost-summary-card:last-child{border-right:0}.heating-cost-summary-card span{display:block;margin-bottom:.35rem;color:#5c6f78;font-size:.87rem}.heating-cost-summary-card strong{display:block;color:#183746;font-size:1.12rem}.heating-cost-breakdown{padding:1.5rem}.heating-cost-breakdown h3{margin-top:0}.heating-cost-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.heating-cost-table{width:100%;min-width:520px;border-collapse:collapse}.heating-cost-table th,.heating-cost-table td{padding:.8rem .75rem;border-bottom:1px solid #e5ecef;text-align:left;vertical-align:top}.heating-cost-table th{width:52%;color:#365461;font-weight:700}.heating-cost-table td{color:#183746}.heating-cost-result-note{margin:1rem 0 0;color:#5c6f78;line-height:1.6}.heating-cost-content{max-width:920px}.heating-cost-content h2{margin-top:2.25rem}.heating-cost-content p{line-height:1.72}.heating-cost-formula-box{margin:1.25rem 0 1.75rem;padding:1rem 1.15rem;border-left:4px solid #337b98;border-radius:0 8px 8px 0;background:#f4f8fa}.heating-cost-formula-box p{margin:.25rem 0}.heating-cost-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.heating-cost-info-card{padding:1rem;border:1px solid #dfe7eb;border-radius:10px;background:#fff}.heating-cost-info-card h3{margin-top:0;margin-bottom:.55rem;font-size:1.05rem}.heating-cost-info-card p{margin-bottom:0}.heating-cost-faq article{padding:1rem 0;border-bottom:1px solid #e4ebee}.heating-cost-faq article:last-child{border-bottom:0}.heating-cost-faq h3{margin:0 0 .45rem;font-size:1.05rem}.heating-cost-faq p{margin:0}@media(max-width:800px){.heating-cost-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heating-cost-summary-card:nth-child(2){border-right:0}.heating-cost-summary-card:nth-child(-n+2){border-bottom:1px solid #dfe7eb}.heating-cost-method-grid{grid-template-columns:1fr}}@media(max-width:620px){.heating-cost-card,.heating-cost-breakdown,.heating-cost-result-hero{padding:1rem}.heating-cost-form-grid{grid-template-columns:1fr}.heating-cost-field-wide{grid-column:auto}.heating-cost-actions{flex-direction:column}.heating-cost-primary-btn,.heating-cost-secondary-btn{width:100%}}@media(max-width:420px){.heating-cost-summary-grid{grid-template-columns:1fr}.heating-cost-summary-card{border-right:0;border-bottom:1px solid #dfe7eb}.heating-cost-summary-card:last-child{border-bottom:0}}
/* =========================================================
   Horizontal table scroll indicator
   ========================================================= */

.heating-cost-table-wrap {
    position: relative;
    padding-bottom: 10px;
    scrollbar-width: auto;
    scrollbar-color: #7c929c #e3eaed;
}

/* Chrome, Safari and other WebKit browsers */
.heating-cost-table-wrap::-webkit-scrollbar {
    height: 10px;
}

.heating-cost-table-wrap::-webkit-scrollbar-track {
    background: #e3eaed;
    border-radius: 10px;
}

.heating-cost-table-wrap::-webkit-scrollbar-thumb {
    background: #7c929c;
    border-radius: 10px;
    border: 2px solid #e3eaed;
}

.heating-cost-table-wrap::-webkit-scrollbar-thumb:hover {
    background: #5f7884;
}

/* Permanent mobile cue because iOS may hide its native scrollbar */
@media (max-width: 620px) {
    .heating-cost-table-wrap::after {
        content: "← Swipe table to see more →";
        display: block;
        margin-top: 8px;
        padding: 6px 10px;
        border-radius: 6px;
        background: #f3f7f8;
        color: #526b76;
        font-size: 0.82rem;
        font-weight: 600;
        text-align: center;
        white-space: nowrap;
    }
}
