/* =============================================================
   MAP — Statewide electoral map, legend, hover box
   Vintage Newspaper Cartographic Theme
   ============================================================= */
.map-wrapper { 
  position: relative; 
  width: 100%; 
  margin-bottom: 25px; 
}

.statewide-map-canvas { 
  width: 100%; 
  height: 620px; 
  border: 3px double var(--ink-charcoal); 
  background: #f4efe6; /* Vintage Parchment Newsprint Tone */
  position: relative; 
  box-shadow: 4px 4px 0px rgba(43,35,24,0.15);
}

.map-legend-container { 
  display: flex; 
  justify-content: center; 
  flex-wrap: wrap; 
  gap: 15px; 
  border: 2px double var(--ink-charcoal); 
  padding: 12px 15px; 
  margin-bottom: 15px; 
  background: var(--paper-bg); 
}

.map-legend-item { 
  display: flex; 
  align-items: center; 
  font-family: 'Courier Prime', monospace; 
  font-size: 11px; 
  font-weight: 700; 
  color: var(--ink-charcoal);
}

.map-legend-color { 
  width: 14px; 
  height: 14px; 
  border: 1px solid var(--ink-charcoal); 
  margin-right: 6px; 
  border-radius: 2px;
}

.map-hover-box { 
  position: absolute; 
  bottom: 20px; 
  right: 20px; 
  width: 260px; 
  background: #fdfbf7; 
  border: 3px double var(--ink-charcoal); 
  padding: 15px; 
  z-index: 1000; 
  pointer-events: none; 
  box-shadow: 4px 4px 0px var(--ink-charcoal); 
  font-family: 'Playfair Display', Georgia, serif; 
  color: var(--ink-charcoal); 
}

.map-hover-title { 
  font-size: 14px; 
  font-weight: 900; 
  border-bottom: 1.5px solid var(--ink-charcoal); 
  padding-bottom: 4px; 
  margin-bottom: 8px; 
  color: var(--ink-red); 
  letter-spacing: 0.5px;
}

.map-hover-row { 
  font-family: 'Courier Prime', monospace; 
  font-size: 11px; 
  margin-bottom: 4px; 
  display: flex; 
  justify-content: space-between; 
}

.map-hover-row.candidate { 
  font-family: 'Playfair Display', Georgia, serif; 
  font-size: 13px; 
  font-weight: 900; 
  margin-bottom: 6px; 
  color: var(--ink-charcoal); 
  text-transform: uppercase; 
  display: block; 
  border-bottom: 1px dashed var(--paper-bg-darker); 
  padding-bottom: 4px; 
}
