.skyfol-partners-map-section {
	

}

.skyfol-partners-map-shell {
	
}

.skyfol-partners-map-intro {
	max-width: 760px;
	margin: 0 0 28px;
}

.skyfol-partners-map-kicker,
.skyfol-partners-map-panel-kicker {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #0f67b1;
}

.skyfol-partners-map-intro h2,
.skyfol-partners-map-panel-head h3 {
	margin: 0 0 10px;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.05;
	color: #111111;
}

.skyfol-partners-map-intro p,
.skyfol-partners-map-panel-head p {
	margin: 0;
	color: #4e555b;
}

.skyfol-partners-map-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.6fr);
	gap: 28px;
	align-items: start;
}

.skyfol-partners-map-visual,
.skyfol-partners-map-panel {
	background: transparent;
	
	border-radius: 28px;
	/* box-shadow: 0 28px 60px rgba(17, 17, 17, 0.08); */
}

.skyfol-partners-map-panel {
	box-shadow: 0 28px 60px rgba(17, 17, 17, 0.08);
}

.skyfol-partners-map-visual {
	padding: 0px;
	position: sticky;
	top: 24px;
	align-self: start;
}

@media (max-width: 960px) {
	.skyfol-partners-map-visual {
		position: static;
	}
}

.skyfol-partners-map-canvas {
	position: relative;
	padding: 18px;
	border-radius: 22px;
	background:
		radial-gradient(circle at top left, rgba(15, 103, 177, 0.13), transparent 34%),
		radial-gradient(circle at bottom right, rgba(17, 17, 17, 0.09), transparent 26%),
		linear-gradient(180deg, #fbfbfb 0%, #edf1f4 100%);
	overflow: hidden;
}

.skyfol-switzerland-map {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 18px 24px rgba(17, 17, 17, 0.08));
}

.skyfol-switzerland-map rect {
	display: none;
}

.skyfol-canton-zone {
	fill: #e6e8ec;
	stroke: #ffffff;
	stroke-width: 2;
	stroke-linejoin: round;
	stroke-miterlimit: 10;
	vector-effect: non-scaling-stroke;
	transition: fill 0.18s ease;
}

.skyfol-canton-group[data-has-partners="1"] .skyfol-canton-zone {
	fill: #0f67b1;
	cursor: pointer;
}

.skyfol-canton-group[data-has-partners="1"]:hover .skyfol-canton-zone,
.skyfol-canton-group[data-has-partners="1"]:focus-within .skyfol-canton-zone,
.skyfol-canton-group.is-active .skyfol-canton-zone {
	fill: #0a4d85;
}

