/* v10.3: article-specific additions; shared site design stays unchanged */
.csa-heating-programmer-article .csa-nav-heating{color:#006c9a!important;border-bottom-color:#007eaf!important}
.csa-heating-programmer-article .csa-wa-hero-art img{display:block;width:100%;max-width:460px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:22px;box-shadow:0 18px 34px rgba(18,67,93,.12)}
.csa-heating-programmer-article .csa-wa-article-body section{scroll-margin-top:26px}
.csa-radiator-diagram{display:block;margin:24px 0 12px;border-radius:17px;overflow:hidden;background:#ecf8fc}
.csa-radiator-diagram img{display:block;width:100%;height:auto}
.csa-radiator-note{padding:15px 19px;background:#e9f7fc;border-left:4px solid #168ba9;border-radius:12px;color:#184157;margin:17px 0}
.csa-radiator-danger{padding:18px 20px;background:#fff0e8;border-left:4px solid #b85a37;border-radius:12px;color:#613922;margin:18px 0}
.csa-radiator-faq details{padding:14px 18px;background:#f4f9fc;border:1px solid #dcebf3;border-radius:12px;margin:11px 0}
.csa-radiator-faq summary{font-weight:700;color:#123950;cursor:pointer}
.csa-radiator-faq p{margin:12px 0 0}
.csa-radiator-sources li{margin:10px 0}
.csa-heating-programmer-article :is(a,button,select):focus-visible{outline:3px solid #087da2;outline-offset:3px}
@media(max-width:680px){.csa-radiator-danger,.csa-radiator-note{padding:14px 15px}.csa-heating-programmer-article .csa-wa-hero-art img{max-width:100%}}

/* Additional styles for v10.3: carry forward existing tokens/cards and make both diagrams responsive. */
.csa-heating-programmer-article .csa-radiator-diagram{background:#edf7fb;border:1px solid #d2e9f2;padding:0;margin:24px 0 16px;}
.csa-heating-programmer-article .csa-radiator-diagram picture{display:block;width:100%}
.csa-heating-programmer-article .csa-radiator-diagram figcaption{font-size:12px;line-height:1.5;color:#587385;background:#f6fbfd;padding:12px 17px;border-top:1px solid #d9eaf2}
.csa-heating-programmer-article .csa-wa-table-scroll{max-width:100%}
.csa-heating-programmer-article .csa-radiator-sources a,.csa-heating-programmer-article .csa-wa-article-body p a{color:#087e9f!important;text-underline-offset:2px}
@media(max-width:640px){.csa-heating-programmer-article .csa-radiator-diagram{margin:18px 0}.csa-heating-programmer-article .csa-radiator-diagram figcaption{padding:11px;font-size:11.5px}.csa-heating-programmer-article .csa-wa-table-scroll{overflow-x:auto}}

.csa-heating-programmer-article .csa-wa-article-body table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;line-height:1.6}
.csa-heating-programmer-article .csa-wa-article-body th{background:#e9f6fb;color:#153b55;font-weight:800;text-align:left}
.csa-heating-programmer-article .csa-wa-article-body td,.csa-heating-programmer-article .csa-wa-article-body th{padding:12px;border-bottom:1px solid #d9eaf1;vertical-align:top}
.csa-heating-programmer-article .csa-wa-article-body td:first-child{font-weight:700}
.csa-heating-programmer-article .csa-wa-article-body tr:nth-child(even){background:#f7fbfd}
@media(max-width:640px){.csa-heating-programmer-article .csa-wa-article-body table{min-width:570px}}

.csa-heating-programmer-article .csa-radiator-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #d9eaf1;border-radius:14px;margin:16px 0 20px;}
.csa-heating-programmer-article .csa-wa-article-body table{min-width:570px;}
.csa-heating-programmer-article .csa-wa-article-body ol li{margin:10px 0;}

@media(max-width:640px){.csa-heating-programmer-article .csa-radiator-table-wrap{border:0;overflow:visible;} .csa-heating-programmer-article .csa-radiator-table-wrap table,.csa-heating-programmer-article .csa-radiator-table-wrap tbody,.csa-heating-programmer-article .csa-radiator-table-wrap tr,.csa-heating-programmer-article .csa-radiator-table-wrap td{display:block;width:100%;min-width:0!important;} .csa-heating-programmer-article .csa-radiator-table-wrap thead{display:none;} .csa-heating-programmer-article .csa-radiator-table-wrap tr{border:1px solid #d6e8ef;border-radius:12px;overflow:hidden;margin:0 0 13px;background:#f8fcfe;} .csa-heating-programmer-article .csa-radiator-table-wrap td{padding:11px 15px;border-bottom:1px solid #e3edf2;font-weight:400;white-space:normal;overflow-wrap:anywhere;} .csa-heating-programmer-article .csa-radiator-table-wrap td:last-child{border-bottom:0;} .csa-heating-programmer-article .csa-radiator-table-wrap td::before{display:block;content:attr(data-label);color:#137a99;font-size:11px;letter-spacing:.045em;font-weight:800;text-transform:uppercase;margin-bottom:3px;} }

@media(max-width:640px){
.csa-heating-programmer-article .csa-radiator-flow-diagram img{aspect-ratio:580/720;width:100%;height:auto;}
.csa-heating-programmer-article .csa-radiator-patterns-diagram img{aspect-ratio:580/990;width:100%;height:auto;}
}

@media(max-width:640px){.csa-heating-programmer-article .csa-heating-chain-diagram img{aspect-ratio:580/930;width:100%;height:auto}.csa-heating-programmer-article .csa-heating-map-diagram img{aspect-ratio:580/1000;width:100%;height:auto}}

@media(max-width:640px){.csa-heating-programmer-article .csa-heating-on-chain-diagram img{aspect-ratio:580/955;width:100%;height:auto}.csa-heating-programmer-article .csa-heating-on-patterns-diagram img{aspect-ratio:580/1035;width:100%;height:auto}}

/* v10.3 diagrams: portrait sources need intrinsic mobile aspect ratios. */
@media(max-width:640px){.csa-heating-programmer-article .csa-programmer-flow-diagram img{aspect-ratio:580/940!important;width:100%;height:auto!important}.csa-heating-programmer-article .csa-programmer-timeline-diagram img{aspect-ratio:580/1000!important;width:100%;height:auto!important}}
.csa-heating-programmer-article .csa-wa-diagnostic select{min-width:0;max-width:100%}
