/* Calculator presentation. Calculation formulas remain in their original modules. */
.npo-calculators{background:var(--npo-surface-soft);color:var(--npo-ink);font-family:var(--npo-font-body);padding:16px 0 32px}
.npo-calculators *{box-sizing:border-box}
.npo-calculators>.container{max-width:1280px;padding-left:24px;padding-right:24px}
.npo-calculators h1{font:700 clamp(1.8rem,3vw,2.6rem)/1.2 var(--npo-font-heading)!important;text-transform:none!important;letter-spacing:-.025em;margin-bottom:16px!important;padding:0!important}
.npo-calculators h1{background:none!important;-webkit-text-fill-color:var(--npo-ink)!important;color:var(--npo-ink)!important}
.npo-calculators h2{font:600 clamp(1.25rem,2vw,1.6rem)/1.35 var(--npo-font-heading)!important;text-transform:none!important;padding:0!important;margin-bottom:20px!important}
.npo-calculators h3,.npo-calculators h4,.npo-calculators h5{font-family:var(--npo-font-heading);text-transform:none!important;line-height:1.4}
.npo-calculators :is(h1,h2,h3,h4,h5)::after{display:none!important}
.npo-calculators p{line-height:1.75}
.npo-calculators .card{border:1px solid var(--npo-line)!important;border-radius:var(--npo-radius)!important;box-shadow:var(--npo-shadow-sm)!important;overflow:hidden}
.npo-calculators .card-body{padding:28px!important}
.npo-calculators .calculator-card{transition:box-shadow .15s ease,transform .15s ease}
.npo-calculators .calculator-card:hover{transform:translateY(-3px);box-shadow:var(--npo-shadow)!important}
.npo-calculators .calculator-card .card-body{display:flex;flex-direction:column;align-items:center}
.npo-calculators .calculator-card .btn{margin-top:auto}
.npo-calculators .btn{border-radius:var(--npo-radius-sm)!important;font:600 14px/1.5 var(--npo-font-body);min-height:44px;padding:11px 18px;white-space:normal}
.npo-calculators .btn-primary,.npo-calculators .calculator-card .btn{background:var(--npo-brand)!important;border-color:var(--npo-brand)!important;color:#fff!important}
.npo-calculators .btn-primary:hover,.npo-calculators .calculator-card .btn:hover{background:var(--npo-brand-dark)!important}
.npo-calculators .form-control,.npo-calculators .form-select{min-height:46px;font-size:16px;border:1px solid #c8d2df;border-radius:var(--npo-radius-sm);color:var(--npo-ink);max-width:100%}
.npo-calculators .form-label{font:600 14px/1.6 var(--npo-font-body);color:var(--npo-ink);margin-bottom:8px}
.npo-calculators .input-group{gap:8px;align-items:center;flex-wrap:wrap}
.npo-calculators .input-group>.form-range{width:100%;flex-basis:100%;height:28px;margin:0;accent-color:var(--npo-brand);padding:0}
.npo-calculators .input-group>.form-control{width:1%;min-width:80px;flex:1 1 auto}
.npo-calculators .input-group-text{border-radius:var(--npo-radius-sm)!important;border:1px solid var(--npo-line);background:#fff;min-height:46px}
.npo-calculators .badge{font:600 12px/1.5 var(--npo-font-body)!important;border-radius:8px!important;padding:7px 12px!important;box-shadow:none!important;letter-spacing:0;background-image:none!important;transform:none!important}
.npo-calculators .badge-container{gap:8px!important}
.npo-calculators .badge.bg-primary{background:#e8eef9!important;color:#254c88!important}
.npo-calculators .badge.bg-success{background:#e7f4ec!important;color:#246842!important}
.npo-calculators .badge.bg-info{background:#e7f2f6!important;color:#255a70!important}
.npo-calculators .table-responsive{max-width:100%;overflow-x:auto}
.npo-calculators .accordion-item{background:#fff;border:1px solid var(--npo-line);border-radius:var(--npo-radius-sm);overflow:hidden}
.npo-calculators .accordion-button{display:flex;align-items:center;gap:8px;width:100%;min-height:46px;padding:12px 16px;background:#f3f6fa;color:var(--npo-ink);border:0;text-align:left;font:600 14px/1.5 var(--npo-font-body);cursor:pointer}
.npo-calculators .accordion-button::after{content:'+';margin-left:auto;font-size:20px;background:none;transform:none}
.npo-calculators .accordion-button[aria-expanded=true]::after{content:'−'}
.npo-calculators input[type=range]{background:transparent!important;box-shadow:none!important;border:0!important;min-height:28px!important}
.npo-calculators input[type=range]{appearance:none;-webkit-appearance:none;width:100%;cursor:pointer}
.npo-calculators input[type=range]::-webkit-slider-runnable-track{height:6px;background:#d6dfeb;border-radius:999px}
.npo-calculators input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;background:var(--npo-brand);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d6dfeb}
.npo-calculators input[type=range]::-moz-range-track{height:6px;background:#d6dfeb;border-radius:999px}
.npo-calculators input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--npo-brand);border:3px solid #fff;border-radius:50%}
.npo-calculators .accordion-collapse.collapse:not(.show){display:none}.npo-calculators .accordion-collapse.show{display:block}.npo-calculators .accordion-body{padding:16px}
.npo-calculators canvas{max-width:100%}
.npo-calculators .btn-group{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.npo-calculators .btn-check{position:absolute!important;clip:rect(0,0,0,0)!important;pointer-events:none;width:1px;height:1px;overflow:hidden}
.npo-calculators .btn-check+label.btn{flex:1 1 90px;margin:0!important;padding:10px 8px!important;font-size:13px!important;line-height:1.5;background:#fff!important;color:var(--npo-ink)!important;border:1px solid #c8d2df!important;word-break:normal!important;overflow-wrap:normal!important}
.npo-calculators .btn-check:checked+label.btn{background:var(--npo-brand)!important;border-color:var(--npo-brand)!important;color:#fff!important}
.npo-calculators .btn-check:focus-visible+label.btn{outline:3px solid var(--npo-brand);outline-offset:3px}
.npo-calculators :is(a,button,input,select):focus-visible{outline:3px solid var(--npo-brand);outline-offset:3px}
@media(max-width:575px){.npo-calculators>.container{padding:16px!important}.npo-calculators .card-body{padding:20px!important}.npo-calculators .row{--bs-gutter-x:1rem}.npo-calculators .display-4{font-size:1.8rem}.npo-calculators .input-group>.form-control{min-width:0}.npo-calculators .btn-lg{font-size:15px}.npo-calculators .hero-badge{margin:0}}
@media(prefers-reduced-motion:reduce){.npo-calculators .calculator-card{transition:none}.npo-calculators .calculator-card:hover{transform:none}}
