/* Transparent wrapper — the calculator inherits whatever background the page provides */
.nlc-wrap{--nlc-g:#009444;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#222;background:none;padding:0}
.nlc-wrap *{box-sizing:border-box}
.nlc-card{background:#fff;border-radius:16px;max-width:700px;margin:0 auto;padding:44px 40px 40px;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.nlc-title{font-size:30px;margin:0 0 28px;font-weight:700;line-height:1.2}
.nlc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.nlc-field label,.nlc-row label{display:block;font-size:13px;font-weight:600;color:var(--nlc-g);margin-bottom:6px}
.nlc-input{display:flex;align-items:center;border:1.5px solid var(--nlc-g);border-radius:6px;height:50px;padding:0 12px;background:#fff}
.nlc-input span{color:#888;margin-right:6px;font-size:16px}
.nlc-input input,.nlc-input select{border:0!important;outline:0;width:100%;font-size:16px;background:transparent;color:#222;height:100%;box-shadow:none!important;padding:0;margin:0}
.nlc-input:focus-within{box-shadow:0 0 0 3px rgba(0,148,68,.25)}
.nlc-input.nlc-bad{border-color:#c0392b;background:#fff8f7}
.nlc-fieldErr{color:#c0392b;font-size:12px;margin:6px 0 0;line-height:1.4}
.nlc-fieldErr[hidden]{display:none}
.nlc-row{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
.nlc-row span{font-size:16px;color:#444}
.nlc-wrap input[type=range]{width:100%;margin:14px 0 0;accent-color:var(--nlc-g);height:6px}
.nlc-toggle{display:flex;justify-content:space-between;align-items:center;margin:26px 16px 0;font-size:15px}
.nlc-switch{position:relative;width:56px;height:28px;margin:0}
.nlc-switch input{opacity:0;width:0;height:0;position:absolute}
.nlc-slider{position:absolute;inset:0;background:#ccc;border-radius:28px;cursor:pointer;transition:.2s}
.nlc-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.nlc-switch input:checked+.nlc-slider{background:var(--nlc-g)}
.nlc-switch input:checked+.nlc-slider:before{transform:translateX(28px)}
.nlc-btn{width:100%;margin-top:32px;border-radius:6px;height:60px;font-size:17px;font-weight:700;letter-spacing:.08em;font-family:"Courier New",monospace;cursor:pointer}
@media (max-width:560px){.nlc-grid{grid-template-columns:1fr}.nlc-card{padding:30px 22px}.nlc-big{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.nlc-wrap *{transition:none!important}}

/* summary cards */
.nlc-summary{display:none;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.nlc-summary.nlc-ready{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.nlc-stat{border:1.5px solid var(--nlc-g);border-radius:8px;padding:26px 16px;text-align:center}
.nlc-stat small{display:block;font-size:14px;color:#333;margin-bottom:14px}
.nlc-stat b{display:block;font-size:38px;font-weight:700;color:var(--nlc-g);font-family:"Courier New",monospace;line-height:1;margin-bottom:14px}
.nlc-stat span{font-size:13px;color:#555}
.nlc-stat.nlc-neg b{color:#c0392b}

/* popup */
.nlc-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.nlc-modal[hidden]{display:none}
.nlc-modal-box{position:relative;background:var(--nlc-g,#009444);color:#fff;border-radius:14px;width:100%;max-width:655px;max-height:95vh;overflow-y:auto;padding:30px 32px 32px}
.nlc-modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}
.nlc-modal-head h2{color:#fff;font-size:38px;font-weight:500;margin:0;line-height:1.2}
.nlc-logo{max-height:60px;max-width:170px;object-fit:contain}
/* Close button — themes often recolour bare buttons, so pin every state */
.nlc-modal .nlc-close,
.nlc-modal .nlc-close:hover,
.nlc-modal .nlc-close:focus,
.nlc-modal .nlc-close:active{
  position:absolute;top:14px;right:16px;width:34px;height:34px;padding:0;border-radius:6px;
  background:var(--nlc-c,#16265C)!important;background-color:var(--nlc-c,#16265C)!important;background-image:none!important;
  border:0!important;box-shadow:none!important;color:#fff!important;font-size:22px;line-height:1;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;
}
.nlc-modal .nlc-close:hover{filter:brightness(1.35)}
.nlc-modal .nlc-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
#nlc-leadForm label{display:block;font-size:14px;font-weight:500;margin:16px 0 8px;color:#fff}
#nlc-leadForm input,#nlc-leadForm textarea,#nlc-leadForm select{display:block;width:100%;border:0;border-radius:4px;padding:12px 14px;font-size:15px;margin-top:8px;color:#333;background:#fff;box-sizing:border-box;font-family:inherit}
#nlc-leadForm input::placeholder,#nlc-leadForm textarea::placeholder{color:#999}
#nlc-leadForm .g-recaptcha{margin-top:16px}
.nlc-submit{width:100%;margin-top:20px;border-radius:4px;height:46px;font-size:18px;font-weight:700;cursor:pointer}
.nlc-submit:disabled{opacity:.6;cursor:wait}
.nlc-error{background:#fff3f3;color:#b00020;border-radius:4px;padding:10px 12px;margin-top:14px;font-size:14px}
.nlc-modal input.nlc-invalid{outline:2px solid #ffd54f}
@media (max-width:560px){.nlc-summary{grid-template-columns:1fr}.nlc-modal-head h2{font-size:28px}.nlc-stat b{font-size:32px}}

.nlc-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden}
#nlc-leadForm select{height:46px;appearance:auto}

/* Button colours — kept ahead of theme button styles, which often recolour :hover/:active */
.nlc-wrap .nlc-btn,
.nlc-wrap .nlc-btn:link,
.nlc-wrap .nlc-btn:visited,
.nlc-wrap .nlc-btn:hover,
.nlc-wrap .nlc-btn:focus,
.nlc-wrap .nlc-btn:active{
  background:var(--nlc-g)!important;background-color:var(--nlc-g)!important;background-image:none!important;
  color:#fff!important;border:0!important;box-shadow:none!important;text-shadow:none!important;opacity:1!important;
}
.nlc-wrap .nlc-btn:hover,.nlc-wrap .nlc-btn:focus{filter:brightness(.92)}
.nlc-wrap .nlc-btn:active{filter:brightness(.85)}
.nlc-wrap .nlc-btn:focus-visible{outline:3px solid #fff;outline-offset:-6px}

.nlc-modal .nlc-submit,
.nlc-modal .nlc-submit:link,
.nlc-modal .nlc-submit:visited,
.nlc-modal .nlc-submit:hover,
.nlc-modal .nlc-submit:focus,
.nlc-modal .nlc-submit:active{
  background:#fff!important;background-color:#fff!important;background-image:none!important;
  color:var(--nlc-g,#009444)!important;border:0!important;box-shadow:none!important;text-shadow:none!important;
}
.nlc-modal .nlc-submit:hover,.nlc-modal .nlc-submit:focus{background-color:#f1f8f3!important}
.nlc-modal .nlc-submit:active{background-color:#e6f2e9!important}
.nlc-modal .nlc-submit:disabled{opacity:.6!important;cursor:wait}
.nlc-modal .nlc-close:hover{color:#fff;opacity:.8}
