/* Calculationtools: a single catalogue, grouped by the customer's task. */
#p3 .ct-selection{max-width:1440px;margin:auto;padding:0 7% 56px;color:#173e32}
#p3 .ct-selection-heading h2{font-size:clamp(25px,3vw,36px);font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:0 0 12px}
#p3 .ct-selection-heading p{color:#52675b;font-size:16px;line-height:1.7;margin:0 0 24px}
#p3 .ct-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
#p3 .ct-filters[hidden],#p3 .ct-program-family[hidden]{display:none!important}
#p3 .ct-filters button{font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:10px 18px;border:1px solid #c9d8d0;border-radius:24px;background:#fff;color:#285443;cursor:pointer}
#p3 .ct-filters button:hover{background:#edf3ec}
#p3 .ct-filters button[aria-pressed="true"]{background:#214b3b;border-color:#214b3b;color:#fff}
#p3 .ct-filter-status{min-height:20px;font-size:12px;color:#52675b;margin:8px 0 16px}
#p3 .ct-program-family{border:1px solid #d6e0d8;border-radius:12px;background:#fff;margin:0 0 16px;overflow:hidden}
#p3 .ct-program-family summary{display:flex;align-items:center;gap:18px;padding:24px;cursor:pointer;list-style:none;background:#f0f4ee}
#p3 .ct-program-family summary::-webkit-details-marker{display:none}
#p3 .ct-family-number{font-family:'DM Mono',monospace;font-size:13px;color:#52715e;align-self:flex-start;margin-top:5px}
#p3 .ct-family-heading{min-width:0;flex:1}
#p3 .ct-family-heading .ct-family-title{display:block;font-size:clamp(19px,2.1vw,24px);font-weight:600;line-height:1.3;margin:0 0 5px}
#p3 .ct-family-heading>span{font-size:14px;color:#52675b;line-height:1.6}
#p3 .ct-family-toggle{width:24px;height:24px;position:relative;flex-shrink:0}
#p3 .ct-family-toggle::before,#p3 .ct-family-toggle::after{content:'';position:absolute;background:#285443;width:14px;height:2px;top:11px;left:5px}
#p3 .ct-family-toggle::after{transform:rotate(90deg)}
#p3 .ct-program-family[open] .ct-family-toggle::after{display:none}
#p3 .ct-tool-row{display:grid;grid-template-columns:minmax(160px,.75fr) minmax(0,2fr);gap:16px 28px;padding:22px 24px;margin:0}
#p3 .ct-tool-row+.ct-tool-row{border-top:1px solid #e3eae3}
#p3 .ct-tool-row h4{font-size:16px;line-height:1.5;font-weight:600;margin:0;overflow-wrap:anywhere}
#p3 .ct-tool-info{min-width:0}
#p3 .ct-tool-info p{font-size:14px;line-height:1.7;color:#52675b;margin:0}
#p3 .ct-standard{display:block;font-size:12px;color:#607266;margin-top:5px}
#p3 .ct-tool-actions{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px}
#p3 .ct-tool-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#21503c;font-size:14px;font-weight:600;text-underline-offset:5px}
#p3 .ct-tool-actions a:hover{color:#007258}
#p3 .ct-tool-variants{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0 0}
#p3 .ct-tool-variants li{font-size:12px;line-height:1.5;padding:5px 10px;border-radius:4px;background:#f0f4ee;color:#415c4c}
#p3 .ct-selection :is(button,a,summary):focus-visible{outline:3px solid #80a74e;outline-offset:3px}
@media(max-width:720px){
 #p3 .ct-selection{padding:0 6% 36px}
 #p3 .ct-filters{gap:6px}
 #p3 .ct-filters button{font-size:13px;padding:10px 14px}
 #p3 .ct-program-family summary{padding:18px 16px;gap:10px}
 #p3 .ct-family-heading>span{font-size:13px}
 #p3 .ct-tool-row{grid-template-columns:minmax(0,1fr);gap:7px;padding:18px 16px}
}
@media print{#p3 .ct-filters,#p3 .ct-filter-status{display:none}}

#p3 .ct-family-summary{display:flex;align-items:center;gap:inherit;width:100%;margin:0;font-weight:400}
