/* Kontakt – klickbare Polenkarte (Neumorphismus, Gold/Creme) */

.rb-map {
	--rbk-dark: #D3C3AE;
	--rbk-light: #FFFFFF;
	--rbk-edge: #E8DBC8;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}
.rb-map > * { min-width: 0; }

.rb-map__card {
	padding: clamp(1.4rem, 3vw, 2.4rem);
	border: 2px solid var(--rbk-edge);
	border-radius: 26px;
	background: var(--rbm-cream);
	box-shadow: 10px 10px 24px var(--rbk-dark), -10px -10px 24px var(--rbk-light);
}
.rb-map__card--map { display: grid; place-items: center; }
.rb-map__card--info { position: sticky; top: 7rem; }

/* Karte */
.rb-map__svg { display: block; width: 100%; height: auto; max-height: 680px; overflow: visible; }
.rb-map__land { cursor: pointer; outline: none; }
.rb-map__land path {
	fill: #E9DCCA;
	stroke: #FBF7F1;
	stroke-width: 7;
	stroke-linejoin: round;
	transition: fill .25s ease, filter .25s ease;
}
@media (hover: hover) { /* hover-only */ .rb-map__land:hover path { fill: #D9B783; } }
.rb-map__land:focus-visible path { fill: #D9B783; stroke: #A6763F; stroke-width: 10; }
/* gewähltes Land: „gedrückt“ wie die goldenen Buttons (Innenschatten). Kein CSS-transform – die Pfade
   haben eigene SVG-transform-Attribute, die sonst überschrieben würden */
.rb-map__land.is-active path {
	fill: url(#rb-map-gold);
	stroke: #F6EBD8;
	filter: url(#rb-map-inset);
}

/* Info-Karte */
.rb-map__eyebrow {
	margin: 0 0 1.2rem;
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	background-image: linear-gradient(100deg, #7E5221 0%, #A6763F 22%, #D4A45E 44%, #B07C3E 60%, #8C5F2C 80%, #B98647 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.rb-map__select { margin-bottom: 1.6rem !important; }

.rb-map__empty { display: grid; justify-items: start; gap: 1rem; color: var(--rbm-text); font-size: .95rem; }
.rb-map__empty[hidden] { display: none; }
.rb-map__empty p { margin: 0; max-width: 24rem; }
.rb-map__pin {
	width: 3.4rem;
	height: 3.4rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--rbm-cream);
	box-shadow: inset 4px 4px 9px #D9CAB6, inset -4px -4px 9px #FFFFFF;
}
.rb-map__pin svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: #A6763F; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.rb-map__agent[hidden] { display: none; }
.rb-map__land-name {
	margin: 0 0 1.2rem;
	font-family: var(--rbm-serif);
	font-weight: 400;
	font-size: clamp(1.7rem, 2.6vw, 2.2rem);
	line-height: 1.1;
	color: var(--rbm-ink);
}
.rb-map__name {
	margin: -.4rem 0 .2rem;
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--rbm-bronze);
}
.rb-map__contact { display: grid; gap: .8rem; }
.rb-map__contact + .rb-map__contact { margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--rbk-edge); }
.rb-map__plz {
	margin: 0;
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--rbm-bronze);
}

/* Kontakt-Buttons (neumorph, Gold) */
.rb-map__btn {
	display: flex;
	align-items: center;
	gap: .9rem;
	padding: .9rem 1.3rem;
	border: 2px solid #C99A5C;
	border-radius: 999px;
	background: #B98647;
	color: #fff;
	font-size: .95rem;
	font-weight: 500;
	text-decoration: none;
	box-shadow: inset 4px 4px 10px #8F6331, inset -4px -4px 10px #E2B577;
	transition: box-shadow .2s ease-in-out;
	overflow-wrap: anywhere;
}
@media (hover: hover) { /* hover-only */ .rb-map__btn:hover,
.rb-map__btn:focus-visible {
	color: #fff;
	outline: none;
	box-shadow: inset 2px 2px 5px #8F6331, inset -2px -2px 5px #E2B577, 2px 2px 5px #8F6331, -2px -2px 5px #E2B577;
} }
.rb-map__btn svg { flex: none; width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rb-map__btn--ghost {
	background: var(--rbm-cream);
	color: var(--rbm-ink);
	border-color: #EFE4D6;
	box-shadow: 5px 5px 12px #D9CAB6, -5px -5px 12px #FFFFFF;
}
.rb-map__btn--ghost svg { stroke: #A6763F; }
@media (hover: hover) { /* hover-only */ .rb-map__btn--ghost:hover,
.rb-map__btn--ghost:focus-visible {
	color: var(--rbm-ink);
	box-shadow: inset 3px 3px 7px #D9CAB6, inset -3px -3px 7px #FFFFFF;
} }

@media (max-width: 900px) {
	.rb-map { grid-template-columns: 1fr; }
	.rb-map__card--info { position: static; order: -1; }
	.rb-map__svg { max-height: 480px; }
}
