/* ==========================================================================
   Berater-Picker (request/index.twig) — Selected-/Focus-State der Karten.
   Karten sind btn-check-Radios (Input visually-hidden, Label = Card).
   Nur Klassen-/State-Styling; Brand-Token = --bs-primary (#008898).
   ========================================================================== */

.consultant-picker .consultant-card {
	position: relative;
	cursor: pointer;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Ausgewählt */
.consultant-picker .btn-check:checked + .consultant-card {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .2rem rgba(0, 136, 152, .25);
}

/* Tastatur-Fokus sichtbar machen (Input ist visually-hidden) */
.consultant-picker .btn-check:focus-visible + .consultant-card {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 .25rem rgba(0, 136, 152, .35);
}

/* Auswahl-Indikator: Punkt oben rechts (Primary), nur bei Auswahl */
.consultant-picker .btn-check:checked + .consultant-card::after {
	content: "";
	position: absolute;
	top: .5rem;
	inset-inline-end: .5rem;
	width: .9rem;
	height: .9rem;
	border-radius: 50%;
	background-color: var(--bs-primary);
	z-index: 2;
}

/* Name: Grundgewicht 500, bei Auswahl etwas fetter (600) */
.consultant-picker .consultant-name {
	font-weight: 500;
}

.consultant-picker .btn-check:checked + .consultant-card .consultant-name {
	font-weight: 600;
}

/* Kompakte Card: kleiner Avatar + Name (normale Schriftgröße) */
.consultant-avatar-wrap {
	display: inline-block;
	line-height: 0;
}

.consultant-avatar {
	width: 4rem;
	height: 4rem;
}

/* ---- Österreich-Karte (Bonus) ---- */
.consultant-map-shape {
	fill: var(--bs-primary-bg-subtle, #cce7ea);
	stroke: var(--bs-primary);
	stroke-width: 1.5;
	stroke-linejoin: round;
}

/* Marker = Primary-Kreis mit weißer Pfote */
.consultant-marker {
	position: absolute;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 1.9rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--bs-primary);
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	transition: box-shadow .12s ease;
}

.consultant-marker > i {
	display: block;
}

/* Ausgewählter Standort: Ring weiß → primary → weiß um den Marker-Kreis. */
.consultant-marker.is-active {
	z-index: 3;
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--bs-primary), 0 0 0 7px #fff;
}

.consultant-marker:focus-visible {
	outline: 3px solid rgba(0, 136, 152, .45);
	outline-offset: 2px;
	border-radius: 50%;
}

/* ---- Fehlerzustand (leerer Submit, gespiegelt vom Formie-Feld-Fehler) ----
   Toggle .is-invalid an der Picker-Section via consultant-picker.js.
   Picker liegt außerhalb .fui-i → Formies --fui-*-Vars sind hier leer,
   daher --bs-danger (Root) bzw. der feste Label-Fehlerwert #771d1d. */

/* Aufforderungstext = Feld-Label-Fehlerfarbe (--fui-label-error-color).
   !important schlägt die Bootstrap-.text-body-secondary-Utility. */
.consultant-picker.is-invalid .consultant-picker-prompt {
	color: #771d1d !important;
}

/* Karten-Frame: Bootstrap .border-Utility ist !important → hier ebenfalls */
.consultant-picker.is-invalid .consultant-map-frame {
	border-color: var(--bs-danger) !important;
}

/* Alle Personen-Cards. !important für konsistente Überlagerung des
   .card-Rahmens; bei Auswahl entfällt .is-invalid → Selected-/Focus-Primary
   greift wieder. */
.consultant-picker.is-invalid .consultant-card {
	border-color: var(--bs-danger) !important;
}

/* Hinweistext auf Formie-Fehlermeldungs-Größe (~12,25px = 0.875em der
   14px-Feldbasis); Farbe kommt aus der text-danger-Klasse */
.consultant-picker [data-picker-error] {
	font-size: calc(0.875rem * 0.875);
}
