.cpm-wrap {
	display: grid;
	grid-template-columns: 200px 1fr 320px;
	gap: 28px;
	align-items: start;
}

@media ( max-width: 900px ) {
	.cpm-wrap {
		grid-template-columns: 1fr;
	}
}

/* Left list */
.cpm-state-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cpm-state-list li {
	padding: 10px 14px;
	margin-bottom: 4px;
	border-radius: 4px;
	cursor: pointer;
	color: #333;
	font-size: 15px;
	transition: background-color .15s ease, color .15s ease;
}

.cpm-state-list li:hover {
	background-color: #eef7f0;
}

.cpm-state-list li.cpm-selected {
	background-color: #d9efe0;
	color: #1e6b34;
	font-weight: 600;
}

/* Map */
.cpm-map {
	width: 100%;
}

.cpm-map svg {
	width: 100%;
	height: auto;
	display: block;
}

.cpm-map svg path {
	fill: #e2e2e2;
	stroke: #ffffff;
	stroke-width: 1;
	transition: fill .15s ease;
}

.cpm-map svg path.cpm-active {
	fill: #bcdcc4;
	cursor: pointer;
}

.cpm-map svg path.cpm-active:hover {
	fill: #8fc39c;
}

.cpm-map svg path.cpm-selected {
	fill: #1e6b34 !important;
}

.cpm-map svg path.cpm-inactive {
	pointer-events: none;
}

/* Map pins */
.cpm-pin-layer .cpm-pin {
	pointer-events: none;
}

.cpm-pin-outer {
	fill: #ffffff;
	stroke: #1e6b34;
	stroke-width: 2;
}

.cpm-pin-inner {
	fill: #1e6b34;
}

/* Right panel */
.cpm-panel {
	border: 1px solid #e5e5e5;
	border-left: 4px solid #f5a623;
	border-radius: 6px;
	padding: 20px 22px;
	min-height: 120px;
}

.cpm-panel-placeholder {
	color: #888;
	margin: 0;
}

.cpm-state-heading {
	margin: 0 0 12px;
	color: #1a1a1a;
	font-size: 20px;
}

.cpm-panel-inner img {
	max-width: 100%;
	height: auto;
}
