/* ============================================================
   CEE interactive county map. Light theme to sit on the page
   gradient. Counties with professionals glow & breathe; hover
   shows a tooltip with the live professional count; click jumps
   to that county's listing.
   ============================================================ */
.cee-cmap {
  position: relative;
  max-width: 1040px;
  margin: 12px auto 70px;
  padding: 0 16px;
  font-family: 'Nunito Sans', system-ui, sans-serif;
}
.cee-cmap-svg { width: 100%; height: auto; overflow: visible; display: block; }

.cee-cmap-state { fill: rgba(29,48,67,.04); stroke: rgba(29,48,67,.07); stroke-width: .7; }
.cee-cmap-county { fill: #e6eef6; stroke: #fff; stroke-width: .8; transition: fill .2s ease; }
.cee-cmap-county.has-pros { fill: #9cc3e6; animation: cee-cmap-breathe 3.8s ease-in-out infinite; }
.cee-cmap-county.is-hover { fill: #3d6f9e !important; filter: drop-shadow(0 0 7px rgba(61,111,158,.55)); }
.cee-cmap-outline { fill: none; stroke: #3d6f9e; stroke-width: 1.4; opacity: .5; }
@keyframes cee-cmap-breathe { 0%,100% { fill: #9cc3e6; } 50% { fill: #c2dcf1; } }

.cee-cmap-legend {
  display: flex; gap: 22px; justify-content: center; align-items: center;
  margin: 4px 0 14px; font-size: 13px; font-weight: 700; color: #5e7b95;
}
.cee-cmap-legend i { display: inline-block; width: 14px; height: 14px; border-radius: 4px; margin-right: 7px; vertical-align: -2px; }
.cee-cmap-legend .on { background: #9cc3e6; }
.cee-cmap-legend .off { background: #e6eef6; }

.cee-cmap-tip {
  position: absolute;
  transform: translate(-50%, -100%);
  background: #fff;
  border: 1px solid #e6eef7;
  border-radius: 12px;
  box-shadow: 0 16px 40px -16px rgba(29,48,67,.4);
  padding: 9px 14px;
  pointer-events: none;
  white-space: nowrap;
  z-index: 5;
}
.cee-cmap-tip b { display: block; font-family: 'Playfair Display', serif; color: #1d3043; font-size: 15px; }
.cee-cmap-tip span { display: block; font-size: 13px; font-weight: 700; color: #3d6f9e; margin-top: 2px; }

@media (prefers-reduced-motion: reduce) {
  .cee-cmap-county.has-pros { animation: none; }
}
