/* Central HVAC interactive service-area map */

.service-map-hero h1{
  max-width:900px;
}

.service-map-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:36px;
  align-items:end;
  margin-bottom:24px;
}

.map-help{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.map-help span{
  color:var(--text-muted);
  font-size:.94rem;
}

.county-note{
  margin-top:20px;
  padding:16px 18px;
  border-left:4px solid #cc0033;
  border-radius:0 12px 12px 0;
  background:#f7f9fb;
  line-height:1.65;
}

#service-area-map{
  width:100%;
  height:560px;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:#e9eef3;
  box-shadow:0 16px 42px rgba(11,31,51,.10);
  z-index:1;
}

.map-noscript{
  padding:24px;
}

.map-attribution-note{
  margin-top:14px;
  font-size:.86rem;
  color:var(--text-muted);
}

.service-area-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:30px;
}

.service-area-card{
  min-height:250px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.service-area-card:hover{
  transform:translateY(-3px);
  border-color:rgba(11,31,51,.24);
  box-shadow:0 14px 30px rgba(11,31,51,.08);
}

.service-area-card h3{
  margin-top:13px;
}

.county-label{
  display:inline-block;
  padding:7px 10px;
  border-radius:999px;
  background:#eef4f8;
  color:#0b1f33;
  font-size:.75rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.union-county{
  background:#f7ecef;
  color:#9c0028;
}

.rutgers-card{
  border-top:4px solid #cc0033;
}

.rutgers-label{
  background:#cc0033;
  color:#fff;
}

.service-area-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
}

.service-area-cta > div:first-child{
  max-width:750px;
}

/* Leaflet popup styling */
.service-map-popup{
  min-width:220px;
}

.service-map-popup h3{
  margin:0 0 4px;
  color:#0b1f33;
  font-size:1.05rem;
}

.service-map-popup .popup-county{
  margin:0 0 10px;
  color:#5f6f7e;
  font-size:.82rem;
  font-weight:700;
}

.service-map-popup p{
  margin:0 0 14px;
  line-height:1.45;
}

.service-map-popup a{
  display:inline-block;
  padding:9px 12px;
  border-radius:10px;
  background:#0b1f33;
  color:#fff;
  font-weight:800;
  text-decoration:none;
}

.service-map-popup a:hover{
  background:#163753;
}

.leaflet-popup-content-wrapper{
  border-radius:16px;
}

.central-hvac-marker{
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 0;
  background:#0b1f33;
  border:3px solid #fff;
  transform:rotate(-45deg);
  box-shadow:0 5px 14px rgba(0,0,0,.28);
}

.central-hvac-marker::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  left:9px;
  top:9px;
}

.central-hvac-marker.rutgers-marker{
  background:#cc0033;
}

@media(max-width:900px){
  .service-map-layout{
    grid-template-columns:1fr;
  }

  .service-area-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .service-area-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){
  #service-area-map{
    height:470px;
    border-radius:18px;
  }

  .service-area-grid{
    grid-template-columns:1fr;
  }

  .service-area-card{
    min-height:0;
  }
}
