/* Homepage-only exact calculator layout inspired by the supplied reference image. */
.home-calculator-section{
  max-width:none!important;
  margin-top:0!important;
  padding:24px 18px 30px!important;
  background:#eef5fc!important;
}
.home-calculator-section .home-calculator-update{display:none!important}
.home-calculator-section .nhs-original-calculator-engine{
  position:absolute!important;
  left:-100000px!important;
  top:0!important;
  width:1180px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.nhs-exact-calculator,
.nhs-exact-calculator *{box-sizing:border-box}
.nhs-exact-calculator{
  --ec-blue:#0067c9;
  --ec-dark-blue:#005eb8;
  --ec-pale:#e8f3ff;
  --ec-bg:#eef5fc;
  --ec-line:#c9d7e7;
  --ec-text:#0b1f33;
  --ec-muted:#53657a;
  --ec-green:#007a3d;
  --ec-red:#d5281b;
  width:min(100%,940px);
  margin:0 auto;
  padding:0;
  color:var(--ec-text);
  font-family:Arial,Helvetica,sans-serif;
}
.nhs-exact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(300px,.95fr);
  gap:18px;
  align-items:start;
}
.nhs-exact-form-card,
.nhs-exact-result-card{
  background:#fff;
  border:1px solid #cbd8e6;
  border-radius:13px;
  box-shadow:0 3px 10px rgba(16,52,85,.12);
}
.nhs-exact-form-card{padding:18px 18px 17px}
.nhs-exact-title{
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid #cfd9e5;
  font-size:16px;
  line-height:1.2;
  font-weight:800;
  color:#071a2d;
}
.nhs-exact-pound{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  flex:0 0 27px;
  border-radius:8px;
  background:var(--ec-dark-blue);
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 1px 2px rgba(0,0,0,.1);
}
.nhs-exact-field{min-width:0}
.nhs-exact-field label,
.nhs-exact-section-label{
  display:block;
  margin:0 0 7px;
  color:#273a50;
  font-size:10px;
  line-height:1.25;
  font-weight:800;
}
.nhs-exact-section-label{
  color:#005eb8;
  letter-spacing:.02em;
  text-transform:uppercase;
  padding-top:12px;
  margin-top:11px;
  border-top:1px solid #cfd9e5;
}
.nhs-exact-region-buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:15px;
}
.nhs-exact-region-buttons button{
  min-width:0;
  min-height:37px;
  padding:6px 5px;
  border:1px solid #b9c9da;
  border-radius:8px;
  background:#f9fbfd;
  color:#30445b;
  font:700 9px/1.15 Arial,Helvetica,sans-serif;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .16s,background .16s,color .16s,box-shadow .16s;
}
.nhs-exact-region-buttons button:hover{border-color:#3b8edc;background:#f1f8ff}
.nhs-exact-region-buttons button.is-active{
  border:2px solid var(--ec-blue);
  background:#f2f8ff;
  color:#0057aa;
  box-shadow:0 0 0 1px rgba(0,103,201,.04);
}
.nhs-exact-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:13px;
}
.nhs-exact-input,
.nhs-exact-select{
  display:block;
  width:100%;
  height:37px;
  padding:7px 10px;
  border:1px solid #b9c9da;
  border-radius:7px;
  background:#fbfcfe;
  color:#1f3348;
  outline:none;
  font:400 11px/1 Arial,Helvetica,sans-serif;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.nhs-exact-input:focus,
.nhs-exact-select:focus{
  border-color:var(--ec-blue);
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,103,201,.12);
}
.nhs-exact-range-box{
  margin:0 0 15px;
  padding:11px 13px 12px;
  border:1px solid #cad7e5;
  border-radius:8px;
  background:#f8fbff;
}
.nhs-exact-range-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:10px;
  font-weight:800;
  color:#263b52;
}
.nhs-exact-range-value{color:#005eb8;font-size:13px}
.nhs-exact-range{
  display:block;
  width:100%;
  height:10px;
  margin:0;
  accent-color:var(--ec-blue);
  cursor:pointer;
}
.nhs-exact-full-row{margin-bottom:13px}
.nhs-exact-print{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:39px;
  margin-top:16px;
  padding:9px 14px;
  border:0;
  border-radius:8px;
  background:var(--ec-dark-blue);
  color:#fff;
  font:800 10px/1.2 Arial,Helvetica,sans-serif;
  cursor:pointer;
  box-shadow:0 2px 4px rgba(0,94,184,.18);
}
.nhs-exact-print:hover{background:#004f9d}

.nhs-exact-result-card{
  border-top:3px solid var(--ec-blue);
  padding:18px 18px 16px;
}
.nhs-exact-result-hero{
  padding:17px 14px 16px;
  border:1px solid #91bde8;
  border-radius:9px;
  background:#e6f2ff;
  text-align:center;
}
.nhs-exact-bandline{
  margin-bottom:10px;
  color:#005eb8;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.nhs-exact-view-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:5px 12px;
  margin-bottom:13px;
  border:1px solid #c0d2e5;
  border-radius:5px;
  background:#fff;
  color:#34475d;
  font-size:9px;
  font-weight:800;
}
.nhs-exact-result-caption{
  color:#52677d;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
.nhs-exact-net-main{
  margin-top:4px;
  color:#005eb8;
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.nhs-exact-breakdown{margin-top:3px}
.nhs-exact-result-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:37px;
  padding:9px 2px;
  border-bottom:1px solid #d4deea;
  color:#20354a;
  font-size:10px;
  line-height:1.25;
  font-weight:700;
}
.nhs-exact-result-row span:first-child{min-width:0}
.nhs-exact-result-row strong{white-space:nowrap;color:#172c40;font-size:10px}
.nhs-exact-result-row.is-green span:first-child,
.nhs-exact-result-row.is-green strong{color:var(--ec-green)}
.nhs-exact-result-row.is-red span:first-child,
.nhs-exact-result-row.is-red strong{color:var(--ec-red)}
.nhs-exact-result-row.is-total{
  min-height:42px;
  margin-top:0;
  padding:10px 7px;
  border-bottom:0;
  background:#e5f1fd;
  color:#005eb8;
  font-weight:900;
}
.nhs-exact-result-row.is-total strong{color:#005eb8;font-size:12px}
.nhs-exact-note{
  margin-top:17px;
  padding:13px 13px 12px;
  border:1px solid #f0d7a7;
  border-radius:8px;
  background:#fff7df;
  color:#6c5630;
  font-size:8.5px;
  line-height:1.45;
}
.nhs-exact-note strong{color:#4f3c1d}
.nhs-exact-engine-error{
  padding:20px;
  border:1px solid #f0b9b9;
  border-radius:10px;
  background:#fff5f5;
  color:#9c1c1c;
  font-size:13px;
}

@media (max-width:800px){
  .home-calculator-section{padding:18px 12px 25px!important}
  .nhs-exact-grid{grid-template-columns:1fr;gap:16px}
  .nhs-exact-result-card{position:static}
}
@media (max-width:520px){
  .nhs-exact-form-card,.nhs-exact-result-card{border-radius:10px}
  .nhs-exact-form-card{padding:15px 13px}
  .nhs-exact-title{font-size:14px}
  .nhs-exact-region-buttons{grid-template-columns:1fr 1fr}
  .nhs-exact-region-buttons button{font-size:10px}
  .nhs-exact-two-col{grid-template-columns:1fr;gap:10px}
  .nhs-exact-net-main{font-size:32px}
}

@media print{
  body>*:not(#root){display:none!important}
  header,.home-hero,.home-calculator-update,.nhs-original-calculator-engine,
  .home-calculator-section~section,footer{display:none!important}
  .home-calculator-section{padding:0!important;background:#fff!important}
  .nhs-exact-calculator{width:100%!important;max-width:none!important}
  .nhs-exact-grid{grid-template-columns:1.42fr .95fr!important;gap:14px!important}
  .nhs-exact-form-card,.nhs-exact-result-card{box-shadow:none!important}
  .nhs-exact-print{display:none!important}
}
