/* OPC UA Connect, CNC Connector Library v1 */
.cnc-hero{padding-bottom:36px}
.cnc-finder{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:22px;max-width:860px;box-shadow:0 10px 30px rgba(15,27,46,.06)}
.cnc-finder b{display:block;font-size:1.02rem;color:var(--ink)}
.cnc-finder .muted{display:block;font-size:.9rem;margin:2px 0 12px}
.cnc-finder-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.cnc-finder-row label{font-size:.8rem;font-weight:600;color:var(--ink2)}
.cnc-finder-row select,.cnc-filter input,.cnc-filter select{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.96rem;background:#fff;color:var(--ink)}
.cnc-finder-row select:disabled{background:var(--surface);color:var(--muted)}
.cnc-finder-row .btn{white-space:nowrap}
@media(max-width:700px){.cnc-finder-row{grid-template-columns:1fr}}
.cnc-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--surface2);color:var(--ink2);vertical-align:middle;margin-left:6px}
.cnc-paths{display:grid;gap:12px;margin:14px 0 6px}
.cnc-path{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff}
.cnc-path p{margin:.35rem 0 0}
.cnc-path-h{font-weight:700;color:var(--ink)}
.cnc-recommended{border-left-color:var(--ok)}
.cnc-recommended .cnc-tag{background:#e3f4ec;color:var(--ok)}
.cnc-alternative,.cnc-complement,.cnc-optional,.cnc-upgrade{border-left-color:var(--accent)}
.cnc-alternative .cnc-tag,.cnc-complement .cnc-tag,.cnc-optional .cnc-tag,.cnc-upgrade .cnc-tag{background:#e6effd;color:var(--accent-d)}
.cnc-fallback,.cnc-workaround,.cnc-legacy,.cnc-special{border-left-color:var(--warn)}
.cnc-fallback .cnc-tag,.cnc-workaround .cnc-tag,.cnc-legacy .cnc-tag,.cnc-special .cnc-tag{background:#fdf0e1;color:var(--warn)}
.cnc-vendor,.cnc-developer{border-left-color:var(--teal)}
.cnc-vendor .cnc-tag,.cnc-developer .cnc-tag{background:#e2f5f5;color:#0b7c7c}
.cnc-inline-cta{margin:18px 0;padding:14px 18px;border:1px dashed var(--accent);border-radius:12px;background:#f3f7fe}
.cnc-inline-cta a{font-weight:700}
.cnc-src{font-size:.86rem;color:var(--muted)}
.cnc-src li{margin:.2rem 0;word-break:break-word}
.cnc-faq details{border-bottom:1px solid var(--line);padding:12px 0}
.cnc-faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.cnc-faq details p{margin:.5rem 0 0}
.cnc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:18px 0}
.cnc-card{display:block;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.cnc-card:hover{border-color:var(--accent);box-shadow:0 8px 22px rgba(15,27,46,.07);text-decoration:none}
.cnc-card b{display:block;margin-bottom:4px}
.cnc-card span{display:block;font-size:.9rem;color:var(--muted)}
.cnc-filter{display:grid;grid-template-columns:1fr 240px;gap:12px;margin:16px 0}
@media(max-width:640px){.cnc-filter{grid-template-columns:1fr}}
.cnc-count{font-size:.85rem;color:var(--muted);margin:-4px 0 10px}
.cnc-kit{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}
@media(max-width:900px){.cnc-kit{grid-template-columns:1fr}}
.cnc-form-card{min-height:120px}
.cnc-band{background:#0e6b5c;color:#fff;margin:40px 0 0;padding:30px 20px}
.cnc-band-in{max-width:820px;margin:0 auto;text-align:center}
.cnc-pill{display:inline-block;background:#f9e04b;color:#1a2420;font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;margin-bottom:12px}
.cnc-band-h{font:700 22px/1.25 var(--sans);margin-bottom:8px}
.cnc-band-p{opacity:.92;font:15px/1.55 var(--sans);margin-bottom:18px}
.cnc-band-btn{display:inline-block;background:#f9e04b;color:#1a2420;font:700 15px var(--sans);text-decoration:none;padding:13px 26px;border-radius:9px}
.cnc-band-btn:hover{background:#ffe866;color:#1a2420;text-decoration:none}
/* signup form (re-uses .signup from style.css) */
.cnc-signup fieldset{border:0;padding:0;margin:0 0 14px}
.cnc-signup legend{font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:6px;padding:0}
.cnc-signup .cnc-radios label,.cnc-signup .cnc-checks label{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:.9rem;margin:0 0 6px;color:var(--ink2)}
.cnc-signup .cnc-radios input,.cnc-signup .cnc-checks input{margin-top:3px}
.cnc-signup .cnc-checks{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media(max-width:520px){.cnc-signup .cnc-checks{grid-template-columns:1fr}}
.cnc-signup input[type=tel]{width:100%;padding:11px 12px;margin-top:5px;border:1px solid var(--line);border-radius:9px;font-size:.98rem;font-family:inherit;background:#fff}
.cnc-signup .bad{border-color:#c0392b!important}
.cnc-signup .cnc-msg{font-size:.88rem;color:#c0392b;margin:8px 0 0;min-height:1em}
.cnc-signup-ok{text-align:left}
.cnc-signup-ok a.dl{display:inline-block;margin:6px 12px 6px 0;font-weight:700}
.cnc-modal{position:fixed;inset:0;z-index:9999;background:rgba(10,20,35,.55);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px 12px}
.cnc-modal-box{position:relative;width:100%;max-width:620px;margin:auto}
.cnc-modal-box .signup{margin:0}
.cnc-x{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted);z-index:2}
.cnc-x:hover{color:var(--ink)}
@media(min-width:1000px){.foot-grid{flex-wrap:nowrap;gap:22px}.foot-grid .foot-col:first-child{max-width:230px!important;flex-shrink:0}}
body:has(#cnc-signup-slot) .cnc-band{display:none}
.nav-links a{white-space:nowrap}


.tblwrap{overflow-x:auto}
