/* Калькулятор глибинного насоса — доповнення до calc.css (kalkulyator-nasosa.html) */
#calc-pump .wrap{max-width:1080px}
#calc-pump .nw-top{display:grid; gap:18px; grid-template-columns:1fr; align-items:start}
#calc-pump .nw-scheme{margin:0; padding:10px 8px 6px}
#calc-pump .nw-scheme svg{display:block; width:100%; height:auto}
#calc-pump .nw-scheme figcaption{font:600 11px/1.2 var(--c-body); letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink-soft); padding:4px 8px 6px}
#calc-pump .nw-scroll{overflow-x:auto}
#calc-pump .nw-scroll svg{width:100%; max-width:760px; margin:0 auto}   /* без min-width: на телефоні схема вміщається повністю (10.10.2026) */
#calc-pump .nw-top .form{padding:16px}
#calc-pump .nw-top .grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px}
#calc-pump .field .hint{line-height:1.4}
#calc-pump .field .req{color:var(--c-ink); font-weight:800}
#calc-pump .field .opt{font-weight:400; color:var(--c-ink-soft)}
#calc-pump .nw-sub{font:600 11px/1.2 var(--c-body); letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-soft); margin:18px 0 10px; padding-top:14px; border-top:1px solid var(--c-line)}
#calc-pump .nw-pts{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px}
#calc-pump .nw-pts .field label{font-weight:500; font-size:12.5px}
#calc-pump select{width:100%}
#calc-pump .nw-reset{margin-top:16px}
#calc-pump .nw-btnrow{display:flex; justify-content:flex-end}
/* схема */
.nw-soil{fill:var(--c-line); opacity:.22}
.nw-ground{stroke:var(--c-ink); stroke-width:2}
.nw-bore{fill:var(--c-card)}
.nw-water{fill:#3b8fd4; opacity:.45}
.nw-casing{stroke:var(--c-ink); stroke-width:2.2; fill:none}
.nw-pipe{stroke:var(--c-ink); stroke-width:3; fill:none; stroke-linejoin:round}
.nw-pipe-thin{stroke:var(--c-ink); stroke-width:2}
.nw-house{fill:var(--c-card); stroke:var(--c-ink); stroke-width:2; stroke-linejoin:round}
.nw-floor{stroke:var(--c-line-strong, var(--c-line)); stroke-width:1.2; stroke-dasharray:4 3}
.nw-tap{fill:var(--c-lime); stroke:var(--c-ink); stroke-width:1.6}
.nw-tank{fill:var(--c-lime); stroke:var(--c-ink); stroke-width:1.6}
.nw-relay{fill:var(--c-card); stroke:var(--c-ink); stroke-width:1.6}
.nw-pump{fill:var(--c-lime); stroke:var(--c-ink); stroke-width:1.8}
.nw-dim{stroke:var(--c-ink); stroke-width:1.4; fill:none}
.nw-dim.dashed{stroke-dasharray:5 4}
.nw-arrow{fill:var(--c-ink)}
.nw-ext{stroke:var(--c-ink-soft); stroke-width:1; stroke-dasharray:2 3}
.nw-dynline{stroke:var(--c-ink); stroke-width:1.8; stroke-dasharray:4 3}
.nw-t{font:600 11px var(--c-body); fill:var(--c-ink)}
.nw-t .nw-v{font-weight:800}
.nw-s{font:11px var(--c-body); fill:var(--c-ink-soft)}
.nw-s2{font:600 9.5px var(--c-body); fill:var(--c-ink)}
/* результат */
#calc-pump .nw-big{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px 24px}
#calc-pump .nw-big .kw small{display:block; margin:6px 0 0}
#calc-pump .chain em{font-style:normal; color:var(--c-ink-soft); font-size:12px}
#calc-pump .chain li span:first-child{padding-right:10px}
#calc-pump .nw-warn{margin-top:10px; padding:10px 12px; border-left:3px solid #d97a1c; background:rgba(217,122,28,.09); font-size:13.5px; border-radius:0 8px 8px 0}
#calc-pump .pick-row{display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; border-top:1px solid var(--c-line)}
#calc-pump .pick-row:first-of-type{border-top:0}
#calc-pump .pick-row .pick{flex:1 1 460px; border-top:0}
#calc-pump .pick-photo{flex:0 0 52px; width:52px; height:52px; display:block}
#calc-pump .pick-photo img{width:100%; height:100%; object-fit:contain}
#calc-pump .nw-cart{margin:0 16px 12px; white-space:nowrap}
#calc-pump .nw-cart.is-active{background:var(--c-ink); color:var(--c-ground)}
#calc-pump .nw-in{color:#2a8a3a; font-weight:600}
#calc-pump .nw-cab{color:#b25a00}
#calc-pump .nw-h3{font:800 20px/1.2 var(--c-display); margin:30px 0 8px}
#calc-pump .nw-how{margin-top:18px; padding:14px 18px; background:var(--c-card); border:1px solid var(--c-line); border-radius:var(--c-r)}
#calc-pump .nw-how h3{font:800 17px/1.2 var(--c-display); margin:0 0 8px}
#calc-pump .nw-how ul{margin:0; padding-left:18px; font-size:13.5px; color:var(--c-ink-soft)}
#calc-pump .nw-how li{margin:5px 0}
#calc-pump .nw-how b{color:var(--c-ink)}
@media (max-width:560px){
  #calc-pump .pick{flex-wrap:wrap}
  #calc-pump .nw-cart{margin:0 16px 12px; width:calc(100% - 32px)}
}

#calc-pump .field.need input{border-color:#d97a1c; box-shadow:0 0 0 2px rgba(217,122,28,.18)}
#calc-pump .field.need label{color:#b25a00}

/* підказки на схемі (10.10.2026) */
#calc-pump .nw-scheme{position:relative}
#calc-pump .nw-tip{margin:0; padding:2px 10px 8px; font-size:13px; color:var(--c-ink-soft)}
.nw-hint{cursor:pointer}
.nw-hint:focus-visible{outline:2px solid var(--c-ink); outline-offset:2px}
.nw-i{fill:var(--c-lime); stroke:var(--c-ink); stroke-width:1.2}
.nw-i-t{font:800 10px var(--c-body); fill:var(--c-ink); text-anchor:middle; pointer-events:none}
.nw-hint:hover .nw-t, .nw-hint:hover .nw-s{text-decoration:underline}
.nw-pop{position:absolute; z-index:5; background:var(--c-card); border:1px solid var(--c-ink); border-radius:12px; padding:12px 34px 12px 14px; box-shadow:0 6px 24px rgba(0,0,0,.18); font-size:14px; line-height:1.45}
.nw-pop[hidden]{display:none}
.nw-pop b{display:block; margin-bottom:4px}
.nw-pop p{margin:0; color:var(--c-ink-soft)}
.nw-pop-x{position:absolute; top:6px; right:6px; width:30px; height:30px; border:0; background:transparent; font-size:16px; cursor:pointer; color:var(--c-ink)}
.nw-mob .nw-t{font-size:14px}
.nw-mob .nw-s{font-size:12.5px}
.nw-mob .nw-s2{font-size:11px}
@media (max-width:860px){
  #calc-pump .nw-how{display:none}
  /* телефон: у 375 px без прокрутки видно ствол, рівні й насос (x 0…≈430 схеми), будинок — гортанням вбік */
  #calc-pump .nw-scroll svg{min-width:470px}
}
/* білий ореол під підписами — текст читається поверх ліній і ґрунту */
.nw-t, .nw-s{paint-order:stroke; stroke:var(--c-card); stroke-width:3px; stroke-linejoin:round}
#calc-pump .nw-top > *{min-width:0}
#calc-pump .nw-scroll{max-width:100%}

/* ===== Перепідбір насоса (вкладка #zamina, nasos-zamina.js, 20.10.2026) ===== */
#calc-pump .nz-off{display:none!important}
#calc-pump .nz{display:block}
#calc-pump .nz[hidden]{display:none}
#calc-pump .nz-form{padding:16px}
#calc-pump .nz-h{font:600 11px/1.2 var(--c-body); letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-soft); margin:0 0 10px}
#calc-pump .nz-h2{margin-top:18px; padding-top:14px; border-top:1px solid var(--c-line)}
#calc-pump .nz-panel{margin-top:14px}
#calc-pump .nz-panel[hidden]{display:none}
#calc-pump .nz-grid2{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px}
#calc-pump .nz input[type=text]{font:inherit; font-size:16px; padding:11px 12px; border-radius:10px; border:1px solid var(--c-line-strong); background:var(--c-ground); color:var(--c-ink); width:100%; box-sizing:border-box}
#calc-pump .nz input[type=text]:focus-visible{outline:2px solid var(--c-ink); outline-offset:2px}
#calc-pump .nz-check input[type=text]{border-color:#d97a1c; background:rgba(217,122,28,.06)}
#calc-pump .nz-info{margin:10px 0 0; font-size:13.5px; line-height:1.5}
#calc-pump .nz-info small{color:var(--c-ink-soft)}
#calc-pump .nz-ph{display:flex; flex-wrap:wrap; gap:8px}
#calc-pump .nz-phs{margin:10px 0 0; font-size:13.5px; color:var(--c-ink-soft)}
#calc-pump .nz-phs.is-err{color:#b25a00}
#calc-pump .nz-phr{display:flex; gap:12px; align-items:flex-start; margin-top:10px; font-size:13.5px}
#calc-pump .nz-phr img{width:96px; max-height:120px; object-fit:contain; border:1px solid var(--c-line); border-radius:8px; flex:0 0 auto}
#calc-pump .nz-phr small{color:var(--c-ink-soft); word-break:break-word}
#calc-pump .nz-phr > div{min-width:0}
#calc-pump .nz-msg{margin:14px 0 0; font-size:14px; color:var(--c-ink-soft)}
#calc-pump .nz-msg:empty{display:none}
#calc-pump .nz-fig{margin:18px 0 0; padding:12px 10px 10px}
#calc-pump .nz-fig figcaption{font-size:14px; padding:2px 6px 10px; line-height:1.45}
#calc-pump .nz-chart{width:100%; overflow:hidden}
#calc-pump .nz-chart svg{display:block; max-width:100%; height:auto}
.nz-grid{stroke:var(--c-line); stroke-width:1}
.nz-axis{stroke:var(--c-ink); stroke-width:1.4}
.nz-ax{font:12px var(--c-body); fill:var(--c-ink-soft); font-variant-numeric:tabular-nums}
.nz-ax2{font:11px var(--c-body); fill:var(--c-ink-soft); opacity:.8; font-variant-numeric:tabular-nums}
.nz-axt{font-weight:700; fill:var(--c-ink)}
.nz-halo{fill:none; stroke:#141414; stroke-linecap:round; stroke-linejoin:round}
.nz-old{fill:none; stroke:#141414; stroke-width:2.6; stroke-linejoin:round}
.nz-old.is-est{stroke-dasharray:7 4}
.nz-old-ext{fill:none; stroke:#141414; stroke-width:1.2; stroke-dasharray:2 3}
.nz-qline{stroke:var(--c-ink-soft); stroke-width:1; stroke-dasharray:4 4}
.nz-dot{stroke:#141414; stroke-width:1.2}
.nz-wp{fill:#d9e021; stroke:#141414; stroke-width:2.2}
.nz-wp-in{fill:#141414}
.nz-lbl{font:700 12.5px var(--c-body); fill:var(--c-ink); paint-order:stroke; stroke:var(--c-card); stroke-width:3.5px; stroke-linejoin:round}
#calc-pump .nz-legend{list-style:none; margin:8px 0 0; padding:0 6px; display:grid; gap:4px; font-size:13px}
#calc-pump .nz-legend li{display:flex; gap:8px; align-items:center; line-height:1.35}
#calc-pump .nz-legend svg{flex:0 0 34px; width:34px; height:14px}
#calc-pump .nz-tbl{margin-top:18px; overflow:hidden}
#calc-pump .nz-t{width:100%; border-collapse:collapse; font-size:13.5px}
#calc-pump .nz-t th{font:600 11px/1.2 var(--c-body); letter-spacing:.06em; text-transform:uppercase; color:var(--c-ink-soft); text-align:left; padding:10px 8px; border-bottom:1px solid var(--c-line)}
#calc-pump .nz-t td{padding:10px 8px; border-bottom:1px solid var(--c-line); vertical-align:middle}
#calc-pump .nz-t tr.is-on td{background:rgba(217,224,33,.12)}
#calc-pump .nz-t .nz-m a{font-weight:700; color:var(--c-ink)}
#calc-pump .nz-t .nz-m small{display:block; color:var(--c-ink-soft); font-size:12px}
#calc-pump .nz-t .tag{margin-left:6px}
#calc-pump .nz-t .nz-p{white-space:nowrap; font-weight:700}
#calc-pump .nz-chk{display:inline-flex; align-items:center; gap:6px; cursor:pointer}
#calc-pump .nz-chk input{width:18px; height:18px; accent-color:#141414}
#calc-pump .nz-chk i{display:inline-block; width:14px; height:14px; border-radius:50%; border:1.5px solid #141414}
#calc-pump .nz-go .btn{white-space:nowrap}
#calc-pump .nz-more{margin:0; padding:10px 12px; font-size:13px; color:var(--c-ink-soft)}
@media (max-width:760px){
  #calc-pump .nz-t thead{display:none}
  #calc-pump .nz-t, #calc-pump .nz-t tbody, #calc-pump .nz-t tr, #calc-pump .nz-t td{display:block; width:auto}
  #calc-pump .nz-t tr{display:flex; flex-wrap:wrap; gap:4px 12px; padding:12px; border-bottom:1px solid var(--c-line)}
  #calc-pump .nz-t tr.is-on{background:rgba(217,224,33,.14)}
  #calc-pump .nz-t tr.is-on td{background:none}
  #calc-pump .nz-t td{border:0; padding:2px 0}
  #calc-pump .nz-t td:first-child{flex:0 0 30px; padding-top:3px}
  #calc-pump .nz-t td.nz-m{flex:1 1 calc(100% - 56px); min-width:0}
  #calc-pump .nz-t td:not(:first-child):not(.nz-m){flex:1 1 40%; padding-left:0}
  #calc-pump .nz-t td[data-l]:not(.nz-m):not(:first-child)::before{content:attr(data-l) ': '; color:var(--c-ink-soft); font-size:12px}
  #calc-pump .nz-t td.nz-go{flex:1 1 100%; padding-top:6px}
  #calc-pump .nz-t td.nz-go .btn{display:block; width:100%; text-align:center; box-sizing:border-box}
}

/* 03.11.2026: «Новий» / «Заміна старого» на одній сторінці, графік H(Q) в обох вкладках */
#calc-pump .pump-sub{margin:14px 0}
#calc-pump .nz-old-box{margin:0 0 6px}
#calc-pump .nz-old-box[hidden]{display:none}
#calc-pump .nz-old-box .nw-sub.nz-first{margin-top:0}
#calc-pump .nz-old-box .nz-seg{margin:0 0 4px}
#calc-pump .nz-wide{grid-column:1/-1}
#calc-pump .nz-fill{margin:0 0 6px; font-size:13px}
#calc-pump .nz-bad{color:#ff6257; font-weight:700}
#calc-pump .nz-zoom{margin:8px 0; cursor:pointer}
#calc-pump .nz-key{display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:6px; vertical-align:-1px; border:1.5px solid #141414}
#calc-pump .nz-key[data-k="0"]{background:#d9e021}
#calc-pump .nz-key[data-k="1"]{background:#7d8a00}
#calc-pump .nz-key[data-k="2"]{background:#8a8a8a}
#calc-pump .field input[type=number], #calc-pump .field input[type=text], #calc-pump .field select{font-size:16px}
@media (min-width:1000px){
  #calc-pump .nw-top{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  #calc-pump .nw-top .nw-scheme{position:sticky; top:84px}
}
