/* Clean Kentucky County SVG Map
   County popup content lives in js/counties-data.js. */

:root {
  --kda-green: #abbfa3;
  --kda-green-light: #1a5632;
  --kda-brown: #483e32;
  --kda-cream: #fffef9;
  --kda-border: #6f8024;
  --kda-gray: #e6e7e8;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  padding: 24px;
  font-family: Arial, Helvetica, sans-serif;
  color: #333;
  background: #fffef9;
}
.county-business h4{
	margin-bottom:3px;
}
.county-business strong {
  display: inline-block;
  min-width: 90px;
  margin-bottom: 6px;
}
[data-county] {
  fill: #2e5d3b;
  transition: fill 0.2s ease;
  cursor: pointer;
}

[data-county].has-data {
  fill: #1a5632;
}

[data-county].has-data:hover {
  fill: #483e32;
}

[data-county].is-active {
  fill: #1f4429;
}

.map-page {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.map-header {
  margin-bottom: 16px;
}

.map-header h1 {
  margin: 0 0 6px;
  color: var(--kda-green-light);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.1;
}

.map-header p {
  margin: 0;
  color: #555;
}

.map-shell {
  position: relative;
  padding: 16px;
  background: #fffef9;
}

#map-container {
  width: 100%;
  overflow: auto;
}

#Layer_1 {
  display: block;
  width: 100%;
  height: auto;
}

.cls-1 {
  fill: var(--kda-brown);
  stroke: var(--kda-gray);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: .85px;
  fill-rule: evenodd;
}

.cls-2 { fill: #fff; pointer-events: none; }

.select,
.county {
  fill: var(--kda-green);
  transition: fill .2s ease, opacity .2s ease;
  cursor: pointer;
}

.county:hover,
.county:focus,
.county.is-active {
  fill: var(--kda-green-light);
  outline: none;
}

.map-popup {
  position: absolute;
  left: 24px;
  top: 24px;
  z-index: 10;
  width: min(430px, calc(100% - 48px));
  max-height: min(430px, calc(100vh - 96px));
  overflow-y: auto;
  background: var(--kda-cream);
  border: 1px solid var(--kda-border);
  border-radius: 14px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, .2);
  padding: 20px;
}

.map-popup[hidden] { display: none; }

.map-popup__close {
  position: sticky;
  top: 0;
  float: right;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: var(--kda-green);
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
}

.map-popup__close:hover,
.map-popup__close:focus {
  background: var(--kda-brown);
}

.map-popup h2 {
  margin: 0 44px 12px 0;
  color: var(--kda-green-light);
  font-size: 1.35rem;
  text-transform: uppercase;
}

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

.map-popup a {
  color: var(--kda-green-light);
  font-weight: 700;
}

.map-popup hr {
  border: 0;
  border-top: 1px solid #d8dec7;
  margin: 16px 0;
}

.countyheader,
.map-popup strong.countyheader {
  color: var(--kda-green) !important;
  font-size: 1.05rem;
  text-transform: uppercase;
}

.map-help {
  margin-top: 12px;
  font-size: .95rem;
  color: #666;
}

@media (max-width: 640px) {
  body { padding: 12px; }
  .map-shell { padding: 10px; }
  .map-popup {
    position: fixed;
    left: 10px;
    right: 10px;
    top: 10px;
    width: auto;
    max-height: calc(100vh - 20px);
  }
}
