.necsf-wrap{max-width:1180px;margin:28px auto;padding:0 18px;color:#17202a;font-family:inherit}.necsf-location-intro{margin:0 0 22px}.necsf-location-intro h1,.necsf-location-intro h2{margin:0 0 8px;font-size:31px;line-height:1.22;font-weight:800}.necsf-location-intro p{margin:0;color:#495466;font-size:16px;line-height:1.65;max-width:1050px}.necsf-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr auto;gap:12px;align-items:end;margin:0 0 28px}.necsf-filter-field{min-width:0}.necsf-filter-field label{display:block;margin:0 0 7px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#697386}.necsf-filters select,.necsf-filters input{width:100%;height:48px;box-sizing:border-box;border:1px solid #bfc5cc;border-radius:8px;background:#fff;padding:0 13px;font:inherit;color:#17202a}.necsf-filter-search input{min-width:0}.necsf-search-button{height:48px;border:0;border-radius:8px;padding:0 22px;background:#ef3f21;color:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.necsf-search-button:hover{background:#d9361c}.necsf-location-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.9fr);gap:28px;align-items:start}.necsf-main-column{min-width:0}.necsf-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 16px}.necsf-toolbar h2{margin:0;font-size:24px;line-height:1.3;font-weight:800}.necsf-count{color:#667085;font-size:14px}.necsf-status{min-height:18px;margin:-6px 0 8px;color:#667085;font-size:13px}.necsf-charging-station-section{margin:0 0 28px}.necsf-charging-station-section>h3{margin:0 0 13px;font-size:22px;line-height:1.3;font-weight:700}.necsf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.necsf-card{border:1px solid #dfe3e8;border-radius:13px;background:#fff;padding:17px 17px 15px;box-shadow:0 1px 3px rgba(16,24,40,.04);display:flex;flex-direction:column;min-height:205px}.necsf-card h4{margin:0 0 7px;font-size:17px;line-height:1.35;font-weight:750;color:#17202a}.necsf-meta{font-size:12px;color:#687386;margin-bottom:8px}.necsf-address{font-size:13px;line-height:1.55;color:#596578;flex:1}.necsf-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.necsf-actions a{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:7px;text-decoration:none;font-size:13px;font-weight:650;box-sizing:border-box}.necsf-call{border:0;background:#fff;color:#0a78c2;justify-content:flex-start!important}.necsf-contact{border:0;background:#ef3f21;color:#fff}.necsf-map{grid-column:1/-1;border:1px solid #d5d9de;color:#17202a;background:#fff}.necsf-load-more{display:block;margin:8px auto 10px;border:1px solid #ef3f21;color:#ef3f21;background:#fff;padding:10px 23px;border-radius:7px;font:inherit;font-weight:650;cursor:pointer}.necsf-load-more[hidden]{display:none}.necsf-empty{padding:28px;border:1px dashed #d0d5dd;border-radius:10px;text-align:center;color:#667085}.necsf-empty[hidden]{display:none}.necsf-attribution{margin:12px 0 26px;font-size:11px;color:#7a8493}.necsf-attribution a{text-decoration:underline}.necsf-sidebar{min-width:0}.necsf-nearby-box{border:1px solid #dfe3e8;border-radius:10px;overflow:hidden;background:#fff;position:sticky;top:20px}.necsf-nearby-box h3{margin:0;padding:0 14px 14px;font-size:23px;line-height:1.25;font-weight:700}.necsf-nearby-links{border-top:1px solid #e5e8ec}.necsf-nearby-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px;border-bottom:1px solid #e5e8ec;text-decoration:none;color:#1477b9;font-size:15px;background:#fff}.necsf-nearby-links a:last-child{border-bottom:0}.necsf-nearby-links a:hover{background:#f7f9fb}.necsf-nearby-links a span:last-child{font-size:23px;line-height:1;color:#6b7280}.necsf-seo-copy{margin:24px 0 0;padding:26px 24px;border:1px solid #e4e7eb;border-radius:12px;background:#fff}.necsf-seo-copy h2{margin:0 0 10px;font-size:25px;line-height:1.35}.necsf-seo-copy p{margin:0 0 13px;line-height:1.7}.necsf-seo-section{margin:0 0 20px}.necsf-seo-section:last-child{margin-bottom:0}.necsf-seo-faq{margin-top:22px}.necsf-seo-faq h2{margin-bottom:10px}.necsf-seo-faq details{border-top:1px solid #e8e8e8;padding:13px 0}.necsf-seo-faq summary{cursor:pointer;font-weight:650}.necsf-seo-faq p{padding-top:10px;margin-bottom:0}.necsf-operator-box{margin-top:28px;padding:24px;border:1px solid #e4e7eb;border-radius:12px;background:#fff}.necsf-operator-box-head h3{margin:0 0 6px;font-size:24px;line-height:1.3}.necsf-operator-box-head p{margin:0 0 16px;color:#667085}.necsf-operator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}.necsf-operator-grid a{display:block;padding:10px 0;border-bottom:1px solid #edf0f2;color:#17202a;text-decoration:none;font-weight:600}.necsf-operator-grid a:hover{color:#ef3f21}@media(max-width:980px){.necsf-filters{grid-template-columns:1fr 1fr}.necsf-search-button{width:100%}.necsf-location-layout{grid-template-columns:1fr}.necsf-sidebar{order:2}.necsf-nearby-box{position:static}.necsf-operator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.necsf-wrap{padding:0 14px;margin:22px auto}.necsf-location-intro h1,.necsf-location-intro h2{font-size:26px}.necsf-location-intro p{font-size:15px}.necsf-filters{grid-template-columns:1fr}.necsf-grid{grid-template-columns:1fr}.necsf-toolbar{display:block}.necsf-count{margin-top:4px}.necsf-operator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.necsf-seo-copy{padding:21px 18px}.necsf-nearby-box h3{font-size:20px}}

/* v1.17 route presentation polish */
body.necsf-charging-station-route .necsf-filters{
  background:#f8fafc;
  border:1px solid #e3e8ee;
  border-radius:14px;
  padding:18px 18px 20px;
  margin-bottom:28px;
  box-shadow:0 3px 14px rgba(16,24,40,.04);
}
body.necsf-charging-station-route .necsf-toolbar{
  background:#f8fafc;
  border:1px solid #e3e8ee;
  border-radius:14px;
  padding:16px 18px;
  margin-bottom:18px;
  box-shadow:0 3px 14px rgba(16,24,40,.035);
}
body.necsf-charging-station-route .necsf-nearby-box{box-shadow:0 4px 16px rgba(16,24,40,.045);}
body.necsf-charging-station-route .necsf-operator-box{box-shadow:0 3px 14px rgba(16,24,40,.035);}
body.necsf-charging-station-route .necsf-disclaimer-last{max-width:1180px;margin:24px auto 0;padding:0 18px;box-sizing:border-box;}
body.necsf-charging-station-route .necsf-disclaimer-last .necsf-disclaimer-inner{
  border:1px solid #e4e7eb;
  border-radius:12px;
  background:#f8fafc;
  padding:16px 20px;
  color:#667085;
  font-size:12.5px;
  line-height:1.7;
  box-shadow:0 2px 10px rgba(16,24,40,.03);
}
body.necsf-charging-station-route .necsf-disclaimer-last strong{color:#344054;}
@media(max-width:640px){
  body.necsf-charging-station-route .necsf-filters{padding:14px;border-radius:12px;}
  body.necsf-charging-station-route .necsf-toolbar{padding:14px;border-radius:12px;}
  body.necsf-charging-station-route .necsf-disclaimer-last{padding:0 14px;}
}

.necsf-landing-copy{margin:0 0 24px}.necsf-landing-copy h2{font-size:23px;line-height:1.35;margin:18px 0 8px}.necsf-landing-copy p{font-size:15px;line-height:1.7;color:#495466;margin:0 0 12px}



/* v1.1.4: simplify station cards and keep card actions aligned. */
body.necsf-charging-station-route .necsf-card {
  box-sizing: border-box;
  min-height: 250px;
  padding: 18px;
  border: 1px solid #e1e7ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .045);
  transition: border-color .15s ease, box-shadow .15s ease;
}
body.necsf-charging-station-route .necsf-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(16, 24, 40, .07);
}
body.necsf-charging-station-route .necsf-card h4 {
  margin: 0 0 8px;
  color: #17202a;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 750;
  overflow-wrap: anywhere;
}
body.necsf-charging-station-route .necsf-card .necsf-operator {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}
body.necsf-charging-station-route .necsf-card .necsf-address {
  flex: 0 0 auto;
  margin: 0;
  color: #596578;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
body.necsf-charging-station-route .necsf-card .necsf-details {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #edf1f5;
  color: #677386;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
body.necsf-charging-station-route .necsf-card .necsf-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 16px;
}
body.necsf-charging-station-route .necsf-card .necsf-actions a {
  box-sizing: border-box;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 8px;
}
body.necsf-charging-station-route .necsf-card .necsf-call {
  flex: 1 1 auto;
  padding-left: 0;
  background: transparent;
  color: #1477b9;
  justify-content: flex-start !important;
}
body.necsf-charging-station-route .necsf-card .necsf-contact {
  flex: 0 0 auto;
  justify-content: center;
}
body.necsf-charging-station-route .necsf-card .necsf-map {
  flex: 1 0 100%;
  grid-column: auto;
  border: 1px solid #d5dce5;
  background: #fff;
  color: #155eaa;
}
body.necsf-charging-station-route .necsf-card .necsf-map:hover {
  border-color: #a8b6c8;
  background: #f8fafc;
}
@media (max-width: 640px) {
  body.necsf-charging-station-route .necsf-card { min-height: 0; padding: 16px; }
}
