
:root{
  --fcc-blue:#1F4E8C;
  --fcc-green:#4CAF2A;
  --fcc-gray:#7A7A7A;
}
.fcc-nhs-wrap{
  position:relative;
  width:100%;
  min-height:420px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.10);
  background:#fff;
}
.fcc-nhs-map{ position:absolute; inset:0; }
.fcc-nhs-brandbar{
  position:absolute; z-index:1000;
  left:12px; top:12px;
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  display:flex; align-items:center; gap:10px;
  max-width:min(560px, calc(100% - 24px));
}
.fcc-nhs-brandbar img{
  height:34px; width:auto;
  border-radius:10px;
  background:#fff;
  padding:6px 8px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.fcc-nhs-title{
  font-weight:900; color:var(--fcc-blue);
  line-height:1.1; font-size:14px;
}
.fcc-nhs-sub{ font-size:12px; color:var(--fcc-gray); margin-top:2px; }

.fcc-nhs-legend{
  position:absolute; z-index:1000;
  left:12px; bottom:12px;
  background:#fff;
  border-radius:14px;
  padding:12px 12px;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  width:300px;
  max-width:calc(100% - 24px);
}
.fcc-nhs-legend h4{
  margin:0 0 10px 0;
  font-size:13px;
  color:var(--fcc-blue);
  font-weight:900;
}
.fcc-nhs-swatch{
  display:flex; align-items:center; gap:10px;
  font-size:12px; color:#222; margin:6px 0;
}
.fcc-nhs-line{
  width:44px; height:0;
  border-top:4px solid var(--fcc-blue);
  border-radius:10px;
}
.fcc-nhs-note{
  font-size:11px; color:var(--fcc-gray);
  margin-top:10px; line-height:1.35;
}
.fcc-nhs-btnrow{ display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.fcc-nhs-btn{
  border:0; border-radius:12px;
  padding:8px 10px; cursor:pointer;
  font-weight:800; font-size:12px;
  background:var(--fcc-green); color:#fff;
  transition:transform .12s ease, filter .12s ease;
}
.fcc-nhs-btn:hover{ transform:translateY(-1px); filter:brightness(.95); }
.fcc-nhs-btn.secondary{ background:var(--fcc-blue); }
.leaflet-control-attribution{ font-size:11px !important; }
