/* ===================== v9: calculatorul de debitare, pas cu pas ===================== */
.calc-sec h4{display:flex;align-items:center;gap:10px;font:600 17px var(--body);letter-spacing:0;text-transform:none;color:var(--ink)}
.calc-sec h4 i{width:26px;height:26px;display:grid;place-items:center;flex:none;background:var(--lime);color:#111;font:700 13px var(--mono);font-style:normal}
.step-hint{font-size:14px;line-height:1.45;color:var(--mute);margin:-4px 0 12px}

/* 1 · decor */
.decor-pick{grid-template-columns:64px minmax(0,1fr) auto;margin-bottom:0}
.decor-pick .btn{padding:11px 14px;font-size:14px;white-space:nowrap}
.swt{display:block;width:64px;height:64px;overflow:hidden;background:var(--bg3)}
.swt img{width:100%;height:100%;object-fit:cover;transform:scale(3.4);transform-origin:82% 64%}
.dpk{margin-top:14px;display:grid;gap:10px}
.dpk[hidden]{display:none}
.dpk .seek-box{height:48px}
.dpk-tabs{display:flex;gap:6px;flex-wrap:wrap}
.dpk-tabs button{font:600 13.5px var(--body);padding:8px 12px;border:1.5px solid var(--line2);color:var(--mute)}
.dpk-tabs button i{font:500 11px var(--mono);font-style:normal;color:var(--dim);margin-left:4px}
.dpk-tabs button.on{border-color:var(--lime-ink);color:var(--ink);background:rgb(var(--lime-rgb) / .1)}
.dpk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:420px;overflow:auto;padding-right:2px}
.dk{display:grid;gap:4px;text-align:left;padding:6px;border:1.5px solid var(--line);background:var(--bg)}
.dk:hover{border-color:var(--line2)}
.dk.on{border-color:var(--lime-ink);background:rgb(var(--lime-rgb) / .1)}
.dk .swt{width:100%;height:auto;aspect-ratio:1}
.dk b{font:500 12px/1.25 var(--body);color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px}
.dk small{font:600 12px var(--mono);color:var(--lime-ink)}
.dpk-more{justify-self:start;font:600 14px var(--body);color:var(--lime-ink);padding:6px 0}
.dpk-more[hidden]{display:none}

/* 2 · modele și piese */
.models{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}
.mdl{display:grid;justify-items:center;gap:3px;padding:12px 6px 10px;border:1.5px solid var(--line2);background:var(--bg);text-align:center;transition:border-color .2s,background .2s}
.mdl svg{width:40px;height:38px;color:var(--lime-ink)}
.mdl b{font:600 13.5px/1.2 var(--body);color:var(--ink)}
.mdl small{font-size:11.5px;line-height:1.25;color:var(--dim)}
.mdl:hover{border-color:var(--lime-ink)}
.mdl.on{border-color:var(--lime-ink);background:rgb(var(--lime-rgb) / .1)}
.mform{border:1.5px solid var(--lime-ink);background:var(--bg);padding:14px;margin-bottom:14px;display:grid;gap:12px}
.mform[hidden]{display:none}
.mf-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mf-h b{font:600 16px var(--body)}
.mf-d{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}
.mf-p{font:500 13px/1.5 var(--mono);color:var(--mute)}
.mf-b{display:flex;gap:8px;flex-wrap:wrap}
.mform .note{margin:0}

.calc label>span:first-child,.pc2-q>span{display:block;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:5px}
.u{position:relative;display:block}
.u input{padding-right:40px!important}
.u i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:500 12px var(--mono);font-style:normal;color:var(--dim);pointer-events:none}
.calc .qty{display:flex;border:1.5px solid var(--line2);background:var(--bg);height:44px}
.calc .qty button{width:40px;font:500 20px var(--body);color:var(--lime-ink);flex:none}
.calc .qty input{border:0;text-align:center;width:52px;padding:0;font:700 15px var(--mono);-moz-appearance:textfield}
.calc .qty input::-webkit-inner-spin-button,.calc .u input::-webkit-inner-spin-button{-webkit-appearance:none}