.skyfol-canton-group[data-has-partners="0"]:hover .skyfol-canton-zone {
	fill: #d2d6dc;
}
.skyfol-canton-point {
	position: absolute;
	transform: translate(-50%, -100%);
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	padding: 0;
	background: transparent;
	background-color: transparent !important;
	border: 0;
	cursor: pointer;
	color: #66707a;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.skyfol-canton-point:hover,
.skyfol-canton-point:focus-visible,
.skyfol-canton-point.is-active {
	transform: translate(-50%, -100%) scale(1.08);
	filter: drop-shadow(0 10px 18px rgba(17, 17, 17, 0.2));
}

.skyfol-canton-point-marker {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: linear-gradient(180deg, #1a7ec8 0%, #0a4d85 100%);
	border: 2px solid #ffffff;
	box-shadow: 0 6px 14px rgba(10, 77, 133, 0.35);
}

.skyfol-canton-point.has-partners .skyfol-canton-point-marker,
.skyfol-canton-point.is-active .skyfol-canton-point-marker {
	background: linear-gradient(180deg, #2a8fd8 0%, #0a4d85 100%);
}

.skyfol-canton-point-label {
	position: relative;
	z-index: 2;
	min-width: auto;
	padding: 0;
	border-radius: 0;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #ffffff;
	background: transparent;
	box-shadow: none;
	pointer-events: none;
	transform: rotate(45deg);
}

.skyfol-partners-map-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.skyfol-canton-filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 14px;
	border: 1px solid #d7dee3;
	border-radius: 999px;
	background: #ffffff;
	color: #111111;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: all 0.2s ease;
}

.skyfol-canton-filter span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: #c0d8eb;
	font-size: 12px;
}

.skyfol-canton-filter:hover,
.skyfol-canton-filter:focus-visible,
.skyfol-canton-filter.is-active {
	border-color: #0f67b1;
	background: #0f67b1;
	color: #ffffff;
}

.skyfol-canton-filter:hover span,
.skyfol-canton-filter:focus-visible span,
.skyfol-canton-filter.is-active span {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
}


.skyfol-partners-map-panel {
	display: grid;
	gap: 22px;
	padding: 26px;
}

.skyfol-partners-map-panel > * {
	width: 100%;
	justify-self: stretch;
}

.skyfol-partners-map-panel-head {
	width: 100%;
	padding-bottom: 18px;
	border-bottom: 1px solid #e1e7eb;
}

.skyfol-partners-cards {
	display: grid;
	gap: 16px;
	width: 100%;
}

.skyfol-partner-card,
.skyfol-partner-empty {
	width: 100%;
	padding: 0px 0;
	padding-bottom: 25px;
	

	border-bottom: 1px solid #e1e7eb;
}

.skyfol-partner-card[hidden] {
	display: none !important;
}

.skyfol-partner-card-top {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	width: 100%;
}

.skyfol-partner-card-logo {
	flex: 0 0 68px;
	width: 68px;
	height: 68px;
	border-radius: 18px;
	background: #f5f6f7;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.skyfol-partner-card-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.skyfol-partner-card-heading h4 {
	margin: 4px 0 6px;
	font-size: 22px;
	line-height: 1.1;
}

.skyfol-partner-card-canton {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0f67b1;
}

.skyfol-partner-card-status {
	display: inline-block;
	padding: 0px 10px;
	border-radius: 999px;
	background: #f3f5f6;
	font-size: 12px;
	font-weight: 700;
	color: #111111;
}

.skyfol-partner-card-body {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	align-items: start;
	width: 100%;
	margin-top: 14px;
}

.skyfol-partner-card-description {
	min-width: 0;
}

.skyfol-partner-card-body p {
	margin: 0;
	color: #4e555b;
}

.skyfol-partner-meta {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	align-content: start;
}

.skyfol-partner-meta li,
.skyfol-partner-meta a {
	color: #111111;
	font-weight: 500;
}

.skyfol-partner-meta-address {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.skyfol-partner-meta-address > span {
	flex: 1 1 auto;
	min-width: 0;
}

.skyfol-partner-meta-map {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #f3f5f6;
	color: #0f67b1;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.skyfol-partner-meta-map:hover,
.skyfol-partner-meta-map:focus-visible {
	background: #0f67b1;
	color: #ffffff;
	transform: scale(1.06);
}

.skyfol-partner-meta-map:hover svg,
.skyfol-partner-meta-map:focus-visible svg {
	color: #ffffff;
	
}

.skyfol-partner-meta-map svg {
	display: block;
}

.skyfol-partner-meta-phone {
	display: flex;
	align-items: center;
	gap: 10px;
}

.skyfol-partner-meta-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #f3f5f6;
	color: #0f67b1;
}

.skyfol-partner-meta-icon svg {
	display: block;
}

.skyfol-partner-card-actions {
	display: flex;
	width: 100%;
	margin-top: 16px;
}

.skyfol-partner-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 11px 16px;
	border-radius: 14px;
	background: #1477c9;
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none;
}

.skyfol-partner-link:hover,
.skyfol-partner-link:focus-visible {
	background: #0f67b1;
	color: #ffffff;
}

@media (max-width: 960px) {
	.skyfol-partners-map-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 860px) {
	.skyfol-partner-card-body {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.skyfol-partners-map-shell {
		padding: 0 14px;
	}

	.skyfol-partners-map-section {
		margin-top: 32px;
		padding: 18px 0;
	}

	.skyfol-partners-map-visual,
	.skyfol-partners-map-panel {
		padding: 0px;
		border-radius: 22px;
	}

	.skyfol-partner-card-top {
		align-items: flex-start;
	}

	.skyfol-partners-map-panel {
		padding: 15px;
	}

	.skyfol-canton-point-label {
		position: relative;
		z-index: 2;
		min-width: auto;
		padding: 0;
		border-radius: 0;
		font-size: 9px;
		font-weight: 800;
		line-height: 1;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		color: #ffffff;
		background: transparent;
		box-shadow: none;
		pointer-events: none;
		transform: rotate(45deg);
	}

	.skyfol-canton-filter {
	
	gap: 8px;
	padding: 5px 14px;
	color: #111111;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	
}
}