/* VL: конфігуратор траси TRACK-3F */
#vllc{--ink:#1e1e1e;--soft:#4f5357;--mute:#80868b;--line:#e2e6e9;--panel:#f3f6f8;--bg:#fff;--accent:#2f7fb6;--earth:#d62f2f;--ok:#2f8a4e;--warn:#b26a00;--grid:#e6ebee;
  color:var(--ink);font-weight:300;font-size:15px;line-height:1.5;padding:24px 0 56px}
#vllc *{box-sizing:border-box}
#vllc h1{font-weight:500;font-size:clamp(26px,3.2vw,38px);line-height:1.1;margin:6px 0 0}
#vllc .k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500}
#vllc .sub{color:var(--soft);margin:8px 0 0;max-width:64ch}
#vllc .head{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}
#vllc .g{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:32px;align-items:start}
@media (max-width:991px){#vllc .g{grid-template-columns:minmax(0,1fr)}}
#vllc .steps{display:flex;flex-direction:column;gap:22px}
#vllc .st{display:flex;flex-direction:column;gap:10px}
#vllc .st h2{font-size:16px;font-weight:500;margin:0;display:flex;gap:10px;align-items:baseline}
#vllc .st h2 i{font-style:normal;font-size:12px;color:var(--mute);font-weight:400}
#vllc .hint{font-size:13px;color:var(--mute);margin:0}
#vllc .chips{display:flex;flex-wrap:wrap;gap:8px}
#vllc .chip{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:400;font-size:14px;padding:8px 12px;border-radius:0;cursor:pointer;display:inline-flex;gap:8px;align-items:center;line-height:1.3}
#vllc .chip:hover{border-color:var(--soft)}
#vllc .chip[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
#vllc button:focus-visible,#vllc input:focus-visible,#vllc select:focus-visible,#vllc textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#vllc .sw{width:14px;height:14px;border-radius:50%;border:1px solid var(--soft);display:inline-block}
#vllc .shapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#vllc .shape{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:12px;padding:8px 4px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
#vllc .shape svg{width:44px;height:44px}
#vllc .shape[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
#vllc .dims{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
#vllc label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft);font-weight:400;margin:0}
#vllc .inp{display:flex;align-items:center;border:1px solid var(--line);background:var(--bg)}
#vllc .inp input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:400;font-size:15px;padding:8px 10px;height:auto;box-shadow:none}
#vllc .inp span{padding-right:10px;color:var(--mute);font-size:13px}
#vllc select.s,#vllc .fld input,#vllc .fld textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:400;padding:9px 10px;border-radius:0;height:auto;box-shadow:none}
#vllc .note{font-size:13px;background:var(--panel);padding:10px 12px;border-left:3px solid var(--earth);margin:0;color:var(--soft)}
#vllc .note b{color:var(--ink);font-weight:500}
#vllc .board{display:flex;flex-direction:column;gap:18px;min-width:0}
#vllc .cv{background:var(--panel);overflow-x:auto}
#vllc .cv svg{display:block;width:100%;height:auto;min-width:520px}
#vllc .lg{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--soft);padding:10px 14px;border-top:1px solid var(--line)}
#vllc .lg i{display:inline-block;vertical-align:middle;margin-right:6px}
#vllc .sum{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline}
#vllc .sum .big{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}
#vllc .sum .lbl{font-size:12px;color:var(--mute)}
#vllc .tbl{overflow-x:auto}
#vllc table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
#vllc th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:500;text-align:left;padding:8px;border-bottom:1px solid var(--ink)}
#vllc td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
#vllc .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#vllc .sku{font-size:13px;font-weight:400;letter-spacing:.01em}
#vllc .nm{color:var(--soft);font-size:13px}
#vllc a{color:var(--accent)}
#vllc .pill{font-size:11px;padding:2px 7px;border-radius:999px;white-space:nowrap;border:1px solid currentColor}
#vllc .pill.ok{color:var(--ok)}#vllc .pill.order{color:var(--warn)}
#vllc .acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#vllc .btn{appearance:none;border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;font-weight:400;padding:12px 20px;cursor:pointer;border-radius:0}
#vllc .btn.gh{background:transparent;color:var(--ink)}
#vllc .btn[disabled]{opacity:.55;cursor:wait}
#vllc .warnl{color:var(--warn);font-size:13px;margin:0}
#vllc .msg{font-size:13px}
#vllc .msg.ok{color:var(--ok)}#vllc .msg.err{color:#b3261e}
#vllc .lead{background:var(--panel);padding:22px;display:flex;flex-direction:column;gap:14px;margin-top:8px}
#vllc .lead h2{font-size:20px;font-weight:500;margin:0}
#vllc .lead p{margin:0;color:var(--soft);font-size:14px}
#vllc .lf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:767px){#vllc .lf{grid-template-columns:minmax(0,1fr)}}
#vllc .fld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--soft);font-weight:400}
#vllc .fld .e{color:#b3261e;font-size:12px;min-height:0}
#vllc .fld.wide{grid-column:1/-1}
#vllc .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#vllc .contact{font-size:13px;color:var(--soft)}
#vllc .loading{padding:60px 0;color:var(--mute)}
/* 1.0.4: креслення зафіксоване праворуч, специфікація і форма нижче на всю ширину */
#vllc .stick{position:sticky;top:var(--vllc-top,130px);display:flex;flex-direction:column;gap:16px}
#vllc .stick .cv svg{max-height:calc(100vh - var(--vllc-top,130px) - 230px)}
#vllc .stick .sum .big{font-size:24px}
#vllc .below{margin-top:40px;display:flex;flex-direction:column;gap:18px}
#vllc .bh{font-size:22px;font-weight:500;margin:0;scroll-margin-top:var(--vllc-top,130px)}
#vllc .lead{scroll-margin-top:var(--vllc-top,130px)}
@media (max-width:991px){#vllc .stick{position:static}#vllc .stick .cv svg{max-height:none}}
#vllc .g>.board{align-self:stretch}
/* магістральні лінії */
#vllc .ser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#vllc .ser button{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;padding:10px 8px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}
#vllc .ser button b{font-weight:500;font-size:15px}
#vllc .ser button span{font-size:12px;color:var(--mute)}
#vllc .ser button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
#vllc .par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#vllc .tag{font-size:11px;padding:1px 6px;border:1px solid currentColor;border-radius:999px;white-space:nowrap;color:var(--warn);margin-left:6px}
#vllc .est{color:var(--warn)}
#vllc div.f{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--soft);font-weight:400}
#vllc .chip{font-size:13px;padding:7px 10px}
#vllc .cb{grid-column:1/-1;display:flex;flex-direction:column;gap:10px}
#vllc .cbl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:cb}
#vllc .cbl li{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:5px 6px 5px 10px;font-size:13px;background:var(--bg)}
#vllc .cbl li.n{border-color:var(--accent);color:var(--accent)}
#vllc .cbl li button{appearance:none;border:0;background:none;color:var(--mute);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
#vllc .cbr{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#vllc .cbr select.s{width:auto;min-width:170px}
#vllc .cbx{border-color:#b3261e;color:#b3261e}
#vllc .vllc-single{font-size:14px;line-height:1.5;margin:4px 0 0;padding:12px 14px;border-left:3px solid #1f6fd1;background:#f2f6fc}#vllc .vllc-single a{color:#1f6fd1;font-weight:500;text-decoration:underline}
#vllc .cbg{border-left:2px solid transparent;padding-left:10px;margin:6px 0}#vllc .cbg.on{border-left-color:#1e1e1e}#vllc .cbg .cbg{border-left-color:#e3e3e3}#vllc .cbg .cbg.on{border-left-color:#1e1e1e}
#vllc .cbh{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#4a4a4a;margin:4px 0}#vllc .cbh b{font-weight:500;font-size:12px;color:#1e1e1e;text-transform:uppercase;letter-spacing:.08em}#vllc .cbh .chip{padding:5px 10px;font-size:12.5px}

#vllc .lcta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--panel);padding:20px 24px;margin-top:8px}#vllc .lcta b{display:block;font-size:18px;font-weight:500;margin-bottom:4px}#vllc .lcta span{font-size:14px;color:var(--soft)}#vllc .lcta .btn{flex:none}@media (max-width:767px){#vllc .lcta{flex-direction:column;align-items:stretch}}#vllc .lm{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}#vllc .lm[hidden]{display:none}#vllc .lm-bg{position:absolute;inset:0;background:rgba(20,22,24,.55)}#vllc .lm-c{position:relative;background:#fff;width:100%;max-width:540px;max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}#vllc .lm .lead{margin:0;background:#fff;padding:30px 30px 24px}#vllc .lm .lead h2{font-size:24px;padding-right:30px}#vllc .lm .lf{grid-template-columns:1fr 1fr}#vllc .lm .acts .btn{width:100%;justify-content:center}#vllc .lm .acts{flex-direction:column;align-items:stretch}#vllc .lm-x{position:absolute;right:12px;top:10px;z-index:2;border:0;background:none;font-size:28px;line-height:1;color:var(--soft);cursor:pointer;padding:4px}@media (max-width:520px){#vllc .lm .lf{grid-template-columns:1fr}#vllc .lm .lead{padding:24px 18px}}

.sum.price{margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}.sum.price .note{margin-top:6px;font-size:13px;color:var(--mute)}
