.market-map-v2 {
  position: relative;
  min-height: 392px;
  border: 1px solid #28433b;
  border-radius: 8px;
  overflow: hidden;
  background: #071311;
}

.market-map-v2.home {
  border-color: rgba(92, 146, 120, .2);
  background: #f7fbf8;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);
}

.market-map-v2.full {
  min-height: 560px;
}

.map-v2-canvas {
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.map-v2-loading,
.map-v2-fallback {
  display: grid;
  place-items: center;
  min-height: inherit;
  padding: 20px;
  color: rgba(232, 242, 238, .82);
  background: #071311;
  font-size: 13px;
}

.market-map-v2.home .map-v2-loading,
.market-map-v2.home .map-v2-fallback {
  color: #527067;
  background: #f7fbf8;
}

.map-v2-fallback {
  align-content: center;
  gap: 8px;
  text-align: center;
}

.map-v2-fallback strong {
  color: inherit;
  font-size: 14px;
}

.map-v2-fallback > span {
  color: inherit;
  opacity: .8;
}

.map-v2-fallback .secondary {
  margin-top: 4px;
}

.map-v2-diagnostics {
  width: min(100%, 290px);
  margin-top: 4px;
  color: inherit;
  font-size: 11px;
  text-align: left;
}

.map-v2-diagnostics summary {
  cursor: pointer;
  text-align: center;
}

.map-v2-diagnostics span {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.map-v2-label {
  padding: 2px 5px;
  border-radius: 6px;
  background: rgba(7, 19, 17, .66);
  color: rgba(237, 255, 248, .92);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}

.market-map-v2.home .map-v2-label {
  border: 1px solid rgba(221, 247, 233, .38);
  background: rgba(17, 59, 49, .78);
  color: rgba(248, 255, 251, .96);
  box-shadow: 0 6px 18px rgba(25, 89, 63, .18);
  text-shadow: 0 1px 2px rgba(5, 26, 20, .55);
}

.market-map-v2.home .map-v2-label.province-label {
  padding: 2px 5px;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 11px;
  line-height: 1.15;
  text-shadow: 0 1px 3px rgba(5, 25, 19, .72), 0 0 8px rgba(7, 20, 16, .32);
}

.market-map-v2.home .map-v2-label.province-label.has-customers {
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(18, 61, 51, .74);
  color: #f1faf6;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(7, 28, 23, .16);
}

.market-map-v2.home .map-v2-label.province-label.no-customers {
  color: rgba(156, 181, 173, .72);
  font-weight: 700;
}

.map-v2-label.is-hidden {
  display: none;
}

.map-v2-tooltip {
  position: absolute;
  z-index: 4;
  min-width: 176px;
  max-width: 230px;
  padding: 10px 12px;
  border: 1px solid rgba(153, 226, 199, .26);
  border-radius: 8px;
  background: rgba(5, 17, 17, .86);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .3);
  color: #e8f3ef;
  pointer-events: none;
}

.market-map-v2.home .map-v2-tooltip {
  border-color: rgba(39, 116, 82, .18);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 38px rgba(20, 82, 54, .18);
  color: #173d34;
}

.market-map-v2.home .map-v2-tooltip span {
  color: #285747;
}

.market-map-v2.home .map-v2-tooltip span b {
  color: #0f3c2d;
}

.market-map-v2.home .map-v2-tooltip em {
  color: #238154;
}

.market-map-v2.home .map-v2-tooltip small {
  color: #6b7f75;
}

.map-v2-home-reset {
  position: absolute;
  z-index: 3;
  right: 12px;
  top: 12px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(88, 124, 109, .2);
  border-radius: 8px;
  background: rgba(255, 255, 255, .78);
  color: #4b675b;
  font-size: 12px;
  box-shadow: 0 6px 16px rgba(31, 84, 59, .08);
}

.map-v2-home-reset:hover {
  background: rgba(255, 255, 255, .94);
  color: #234d3d;
}

.map-v2-home-reset:focus {
  outline: none;
}

.map-v2-home-reset:focus-visible {
  outline: 2px solid rgba(80, 145, 111, .34);
  outline-offset: 2px;
}

.map-v2-tooltip strong,
.map-v2-tooltip span,
.map-v2-tooltip em,
.map-v2-tooltip small {
  display: block;
}

.map-v2-tooltip strong {
  font-size: 14px;
}

.map-v2-tooltip span {
  margin-top: 8px;
  color: #d7f4e8;
  font-size: 13px;
}

.map-v2-tooltip span b {
  color: #f2fff9;
  font-size: 22px;
  line-height: 1;
}

.map-v2-tooltip em {
  margin-top: 6px;
  color: #91eeb9;
  font-size: 12px;
  font-style: normal;
}

.map-v2-tooltip small {
  margin-top: 5px;
  color: #9fc4b8;
  font-size: 11px;
}

.maplibregl-ctrl-group {
  overflow: hidden;
  border: 1px solid rgba(176, 222, 206, .18);
  border-radius: 8px;
  background: rgba(7, 22, 22, .9);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}

.market-map-v2.home .maplibregl-ctrl-group {
  border-color: rgba(42, 108, 78, .18);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 8px 22px rgba(31, 84, 59, .12);
}

.maplibregl-ctrl button {
  filter: invert(1) saturate(.45) brightness(.9);
}

.market-map-v2.home .maplibregl-ctrl button {
  filter: none;
}
