.purasol-kfim-map,
.kfim-map {
	position: relative;
	max-width: 100%;
}

.purasol-kfim-map [hidden],
.kfim-map [hidden] {
	display: none !important;
}

.purasol-kfim-stage,
.kfim-stage {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: auto;
	max-width: 100%;
	height: 100%;
	max-height: inherit;
	line-height: 0;
}

.purasol-kfim-picture,
.kfim-picture {
	display: inline-block;
	vertical-align: top;
	width: auto;
	max-width: 100%;
	height: 100%;
	max-height: inherit;
	margin: 0;
}

.purasol-kfim-image,
.kfim-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: inherit;
	max-height: inherit;
	vertical-align: top;
}

.purasol-kfim-map.has_height .purasol-kfim-picture,
.purasol-kfim-map.has_height .purasol-kfim-image,
.kfim-map.has_height .kfim-picture,
.kfim-map.has_height .kfim-image {
	width: auto;
}

.purasol-kfim-lines,
.purasol-kfim-labels,
.kfim-lines,
.kfim-labels {
	position: absolute;
	inset: 0;
}

.purasol-kfim-lines,
.kfim-lines {
	z-index: 1;
	overflow: visible;
	pointer-events: none;
}

.purasol-kfim-lines polyline,
.kfim-lines polyline {
	fill: none;
	stroke: var(--kfim-line-color, var(--color-content-border, currentColor));
	stroke-width: var(--kfim-line-width, 2px);
	stroke-opacity: var(--kfim-line-opacity, 1);
	stroke-dasharray: var(--kfim-line-dasharray, none);
	stroke-linecap: square;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.purasol-kfim-labels,
.kfim-labels {
	z-index: 2;
	pointer-events: none;
}

.purasol-kfim-label,
.kfim-label {
	position: absolute;
	left: 0;
	top: 0;
	max-width: min(100%, var(--kfim-feature-max-width, 260px));
	color: var(--kfim-label-color, var(--color-content-text, inherit));
	background: var(--kfim-label-background, transparent);
	border-radius: var(--kfim-label-radius, 0);
	line-height: 1.35;
	pointer-events: auto;
}

.purasol-kfim-content,
.kfim-content {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.purasol-kfim-title,
.kfim-title {
	display: block;
	color: var(--kfim-label-title-color, var(--color-content-heading, inherit));
	font-size: clamp(1rem, 0.8rem + 0.9vw, 2rem);
	font-weight: 500;
	line-height: 1;
}

.purasol-kfim-text,
.kfim-text {
	font-size: clamp(0.95rem, 0.84rem + 0.4vw, 1.35rem);
}

.purasol-kfim-text > :first-child,
.kfim-text > :first-child {
	margin-top: 0;
}

.purasol-kfim-text > :last-child,
.kfim-text > :last-child {
	margin-bottom: 0;
}

.purasol-kfim-link,
.kfim-link {
	color: inherit;
	text-decoration: none;
}

.purasol-kfim-link:hover .purasol-kfim-title,
.purasol-kfim-link:focus-visible .purasol-kfim-title,
.kfim-link:hover .kfim-title,
.kfim-link:focus-visible .kfim-title {
	text-decoration: underline;
}

.purasol-kfim-list,
.kfim-list {
	display: grid;
	gap: 0.9rem;
	margin: clamp(14px, 2.2vw, 28px) 0 0;
	padding: 0;
	list-style: none;
}

.purasol-kfim-list-item,
.kfim-list-item {
	max-width: min(100%, var(--kfim-feature-max-width-mobile, var(--kfim-feature-max-width, 260px)));
	color: var(--kfim-label-color, var(--color-content-text, inherit));
}

.purasol-kfim-list-item .purasol-kfim-content,
.kfim-list-item .kfim-content {
	display: grid;
	grid-template-columns: minmax(2ch, auto) minmax(0, 1fr);
	gap: 0.35rem 0.75rem;
	align-items: start;
}

.purasol-kfim-list-item .purasol-kfim-title,
.kfim-list-item .kfim-title {
	font-size: clamp(1rem, 0.88rem + 0.35vw, 1.2rem);
}

.purasol-kfim-list-item .purasol-kfim-text,
.kfim-list-item .kfim-text {
	font-size: clamp(0.95rem, 0.84rem + 0.2vw, 1.05rem);
}

.purasol-kfim-placeholder,
.kfim-placeholder {
	padding: 1rem 1.2rem;
	border: 1px dashed currentColor;
	opacity: 0.7;
}

.purasol-kfim-note,
.kfim-note {
	margin-top: 0.85rem;
	font-size: 0.92rem;
	line-height: 1.45;
	opacity: 0.8;
}

.purasol-kfim-map.is-state-mobile.is-mobile-behavior-image_only .purasol-kfim-list,
.kfim-map.is-state-mobile.is-mobile-behavior-image_only .kfim-list {
	display: none;
}