.rows{gap:10px}
.pc2{border:1.5px solid var(--line);background:var(--bg);padding:12px;display:grid;gap:12px}
.pc2.bad{border-color:#e0664a}
.pc2-h{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:8px;align-items:center}
.pc2-n{width:28px;height:28px;display:grid;place-items:center;background:var(--bg3);font:700 12px var(--mono);color:var(--mute)}
.calc .pc2-name{font:600 15px var(--body);border-color:transparent;background:transparent;padding:8px}
.calc .pc2-name:focus{border-color:var(--line2);background:var(--bg2)}
.pc2-x{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line2);color:var(--mute);font-size:20px}
.pc2-x svg{width:16px;height:16px}
.pc2-x:hover{color:var(--ink);border-color:var(--ink)}
.pc2-d{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) auto;gap:8px;align-items:end}
.pc2-d>b{text-align:center;padding-bottom:12px;color:var(--dim)}
.pc2-d input{height:44px;font-size:16px}
.pc2-e{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:14px;align-items:center}
.pv2{width:100%;height:auto;display:block;overflow:visible}
.pv2 .body{fill:var(--bg3);stroke:none}
.pv2 text{font:600 13px var(--mono);fill:var(--mute)}
.pv2 .eg{cursor:pointer}
.pv2 .eg .hit{stroke:transparent;stroke-width:26}
.pv2 .eg .ln{stroke:var(--line2);stroke-width:4;stroke-dasharray:6 5;transition:stroke .15s}
.pv2 .eg:hover .ln{stroke:var(--mute)}
.pv2 .eg.on .ln{stroke:var(--lime);stroke-width:7;stroke-dasharray:none}
.pv2 .eg:focus{outline:none}
.pv2 .eg:focus-visible .ln{stroke:var(--ink)}
.pc2-eb{display:grid;gap:8px;min-width:0}
.pc2-eb .hint{font-size:12.5px;color:var(--dim)}
.chips-e{display:flex;flex-wrap:wrap;gap:6px}
.chips-e button{font:600 12.5px var(--body);padding:7px 10px;border:1.5px solid var(--line2);color:var(--mute)}
.chips-e button.on{border-color:var(--lime-ink);color:var(--ink);background:rgb(var(--lime-rgb) / .12)}
.pc2-eb small{font:500 12px var(--mono);color:var(--lime-ink)}
.pc2-w{font-size:13.5px;color:#e0664a;margin:-4px 0 0}
.pc2-w:empty{display:none}
.rows-f{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.add-row{flex:1;padding:14px;border:1.5px dashed var(--line2);font:600 15px var(--body);color:var(--lime-ink)}
.add-row:hover{border-color:var(--lime-ink)}
.clear-rows{font:500 13px var(--body);color:var(--dim);padding:0 6px;text-decoration:underline;text-underline-offset:3px}
.psum{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;padding:12px 14px;background:rgb(var(--lime-rgb) / .08);border:1px solid rgb(var(--lime-rgb) / .35);font-size:14px;color:var(--mute)}
.psum b{font:700 16px var(--mono);color:var(--ink)}
.psum button{margin-left:auto;font:600 14px var(--body);color:var(--lime-ink)}

/* 3 · cant și fibră */
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.seg button{display:grid;gap:2px;text-align:left;padding:10px 12px;border:1.5px solid var(--line2);background:var(--bg)}
.seg button b{font:700 15px var(--mono);color:var(--ink)}
.seg button small{font-size:12px;line-height:1.3;color:var(--dim)}
.seg button.on{border-color:var(--lime-ink);background:rgb(var(--lime-rgb) / .1)}
.cant-pick{margin-top:12px}
.cp-l{display:block}
.cp-n{font:500 12.5px var(--mono);color:var(--lime-ink);margin-top:6px}
.tgl{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;margin-top:14px;cursor:pointer}
.calc .tgl input{width:20px;height:20px;padding:0;margin-top:2px;accent-color:var(--lime)}
.tgl b{display:block;font:600 15px var(--body);color:var(--ink);margin-bottom:3px}
.tgl small{font-size:13px;line-height:1.45;color:var(--mute)}

/* planul */
.plan-h{align-items:flex-end}
.plan-h>div{display:grid;gap:2px}
.plan-h strong{font:700 26px var(--mono);color:var(--lime-ink)}
@media (min-width:901px){.plan{position:sticky;top:90px}}

@media (max-width:1200px){.models{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .decor-pick{grid-template-columns:56px minmax(0,1fr)}
  .decor-pick .swt{width:56px;height:56px}
  .decor-pick .btn{grid-column:1/-1}
  .dpk-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:360px}
  .models{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mdl{padding:10px 4px 8px}
  .mdl small{display:none}
  .mf-d{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mf-d .pc2-q{grid-column:1/-1}
  .mf-b .btn{flex:1;justify-content:center}
  .pc2-d{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}
  .pc2-d .pc2-q{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
  .pc2-d .pc2-q>span{margin:0}
  .pc2-e{grid-template-columns:1fr;gap:10px}
  .pc2-svg{max-width:240px;margin:0 auto;width:100%}
  .chips-e button{flex:1 1 auto}
  .seg{grid-template-columns:1fr}
  .seg button{grid-template-columns:96px 1fr;align-items:center}
  .psum button{margin-left:0;width:100%;text-align:left}
  .plan-h{flex-direction:column;align-items:flex-start;gap:6px}
  .plan-h strong{white-space:nowrap}
}
